jmkite 发表于 2018-5-27 15:28:52

参数传递不到坐标里

本帖最后由 jmkite 于 2018-5-27 15:29 编辑

下面代码,为什么参数SUMLEN传不到坐标里面。
;功能:对象向上平移某对象长度,某对象长度可以单选一个对象的长度,也可以框选多个对象的长度总和。
(defun c:ss (/ CURVE TLEN SS N SUMLEN)
(vl-load-com)
(setq SUMLEN 0)
(prompt "\n请选择某对象长度作为向上平移量!")
(setq SS (ssget ":S" '((0 . "CIRCLE,ELLIPSE,LINE,*POLYLINE,SPLINE,ARC"))))
(setq N 0)
(repeat (sslength SS)
(setq CURVE (vlax-ename->vla-object (ssname SS N)))
(setq TLEN (vlax-curve-getdistatparam
CURVE
(vlax-curve-getendparam CURVE)
)
)
(setq SUMLEN (+ SUMLEN TLEN))
(setq N (1+ N))
)
(prompt "\n请选择平移对象!")
(command ".copy" (ssget ":S") "" "m"'(0 0 0)'(0SUMLEN 0) "")
(princ "\n处理完毕!")
(princ)
)

Andyhon 发表于 2018-5-27 16:44:41

(defun c:ss (/ CURVE TLEN SS N SUMLEN)
(vl-load-com)
(setq SUMLEN 0)

SUMLEN作用为何?

vectra 发表于 2018-5-28 08:22:05

'(0SUMLEN 0)这句改成(list 0SUMLEN 0)
页: [1]
查看完整版本: 参数传递不到坐标里