再见熊猫衣服 发表于 2018-9-6 19:57:15

将填充面积显示到填充图案


网上的很多插件,我测试过了,都只能计算正常填充图案的面积。异形填充图案的面积就无法计算了。
但是新版CAD,在图元的特性里面,已经可以显示面积了。
但是要查看这个图案的面积依旧比较麻烦,需要点选这个图案,然后打开特性,才能看到。
所以,我想也没用高手做一个插件,可以达到的效果:
1,将填充图案的面积,(面积不用插件来计算,可以直接提取特性里面的面积),
显示到该填充图案的中心点上。
2,面积保留两位小数,数字高度300,面积单位按平方米来计算,也就是面积除以1000000
——

——
这个lsp完全可以达到要求,但是唯一缺憾就是不能计算异性的面积,比如环形,内部确实的图形。供参考。

骑着蜗牛旅行666 发表于 2022-6-30 09:52:02


(defun c:TAT(/ ss tarea obj k l ename )
   (setvar "cmdecho" 0)
   (if (setq ss (ssget))
   (progn
       (vl-load-com)
       (setq l (sslength ss) k 0 tarea 0 )
       (repeat l
         (setq ename (ssname ss k))
         (setq obj (vlax-ename->vla-object ename))
         (if (vlax-property-available-p obj "area")
         (setq tarea (+ (vlax-get-property obj 'area) tarea))
         )
         (setq k (1+ k))
       )
       (setq tarea (/ tarea 1000000))
       (princ (strcat "\n共选择 " (itoa l) " 个对象 | 总面积: " (rtos tarea 2 2) "平方米 "))
       (command "text" (getpoint "\n选取文字插入点") """" (rtos tarea 2 2))
   )
   (princ "\n未选择对象")
   )
   (setvar "cmdecho" 1)
   (prin1)
)

再见熊猫衣服 发表于 2018-9-7 11:34:03

有没有高手能帮忙编写一个插件啊。
1,将填充图案的面积,(面积不用插件来计算,可以直接提取特性里面的面积),
显示到该填充图案的中心点上。
2,面积保留两位小数,数字高度300,面积单位按平方米来计算,也就是面积除以1000000
——

zs2002zs 发表于 2018-9-7 16:12:35

直接从特性里提取面积就可以了,还要怎么做

bai2000 发表于 2018-9-9 10:22:37

我也想知道

liunian0524 发表于 2018-9-9 16:47:35

找个计算封闭图形面积插件 填充先找到填充边界

young-yi 发表于 2018-9-10 07:23:51

我也想知道

my_autocad 发表于 2022-6-28 16:02:18

支持楼主的想法,如果改进了的话,我愿意付费,这个对于算量来说,很有帮助

bai2000 发表于 2022-6-30 10:15:49

怎么能批量标注呢?

技术工作室 发表于 2022-9-30 21:01:57

支持一下
页: [1]
查看完整版本: 将填充面积显示到填充图案