明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2539|回复: 4

在CAD里如何实现框选标注面积?程序代码是?

[复制链接]
发表于 2009-6-7 09:50:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2009-6-7 23:32:57 编辑

在CAD里如何实现框选标注面积?程序代码是如何?以下是网上下的程序代码?

(defun c:m2();
;(VL-LOAD-COM)
;(setq AcadObject (vlax-get-acad-object)
;AcadDocument (vla-get-ActiveDocument AcadObject)
;mSpace (vla-get-ModelSpace AcadDocument)
;)
(setq p1 t)
(while p1
(if *error*
;(command "_boundary" (setq p1 (getpoint "点取封闭区域内部的一点:")) "A" "o" "R" "" "")
;(command "_boundary" (setq p1 (getpoint "点取封闭区域内部的一点:")) "Y" "A" "o" "R" "" "")
(command "_boundary" (setq p1 (getpoint "\n点取封闭区域内部的一点:"))  "")
)
(setq EN (entlast))
(command "area" "o" EN)
(setq AA (getvar "area"))
(setq sss (RTOS aa 2 2))
(setq sss (strcat "S=" sss  "平方米"))
;(setq Centriod (vla-get-Centroid (vlax-ename->vla-object EN)))
;(setq x (vlax-safearray-get-element (vlax-variant-value Centriod) 0))
;(setq y (vlax-safearray-get-element (vlax-variant-value Centriod) 1))
  (if (=  ffsize nil)
    (progn
      (setq ffsize 0.5)
      )

发表于 2009-6-7 11:50:00 | 显示全部楼层

如果要选择的数据的书写格式都是:S=3.152M,Y=6.172M,T=64.732M这中形式的话
可把程序中的下一行:
 (setq r1 (atof z))
改成:
 (setq r1 (atof (substr z 3)))
试试。
(即在将字符串转为数字前,先去掉开头的非数字字符)

 楼主| 发表于 2009-6-7 23:38:00 | 显示全部楼层

谢谢二楼大侠指点,改后达到目的,谢谢!可现在我还有个问题是如何框选标注面积,代码是:

(defun c:m2();
;(VL-LOAD-COM)
;(setq AcadObject (vlax-get-acad-object)
;AcadDocument (vla-get-ActiveDocument AcadObject)
;mSpace (vla-get-ModelSpace AcadDocument)
;)
(setq p1 t)
(while p1
(if *error*
;(command "_boundary" (setq p1 (getpoint "点取封闭区域内部的一点:")) "A" "o" "R" "" "")
;(command "_boundary" (setq p1 (getpoint "点取封闭区域内部的一点:")) "Y" "A" "o" "R" "" "")
(command "_boundary" (setq p1 (getpoint "\n点取封闭区域内部的一点:"))  "")
)
(setq EN (entlast))
(command "area" "o" EN)
(setq AA (getvar "area"))
(setq sss (RTOS aa 2 2))
(setq sss (strcat "S=" sss  "平方米"))
;(setq Centriod (vla-get-Centroid (vlax-ename->vla-object EN)))
;(setq x (vlax-safearray-get-element (vlax-variant-value Centriod) 0))
;(setq y (vlax-safearray-get-element (vlax-variant-value Centriod) 1))
  (if (=  ffsize nil)
    (progn
      (setq ffsize 0.5)
      )

发表于 2013-6-16 22:05:45 | 显示全部楼层
我也想知道有没有这么好的程序,期待
发表于 2013-6-18 16:43:01 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-28 11:38 , Processed in 0.169947 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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