明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1351|回复: 0

[经验] 有关多义线的快速运算

[复制链接]
发表于 2013-11-22 15:22 | 显示全部楼层 |阅读模式
(setq PL (entget (car (entsel))))
(if (= (cdr (assoc 0 PL)) "LWPOLYLINE")
(progn
(setq Pts (vl-remove nil (mapcar '(lambda(Item) (if (= (car Item) 10) (cdr Item))) PL)));;返回多义线的所有顶点
(setq Conv (vl-remove nil (mapcar '(lambda(Item) (if (= (car Item) 42) (cdr Item))) PL)));;返回多义线的所有凸度

(setq ChoAng nil PrePt (last Pts) Tmp (append Pts (list (car Pts))));;回环,并置前驱点为最末点
(while (setq SeqPt (cadr Tmp))  (setq  ChoAng (append ChoAng (list (- (angle (car Tmp) SeqPt) (angle CurPt PrePt)))) PrePt (car Tmp) Tmp (cdr Tmp)));;求所有弦夹角
(setq ChoLen nil Tmp (append Pts (list (car Pts))));;回环,以便求所有弦长
(While Tmp (setq Pt (car Tmp) Tmp (cdr Tmp) ChoLen (append ChoLen (list (distance Pt (car Tmp))))));;求所有线段的弦长
);;progn
);;if

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-17 18:40 , Processed in 0.159595 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表