我很困惑,你不能“分解”一条虚线,但你可以用多个线段来代替它,让它看起来像一条直线。
这是一个弧线和弦,但几乎在那里,你需要做每一个第二行,所以需要一个跳过添加到它
- ; converts an arc to a series of straights
- ; Alan H 2011
- (defun c:test (/ oldecho obj div endpt totlen arclen chrdpt dist newpt)
- (vl-load-com)
- (setq oldecho (getvar "cmdecho"))
- (setvar "cmdecho" 0)
- (setq ent (entsel "\nPick arc: ")
- obj (vlax-ename->vla-object (car ent))
- div (getint "\nEnter number of chords: ")
- endpt (vlax-curve-getEndPoint obj)
- totlen (vlax-curve-getDistAtPoint obj endpt)
- arclen (/ totlen div)
- chrdpt (vlax-curve-getPointAtDist obj 0)
- dist 0
- )
- (repeat div
- (setq newpt(vlax-curve-getPointatDist obj (+ arclen dist)))
- (command "line" chrdpt newpt "")
- (setq dist (+ arclen dist))
- (setq chrdpt newpt)
- );repeat
- (setvar "cmdecho" oldecho)
- (princ)
- );defun
|