프로그램
캐드 분류

치수선 색상을 일괄적으로 변경하는 리습을 만들고 싶습니다.

컨텐츠 정보

본문

치수선 색상 변경 리습을 챗gpt를 이용해서 짰는데 가운데 치수선 부분의 색상이 변경되질 않고 에러코드를 출력합니다.

이걸 해결할수 있는 방법이 있는지 도움을 요청드립니다.

(defun c:CDC ( / ss dimObj colorCode i)
;; 사용자로부터 변경할 색상 번호 입력
(setq colorCode (getint “n변경할 색상 번호를 입력하세요 (1~255): “))
(if (and colorCode (>= colorCode 1) (<= colorCode 255)) ; 색상 번호 유효성 검사
(progn
;; 사용자에게 치수 객체 선택 요청
(prompt “n색상을 변경할 치수를 선택하세요.”)
(setq ss (ssget ‘((0 . “DIMENSION”)))) ; 치수 객체만 선택
(if ss
(progn
(setq i 0)
(repeat (sslength ss)
(setq dimObj (vlax-ename->vla-object (ssname ss i)))
;; 치수 객체의 색상 오버라이드 설정
(vla-put-color dimObj colorCode) ; 객체 자체 색상 변경
(vla-put-ExtensionLineColor dimObj colorCode) ; 보조선 색상 변경
(vla-put-TextColor dimObj colorCode) ; 문자 색상 변경
;; DimStyleOverride로 치수선 색상 변경
(vla-put-Override dimObj “DIMCLRD” colorCode)
(setq i (1+ i))
)
(princ “n선택한 치수의 색상이 성공적으로 변경되었습니다.”)
)
(princ “n선택된 치수 객체가 없습니다.”)
)
)
(princ “n유효한 색상 번호를 입력하세요 (1~255).”)
)
(princ)
)

해당 코드로 리습을 만들면 에러코드가 뜨는데
객체 선택: ; 오류: no function definition: VLA-PUT-OVERRIDE
이 문구가 뜨면서 중단이 됩니다.

17455580055831.png

전체 색상을 컬러코드 8번으로 변경하려고 하는데 가운데 치수선만 변경이 되지 않습니다.

관련자료

댓글 8 / 1 페이지

크레타님의 댓글

혹시 지시선(mleader)도 함께 같은 색으로 변경 할 수 있게 가능할까요? 구해주셨는데 보따리 내놓으라고 해서 죄송스럽네요…

캐드플러스님의 댓글

(defun c:CDC ( / ss dimObj colorCode def_colorCode i) ;; 사용자로부터 변경할 색상 번호 입력 (if (= nil def_colorCode) (setq def_colorCode 1)) (if (= (setq colorCode (acad_colordlg def_colorCode)) nil) (setq colorCode def_colorCode) (setq def_colorCode colorCode)) (progn ;; 사용자에게 치수 객체 선택 요청 ;(prompt “n색상을 변경할 치수를 선하세요.”) (setq ss (ssget ‘((0 . “DIMENSION”)))) ;;;;;;;;;;;;; ‘ ” 수정할것. (if ss (progn (setq i 0) (repeat (sslength ss) (setq dimObj (vlax-ename->vla-object (ssname ss i))) ;; 치수 객체의 색상 오버라이드 설정 (vla-put-color dimObj colorCode) ; 객체 자체 색상 변경 (vla-put-ExtensionLineColor dimObj colorCode) ; 보조선 색상 변경 (vla-put-TextColor dimObj colorCode) ; 문자 색상 변경 ;; DimStyleOverride로 치수선 색상 변경 ;(vla-put-Override dimObj “DIMCLRD” colorCode) ;;;; vla-put-Overrid ???????????????????? (setq i (1+ i)) ) ;(princ “n선택한 치수의 색상이 성공적으로 변경되었습니다.”) ) ;(princ “n선택된 치수 객체가 없습니다.”) ) ) ;(princ “n유효한 색상 번호를 입력하세요 (1~255).”) ) (princ) )

크레타님의 댓글

저도 리습 만드는 명령어를 공부한적이 없어서 챗gpt로 원하는 기능을 얘기했떠니 저렇게 코드를 주더라구요. 데이터가 없어서 그런지 lisp 명령어를 제대로 인식을 못하는듯 합니다.

전체 4 / 1 페이지
RSS
번호
제목
이름

최근글


새댓글


알림 0