안녕하세요
자동화설비 설계쪽에서 일하고있습니다.
질문하나 드리겠습니다..
지금현재 블록색상변경리습을 사용중인데요
블록안에있는 치수선,텍스트는 색상이 안바뀌네요
혹시 치수선,텍스트까지 색상이바뀌게 리습 수정해주실분 계실까요??
——————————————이하 리습입니다———————————————————
(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)
그냥해도 치수문자, 텍스트 색깔은 바뀌는데 치수선이 안바뀌네여 그래서 x 로 치수깨고 하니까 색전부 변하네여
치수선을깨서 작업하게되면 나중에 굉장히 불편하게되서
혹시 바꿀수있는방법이있나 여쭤보는거였습니다 ㅠㅠ