szx025 发表于 2023-10-10 09:54:18

坐标点连接成一个封闭线框

(setq m (length ns))
(setq b 0 c 1)
(command "pline")
(repeat m
(setq p3 (nth b ns) p4(nth c ns))
(if (= p4 nil)
    (setq p4 (car ns));如果结束点没有了,就把开始点赋值给结束点,让边线封闭
)
    (commandp3 p4 )
(setq b (+ b 1) c (+ c 1))
)
(command "")
NS是坐标点列表,此程序是把这些点顺次用PLINE线连接成一个封闭线框,这个应该是最原始的写法,不知还有没有更好的写法

mahuan1279 发表于 2023-10-10 10:12:03

(apply 'command (cons "pline" (reverse (cons "c" (reverse pts)))))

Dea25 发表于 2023-10-10 10:43:38

本帖最后由 Dea25 于 2023-10-10 18:18 编辑

(defun emLW(pts flags / ent pt);;pts=坐标列表,flags=1闭合,0不闭合;;By:Dea25
(entmakex (append (list '(0 . "LWPOLYLINE") '(100 . "AcDbEntity") '(100 . "AcDbPolyline")(cons 90 (length pts)) (cons 70 flags) ) (mapcar '(lambda (pt)(cons 10 pt)) pts )) )
)

感谢,llsheng_73兄指点,:handshake

llsheng_73 发表于 2023-10-10 11:26:59

Dea25 发表于 2023-10-10 10:43
(defun emLW(pts flags / ent pt);;pts=坐标列表,flags=1闭合,0不闭合;;By:Dea25
(entmake (append (list ...

entmakex了解下

leedun 发表于 2024-1-28 19:15:49

新手不知道代码怎么用,请指教
页: [1]
查看完整版本: 坐标点连接成一个封闭线框