我想沿着二维多段线移动一个甜甜圈,这就是我现在拥有的,也许有人会给我展示一个更好的方法。
- (defun c:an ( / ss en edxf p1 pas i data0 data pin pf )
- (setq ss (ssget "_:S" '((0 . "*LINE"))))
- (setq
- en (ssname ss 0)
- edxf (entget en)
- p1 (cdr (assoc 10 edxf))
- ) ;_ end of setq
- (setq pas 1)
- (setq i 0)
- (COMMAND "donut" 0.001 10 p1 "")
- (setq data0 (strcase (menucmd "M=$(edtime,$(getvar,date),SS)")))
- (while (<
- (setq data (atof(strcase (menucmd "M=$(edtime,$(getvar,date),SS)"))))
- (+ (atof data0) )
- (setq data (atof(strcase (menucmd "M=$(edtime,$(getvar,date),SS)"))))
- (progn
- (setq pin (vlax-curve-getPointAtDist en (* i pas)))
- (setq pf (vlax-curve-getPointAtDist en (* (+ 1 i) pas)))
- (command "move" (entlast) "" pin pf)
- (setq i (1+ i))
- )
- )
- (princ)
- )
|