캐드 분류
다중 옵셋 명령 리습입니다. 동일레이어로 생성되는것을 신규레이어로 추가 입력가능한가요
컨텐츠 정보
- 226 조회
- 6 댓글
- 0 추천
- 0 비추천
- 목록
본문
여기에 동일레이어로 생성되는것은 다른 레이어로(레이어명 입력) 생성되게 하거나
레이어가 힘들면
offset 되기전것은 지원지고 새로 생성된 그림들만 남아도 됩니다.
사용중인 리습은 실행하고 나서 기존 그림들은 삭제해줘야 하기 때문입니다.
해결방법이 있으면 조언 부탁드립니다.
또 한가지는 옵셋의 방향이 내측으로만 됩니다.
바깥쪽으로는 안됩니다.
(defun c:mOff (/ ss tmp safe lst)
(vl-load-com)
(or *moff (setq *moff 10.0))
(setq doc (vla-get-ActiveDocument
(vlax-get-acad-object)))
(if (setq ss (ssget '((0 . "ARC,CIRCLE,ELLIPSE,*LINE"))))
(progn
(initget 6)
(and (setq tmp (getdist (strcat "nSpecify Offset <" (vl-princ-to-string *moff) "> : ")))
(setq *moff tmp))
(vla-StartUndoMark doc)
(foreach var (mapcar (function (lambda (x) (vla-offset x *moff)))
(mapcar 'vlax-ename->vla-object
(vl-remove-if 'listp (mapcar 'cadr (ssnamex ss)))))
(cond ((<= 0 (vlax-safearray-get-u-bound
(setq safe (vlax-variant-value var)) 1))
(setq lst (cons (vlax-safearray->list safe) lst)))))
(foreach Obj (setq lst (apply 'append lst))
(if (vl-some
(function
(lambda (x)
(vlax-invoke obj 'IntersectWith x acExtendNone)))
(vl-remove Obj lst))
(vla-put-color Obj acred)))
(vla-EndUndoMark doc)))
(princ))
관련자료
댓글 6
/ 1 페이지
CATS_Developer님의 댓글
혹시 이 기능이 맞나요? ㅎㅎ
CATS_Developer님의 댓글
제가 리습은 잘 몰라서 이해를 못했었네요.
오늘 내일 중으로 해당 기능에 대해 개발해서 공유해볼게요 …