(defun c:Y( / sl-mapcar-ens ss)
(defun sl-mapcar-ens (func ss) (mapcar func (vl-remove-if ‘listp (mapcar ‘cadr (ssnamex ss)))))
(princ “n선 양끝 남기기”)
(and
(setq ss (ssget ‘((0 . “LINE”))))
(or *dis* (setq *dis* 50))
(setq *dis* (cond ((getdist (strcat “n남길 길이 입력 <” (vl-princ-to-string *dis*) “>:”))) (*dis*)))
(or *offs* (setq *offs* 2))
(setq *offs* (cond ((getdist (strcat “n띄울 간격 입력 <” (vl-princ-to-string *offs*) “>:”))) (*offs*)))
(sl-mapcar-ens
‘(lambda (en / ent1 len ep nen ent2 sp)
(setq ent1 (entget en) len (vlax-curve-getdistatparam en (vlax-curve-getendparam en)))
(if (> len *dis*)
(progn
(setq ep (vlax-curve-getpointatdist en *dis*) sp (vlax-curve-getpointatdist en (- len *dis*)))
(setq nen (entmakex (vl-remove ‘(lambda (-1 5)) (entget en))) ent2 (entget nen))
(setq ent1 (subst (cons 10 (polar sp (angle sp ep) *offs*)) (assoc 10 ent1) ent1))
(entmod (subst (cons 11 (polar (cdr (assoc 11 ent1)) (angle sp ep) *offs*)) (assoc 11 ent1) ent1))
(setq ent2 (subst (cons 11 (polar ep (angle ep sp) *offs*)) (assoc 11 ent2) ent2))
(entmod (subst (cons 10 (polar (cdr (assoc 10 ent2)) (angle ep sp) *offs*)) (assoc 10 ent2) ent2))
)
(princ “n입력한 길이보다 선이 짧습니다.”)
)
)
ss
)
)
(princ)
)
=====================================================================================================================
(defun c:YY( / sl-mapcar-ens ss)
(defun sl-mapcar-ens (func ss) (mapcar func (vl-remove-if ‘listp (mapcar ‘cadr (ssnamex ss)))))
(princ “n선 양끝 남기기”)
(and
(setq ss (ssget ‘((0 . “LINE”))))
(or *dis* (setq *dis* 20))
(setq *dis* (cond ((getdist (strcat “n남길 길이 입력 <” (vl-princ-to-string *dis*) “>:”))) (*dis*)))
(sl-mapcar-ens
‘(lambda (en / ent1 len ep ent2 sp)
(setq ent1 (entget en) len (vlax-curve-getdistatparam en (vlax-curve-getendparam en)))
(if (> len *dis*)
(progn
(setq ep (vlax-curve-getpointatdist en *dis*) sp (vlax-curve-getpointatdist en (- len *dis*)))
(setq nen (entmakex (vl-remove ‘(lambda (-1 5)) (entget en))) ent2 (entget nen))
(entmod (subst (cons 10 sp) (assoc 10 ent1) ent1))
(entmod (subst (cons 11 ep) (assoc 11 ent2) ent2))
)
(princ “n입력한 길이보다 선이 짧습니다.”)
)
)
ss
)
)
(princ)
)
현재 사용중인 리습입니다.
현 리습에서 색상넘버 “1” 빨간색
으로 자동으로 변경되게 수정하고 싶습니다.
도움 부탁드립니다.