菜鸟求教 关于entmake 多段线
(entmake (append (list '(0 . "LWPOLYLINE")'(100 . "AcDbEntity")
'(100 . "AcDbPolyline")
(cons 90 (length lst))
)
(mapcar '(lambda (pt) (cons 10 pt)) lst)
)
)
上面几行函数 最后两行不太理解,求解释一下
上面的函数其中 pt lst 是不是参数?
lst 是点表?
pt 应该是 什么参数?
求大神给个例子,或者小小解释一下 本帖最后由 819534890 于 2014-3-21 11:14 编辑
lst是点表,是多段线的各个顶点;
pt是lst里面的每一个点,是lambda的参数而已,改为其他参数也行。
例如:
(setq lst '((0 0) (1 1) (2 1) (1 3)))
(entmake (append (list '(0 . "LWPOLYLINE")
'(100 . "AcDbEntity")
'(100 . "AcDbPolyline")
(cons 90 (length lst))
)
(mapcar '(lambda (pt) (cons 10 pt)) lst)
)
)
;在 ‘((0 0) (1 1) (2 1) (1 3)) 四个点生成一条多段线; 本帖最后由 自贡黄明儒 于 2014-3-21 11:12 编辑
pt是lambda函数的实参,同你定义的其它函数一样。
lst是点组成的列表,如(setq lst(list(getpoint) (getpoint) (getpoint))) 谢谢 两位大神了 ;; 普通方法
(defun MakePl (ptn / pt)
(command "pline")
(foreach pt ptn (command "non" pt))
(command "")
)
页:
[1]