当前位置:你问我答 >  详情

请教个位前辈一个问题,一个项目很多地块,需要计算表面积

请教个位前辈一个问题,一个项目很多地块,需要计算表面积。但是用cass一个一个计算表面积会很麻烦,有没有批量生成的插件,或者软件呢

全部评论

等级:LV7
积分:130
Xvan 2020-12-15 17:34

(defun c:amjbz (/ AREA_H AREA_WS ERRHAN NEWENTLAST OBJ OBJ_AREA OBJ_I OBJ_NAME OBJ_VLA OLDCMDECHO OLDDELOBJ OLDENTLAST PT)

(command "layer" "M" "面积标注" "C" "7" "" "LT" "CONTINUOUS" "" "")

(vl-load-com)

 (setq obj (ssget '((0 . "*POLYLINE"))))

 (if obj

   (progn

     (setq obj_i -1)

     (setq oldcmdecho (getvar "cmdecho"))

     (setq oldDELOBJ (getvar "DELOBJ"))

     (setvar "cmdecho" 0);_禁止回显

     (setvar "DELOBJ" 0);_控制创建面域保留原对象

     (setq errhan '());_不能创建面域的图元句柄表

     (setq area_ws 4);_面积的小数位数

     (setq area_h 1);_面积文字的高度

     (repeat (sslength obj)

(setq obj_name (ssname obj (setq obj_i (1+ obj_i))));_图元名

(setq obj_vla (vlax-ename->vla-object obj_name));_Vla对象

(if (vlax-curve-isClosed obj_vla);_如果曲线闭合

  (progn

    (setq oldentlast (entlast))

    (command "_region" obj_name "");_创建面域

    (setq newentlast (entlast))

    (if (equal oldentlast newentlast);_如果创建面域不成功

      (progn

 (setq errhan (cons (cdr (assoc 5 (entget obj_name))) errhan))

 )

      (progn

 (setq obj_area (vla-get-Area obj_vla));_面积

 (setq pt (vlax-safearray->list (vlax-variant-value (vla-get-centroid (vlax-ename->vla-object newentlast)))))

 (command "-text" "j" "mc" pt area_h 0 (rtos obj_area 2 area_ws))

 (entdel newentlast)

 )

      )

    )

  )

)

     (if errhan

(progn

(princ "\n没有标注面积的图元句柄列表:\n")

(princ errhan)

)

)

     (setvar "DELOBJ" oldDELOBJ)

     (setvar "cmdecho" oldcmdecho)

   )

 )

 (princ)

)


以上内容复制到记事本里,保存为lsp文件(后缀为lsp)。cad里面输入appload加载,然后命令行输入amjbz运行插件。框选需要标注的图形进行面积标注。

回复 3
等级:LV30
积分:113801
岩柯 2020-10-28 05:46
应该有的
回复 0
等级:LV30
积分:72050
奔跑蜗牛 2020-10-28 07:27
有,需要定制
回复 0
等级:LV30
积分:310
余生共挽 2020-10-28 10:26
信心工具箱可以
回复 0
新手485212嗯嗯,主要要提前准备好三角网也麻烦cass里也只能按范围一个个生成
2020-10-31 22:54:10
等级:LV12
积分:150
新手603100 2020-10-29 12:19
学习
回复 0
等级:LV16
积分:1160
新手560817 2020-10-30 08:26
cass工程应用里面有“计算指定范围的面积”可以一键计算面积
回复 0
1

提交
悬赏回复规则
1、悬赏期为24小时,从发布时间起算;
2、悬赏期内提问者如设置评论为“精选评论”,视为悬赏结束,该精选评论人将获得本题全部悬赏积分;
3、悬赏期内如提问者未设置“精选评论”,则前5位评论者平分悬赏积分(如仅有一位评论,该评论者获得50%悬赏积分);
4、悬赏积分会自动发放到生态圈账户中,请留意站内信通知。
知道了

距离打开宝箱还剩7

是否花费200积分补签?
确认
取消