linzaijie 发表于 2025-5-13 14:11:13

用点选方式计算面积

类似填充功能一样,在中间点一点..计算周边的面积,,,如果周边不是封闭的,提示计算失败...求实现思路

qazxswk 发表于 2025-5-13 15:40:12

或以在闭合区域使用BOUNDARY命令,生成边界线,然后再获取边界线的面积与周长。另外如果是高版本,也可以在闭合区域填充,然后获取填充图案面积与周长。

kozmosovia 发表于 2025-5-13 14:39:42

设hpgap大点,做填充提取面积

你有种再说一遍 发表于 2025-5-13 15:43:45

扫描线算法,不是那么容易实现的

chen3732088 发表于 2025-5-13 16:17:38

(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)
)


linzaijie 发表于 2025-5-13 16:17:54

谢谢各位大佬的宝贵意见...我一个个试试...

183017064 发表于 2025-5-14 08:43:55

求体积,重量(质量)
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=192655&fromuid=7333152
(出处: 明经CAD社区)

qwsss31 发表于 2025-5-14 17:59:33

厉害厉害,点赞plus
页: [1]
查看完整版本: 用点选方式计算面积