비밀번호를 잊으셨나요?

비밀번호를 잊으셨나요? 비밀번호를 재설정하려면 이메일 주소를 입력해주세요.

계정이 있나요? 로그인

You must login to ask a question.

비밀번호를 잊으셨나요?

아직 계정이 없으신가요? 회원가입 하기

해당 질문을 신고하는 이유를 간단히 입력해주세요.

해당 답변을 신고하는 이유를 간단히 입력해주세요.

해당 유저를 신고하는 이유를 간단히 입력해주세요.

로그인회원가입

고캐드 – 캐드(CAD) 정보의 중심

고캐드 – 캐드(CAD) 정보의 중심 Logo 고캐드 – 캐드(CAD) 정보의 중심 Logo

고캐드 – 캐드(CAD) 정보의 중심 Navigation

  • Q&A
    • AutoCAD & CADian
    • Inventor & Solidworks
    • Revit & ArchiCAD
    • 자유질문
    • 기타
  • 커뮤니티
    • 오늘의이슈
    • 자유게시판
    • 익명게시판
    • 건의게시판
  • 자료실
    • 자료요청
    • 일반파일
    • 도면샘플
    • 유틸리티
    • 기타
  • 작품 갤러리
    • 그래픽
    • 캐드도면
    • 3D모델
    • 기타
  • 뉴스&이벤트
    • 공지사항
    • 뉴스
    • 전시/행사
    • 이벤트
    • 기타
검색
질문하기

Mobile menu

닫기
질문하기
  • 홈
  • 카테고리
    • AutoCAD & CADian
    • Inventor & Solidworks
    • Revit & ArchiCAD
    • 자유질문
    • 기타
  • 투표
  • 커뮤니티 그룹
  • Q&A
    • AutoCAD & CADian
    • Inventor & Solidworks
    • Revit & ArchiCAD
    • 자유질문
    • 기타
  • 커뮤니티
    • 오늘의이슈
    • 자유게시판
    • 익명게시판
    • 건의게시판
  • 자료실
    • 자료요청
    • 일반파일
    • 도면샘플
    • 유틸리티
    • 기타
  • 작품 갤러리
    • 그래픽
    • 캐드도면
    • 3D모델
    • 기타
  • 뉴스&이벤트
    • 공지사항
    • 뉴스
    • 전시/행사
    • 이벤트
    • 기타
홈/ 질문/Q 109725
다음
진행 중
Lv.0
등록일: 2018-04-172018-04-17T14:21:14+09:00 2018-04-17T14:21:14+09:00카테고리: AutoCAD & CADian

블럭의 레이어를 변경하는 리습

제가 아레어 첨부한 리습은 블럭의 색상을 변경해주는 리습입니다.
이를 수정하여 블럭의 레이어를 변경해주는 리습을 만들고 싶었으나 리습에 대해 하나도 모르는지라…

고수님들 도와주세요.

(defun c:bcol ( / oDocument BlockNameList )
  (vl-load-com)
  (setq oDocument (vla-get-activedocument (vlax-get-acad-object)))
  (setq BlockNameList nil)


 (and
  (setq Sset (ssget (list (cons 0 “INSERT”))))
  (setq col (strcase (getstring “n>> 색상 번호를 입력하세요 ? : “)))


  (foreach item (mapcar ‘(lambda(x) (cdr (assoc 2 (entget x)))) (vl-remove-if ‘listp (mapcar ‘cadr (ssnamex Sset))))
  (if (not (member item BlockNameList)) (setq BlockNameList (cons item BlockNameList)))
  )
 ) ;and
 
  (foreach BlockName BlockNameList (change:colorinblock oDocument BlockName col)) ;col 색
  (vla-regen oDocument acallviewports)
  (princ)
) ; defun


;==============================================


(defun change:colorinblock ( Document BlockName Color )
  (vl-load-com)
  (vlax-for item (vla-item (vla-get-blocks Document) BlockName)
  (vla-put-color item Color)
  (if (eq (vla-get-objectname item) “AcDbBlockReference”)
  (change:colorinblock Document (vla-get-name item) Color)
  ) ;if
  )
) ; defun

  • 0
  • 6 6 답변
  • 124 조회
공유
  • Facebook

    관련 있는 질문들

    • 오토리습 open함수 질문
    • 3D 작업중 화면이동시 좌표계가 계속 돌아감
    • 선배님들 덕트 엘보 작성 리습좀 봐주세요
    • 캐드 파일을 PDF로 변환 할 때 문제점 도와주세요 ㅠ

    6 답변

    • 작성 순
    • 최신 순
    • 공감 순
    1. aalan
    2. [Deleted User]
      2018-04-17T15:01:45+09:00답변 등록 답변 등록 일시 2018-04-17 3:01 pm

      (defun c:r2 ( / s n ss l :Adoc :Blocks :Layers)
          (vl-load-com)
       (while (not (setq s (entsel “n레이어를 참조할 객체 선택: “))))
       (and
        s
        (setq n (cdr (assoc 8 (entget (car s)))))
        (progn
         (princ “n레이어를 바꿀 블럭을 선택: “)
         (or
          (setq ss (ssget ‘((0 . “insert”))))
          (alert “선택한 블럭이 없습니다!   “)
         )
        )
        (progn
         (setq l
          (mapcar
           ‘(lambda (e) (cdr (assoc 2 (entget e))))
           (vl-remove-if ‘listp (mapcar ‘cadr (ssnamex ss)))
          )
          :Adoc (vla-get-activedocument (vlax-get-acad-object))
          :Blocks (vlax-get :Adoc ‘Blocks)
          :Layers (vlax-get :Adoc ‘Layers)
         )
         (and (eq 8 (logand 8 (getvar ‘undoctl))) (vla-endundomark :Adoc))
         (vla-startundomark :Adoc)
         (vlax-for block :Blocks
          (if (vl-position (vla-get-name block) l)
           (vlax-for o block
            (if (= (vlax-get o ‘color) 256)
             (vlax-put o ‘Color (vlax-get (vla-item :Layers (vlax-get o ‘Layer)) ‘Color))
            )
            (vlax-put o ‘Layer n)
           )
          )
         )
         (and (eq 8 (logand 8 (getvar ‘undoctl))) (vla-endundomark :Adoc))
         (vla-regen :Adoc 1)
         (mapcar ‘vlax-release-object (list :Adoc :Blocks :Layers))
        )
       )
       (princ)
      )

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    3. [Deleted User]
      2018-04-17T15:02:46+09:00답변 등록 답변 등록 일시 2018-04-17 3:02 pm

      바꿀레이어를 도면상에서 한면 찍어주고 바꿀블럭을 클릭하면 됩니다.
      블럭안에 블럭은 속 레이어 변경 안됩니다.

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    4. [Deleted User]
      2018-04-17T15:31:17+09:00답변 등록 답변 등록 일시 2018-04-17 3:31 pm

      와! 너무 감사합니다. 잘 사용하겠습니다.
      그런데 사용을 해보니 색은 기존의 색을 따라가더라고요.
      혹시 ByLayer로도 변경할 수 있나요?

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    5. 헐 초보 Lv.0
      2018-08-07T16:18:48+09:00답변 등록 답변 등록 일시 2018-08-07 4:18 pm

      우와 이런것도 수정하시나요? 대단하시네요
      저도 캐드 좀 했다고 생각했는데 이건 뭐 구멍가게랑 마트 수준이네요

      위에 쓰신 글이 뭔지도 모르고 그냥 감탄만 하고 갑니다.

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    6. [Deleted User]
      2018-09-04T17:55:25+09:00답변 등록 답변 등록 일시 2018-09-04 5:55 pm

      -.블럭 잡는것은 문제가 아닌데 일정 블럭 한개를 깨지 않고 bylayer(도면층별), bylayer(도면층별) 할수 있는 방법은 없을까 해서요^^
      -.현재는 블럭을 깨서 bylayer(도면층별) 하고, 또는 블럭 색상을 바꾸고 싶으면 또 깨서 byblock(블럭별)
      일일이 바꾸면서 블럭을 잡고 있습니다.
      -.블럭 잡는것은 문제가 아닌데 일정 블럭 한개를 깨지 않고 bylayer(도면층별), bylayer(도면층별) 할수 있는 방법은 없을까 해서요^^

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    7. 리네리 Lv.0
      2019-07-17T15:32:58+09:00답변 등록 답변 등록 일시 2019-07-17 3:32 pm

      안녕하세요!! 덕분에 좋은 리습을 찾아 너무 감사합니다.

      한가지 문의사항이 있는데요. 지금 이 글 아래에도 달려 있는데.
      블럭내 레이어는 다 문제 없이 바뀌었는데요. 기존 색상을 그대로 유지 하더라구요.
      블럭내 레이어 바꾸면 전부 by Layer로 바꿀수는 없는지 문의 드립니다. 
      오래된 글이라 답변이 달릴런지 모르겠지만 혹시나 하는 마음에 달아봅니다.
      감사합니다.
      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter

    Sidebar

    질문하기
    공지사항

    • AI CAD의 미래! 캐디안 2025 1+1 프로모션 안내 2025-05-14

    Adv 234x60

    aalan

    Adv 234x60

    aalan

    Adv 120x600

    aalan

    Explore

    • 홈
    • 카테고리
      • AutoCAD & CADian
      • Inventor & Solidworks
      • Revit & ArchiCAD
      • 자유질문
      • 기타
    • 투표
    • 커뮤니티 그룹
    aalan

    Footer

    Support

    • 회사 및 서비스 소개
    • 자주 묻는 질문
    • 문의하기

    Guide

    • 제휴/협업 안내
    • 광고 서비스 안내

    Policy

    • 서비스 이용약관
    • 개인정보 처리방침
    • 광고성 정보 수신 동의

    Contents

    • 고밍스토리
    • 리습 시리즈

    정소프트 | 사업자등록번호 : 677-40-00198 | 대표 : 정은숙 | 이메일 : gocad.manager@gmail.com
    주소 : 서울특별시 강서구 양천로 400-12, 6층 614,615,617호(등촌동, 더리브골드타워)
    Copyright. 2012-2024 GOCAD All rights reserved