———————————————————————- 글 다시올립니다..
안녕하세요
자동화설비 설계쪽에서 일하고있습니다.
질문하나 드리겠습니다..
지금현재 블록색상변경리습을 사용중인데요
블록안에있는 치수선,텍스트는 색상이 안바뀌네요
혹시 치수선,텍스트까지 색상이바뀌게 리습 수정해주실분 계실까요??
부탁드립니다..
——————————————이하 리습입니다———————————————————
(defun c:bbc ( / oDocument change:colorinblock Sset objList ci)
(setq oDocument (vla-get-activedocument (vlax-get-acad-object)))
(defun change:colorinblock ( BlockName Color oDocument )
(vlax-for obj (vla-item (vla-get-blocks oDocument) BlockName)
(vla-put-color obj Color)
(if (eq (vla-get-objectname obj) “AcDbBlockReference”)
(progn
(foreach Att (vlax-invoke obj ‘getattributes) (vla-put-color Att Color))
(change:colorinblock (vla-get-name obj) Color oDocument)
)
)
)
)
(vla-startundomark oDocument)
(and
(setq ci (getint “n바꿀 색상을 입력하세요 … : “))
(princ (strcat “n선택한 객체의 색상을” (itoa ci) ” 번으로 변경합니다 …”))
(setq Sset (ssget))
(setq objList (mapcar ‘vlax-ename->vla-object (vl-remove-if ‘listp (mapcar ‘cadr (ssnamex Sset)))))
(foreach obj objList
(vla-put-color obj ci)
(if (eq (vla-get-objectname obj) “AcDbBlockReference”)
(progn
(foreach Att (vlax-invoke obj ‘getattributes) (vla-put-color Att ci))
(change:colorinblock (vla-get-name obj) ci oDocument)
)
)
(if (eq (cdr (assoc 0 (entget (vlax-vla-object->ename obj)))) “DIMENSION”)
(progn
(vl-catch-all-apply ‘vla-put-textcolor (list obj ci))
(vl-catch-all-apply ‘vla-put-dimensionlinecolor (list obj ci))
(vl-catch-all-apply ‘vla-put-extensionlinecolor (list obj ci))
)
)
)
)
(vla-endundomark oDocument)
(princ)
)
(vl-load-com)
회사 보안정책상 인터넷에 첨부파일을 올릴수가 없게되있어서 올리지못합니다..ㅜㅜ
그부분은 양해부탁드립니다
지금 회사에서사용하고있는 치수설정으로는 변경이 되지않는데요..
혹시 치수선색상을 bylayer로 설정하시고 테스트하셨나요???
혹시 이메일이라도 남겨주실수 있으시면
메일로 도면파일 보내드리겠습니다..
치수가 블록안에 들어가있으면 색상변경이 안되더라구요..
블록 안에 몇겹의 블록이 있던, 선들은 전부 다 색상이 바뀌는데 치수선만 안바뀌는상황입니다..
구글검색도 많이해보았는데 잘안나오더군요..
혹시 어떠한 키워드로 검색했는지 여쭤봐도되겠습니까??
손수 직접 찾아주시다니 감사합니다..
제가 한번 사용해봤으나,
blcc 명령어 사용시 치수가 안바뀌고..
encc 명령어 사용시 블록속 선하나씩 선택하면 색상이 바뀌긴하지만 너무 비효율적인거 같더군요..
검색팁을 주셨으니 제가 한번 찾아보도록하겠습니다
감사합니다 상큼메론님