1.사양 인텔 g620 메모리4기가 내장그래픽 2. acad7 2002 14 3.xp 32비트 4.프로그램 드림초보 드림캐드
언제나 도움받고 있어서 감사드립니다.
샘플박스 만들때 필요해서 그러는데
1-가로선을 양쪽 짜르고(x) 점선갯수(y)와 치수(z)를 지정하는게 필요합니다.
양쪽짜른후 점선은 양쪽이 남고 중간에 한 두개 들어갑니다.
2. 가로선이나 세로선을 그으면 십자선 중간에 브레이크가 들어가는 리습이에요.
세로선 긋고 칼을 끊는 부분을 표시하는 거라서 ~~
참고 리습
Kor_Storm
공유
(vl-load-com)
(prompt “n 양쪽 늘이기 [ bst ]”)
(setq ss (ssget (list (cons 0 “LINE”))))
(setvar “orthomode” 1)
(setq dist (getdist “n ≫ Input the stretch length : “))
(setq index 0)
(repeat (sslength ss)
(setq e (ssname ss index))
(setq obj (vlax-ename->vla-object e))
(setq oldspt (vlax-get obj ‘startpoint))
(setq oldept (vlax-get obj ‘endpoint))
(setq newspt (polar oldspt (angle oldept oldspt) dist))
(setq newept (polar oldept (angle oldspt oldept) dist))
(vlax-put obj ‘startpoint newspt)
(vlax-put obj ‘endpoint newept)
(setq index (1+ index))
)
(princ)
)
(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)
)