用点选方式计算面积
类似填充功能一样,在中间点一点..计算周边的面积,,,如果周边不是封闭的,提示计算失败...求实现思路或以在闭合区域使用BOUNDARY命令,生成边界线,然后再获取边界线的面积与周长。另外如果是高版本,也可以在闭合区域填充,然后获取填充图案面积与周长。 设hpgap大点,做填充提取面积 扫描线算法,不是那么容易实现的 (vl-load-com)
(defun c:BBM ()
(setvar "cmdecho" 0)
(if (setq pt (getpoint "\n选择封闭区域内部点: "))
(progn
(setq ent (entlast))
(command "BOUNDARY" "_non" pt "")
(if (not (equal ent (entlast)))
(progn
(setq boundary1 (entlast))
(setq area1 (vlax-ename->vla-object boundary1))
(setq area(vla-get-area area1))
(entdel boundary1)
(princ
(strcat "\n面积为: " (rtos area 2 2) "mm^3")
)
)
(alert "\n边界未闭合!")
)
)
(alert "\n未选择点!")
)
(setvar "cmdecho" 1)
(princ)
)
谢谢各位大佬的宝贵意见...我一个个试试... 求体积,重量(质量)
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=192655&fromuid=7333152
(出处: 明经CAD社区)
厉害厉害,点赞plus
页:
[1]