明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2664|回复: 9

[LISP]有自动标注闭合多边形面积的程序吗

[复制链接]
发表于 2005-8-9 20:12 | 显示全部楼层 |阅读模式

有自动标注闭合多边形面积的程序吗

谢了!

发表于 2005-8-9 23:53 | 显示全部楼层
LabelRoom2005 at http://www.ikozmos.com
发表于 2005-8-10 10:14 | 显示全部楼层
(defun c:mj()
(setvar "cmdecho" 0)
(setq pt (getpoint "\n 选取点:"))
(while pt
(setvar "cecolor" "1")
(command "bpoly" pt "")
(setq en (entlast))
(if (/= en nil)
(progn
(command "area" "o" en)
(setq aa (getvar "area"))
(redraw en 3)
(setq aa (/ aa 25))
(command "text" pt 3 0 (rtos aa 2 3))
))
(entdel en )
(setvar "cecolor" "bylayer")
(setq pt (getpoint "\n 选取点:"))
)
  (prin1)
  )
 楼主| 发表于 2005-8-10 10:43 | 显示全部楼层

xiexie!!!

 

 楼主| 发表于 2005-8-17 13:12 | 显示全部楼层
这根本就不是多边形的面积呀!!!
 楼主| 发表于 2005-8-17 16:35 | 显示全部楼层
为什么用三楼的程序标注的面积和图形实际面积差距那么大呢?
发表于 2005-8-17 18:03 | 显示全部楼层

三楼给的程序用于用于标注封闭区域面积的程序,如果你的多边形内还有其它图形,标出的面积肯定不对。另一种情况是你所选的点周围没有封闭,那么用"bpoly"生成边界失败,而用(entlast)得到的对象面积与预期对象的面积是两回事。

 楼主| 发表于 2005-8-18 10:01 | 显示全部楼层

这位大哥,虽然我是LISP初学者,我觉得你说得有点问题。

我认为在以上程序中,只要删除(setq aa (/ aa 25)就可以了。

发表于 2005-8-19 13:13 | 显示全部楼层

我自己写的程序,在中国模具论坛二次开发版块里也有源代码,我发表的。lantumold

这里给一个LISP源文件。可以使用的。

发表于 2005-8-19 16:22 | 显示全部楼层
LabelRoom2005怎么用呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-22 07:01 , Processed in 0.202894 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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