明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2654|回复: 7

[提问] 如果填充没有面积属性,会出错

[复制链接]
发表于 2014-8-11 10:22:50 | 显示全部楼层 |阅读模式
本帖最后由 myjping 于 2014-8-11 11:55 编辑


用(vla-get-Area (vlax-ename->vla-object (car(entsel))))获取填充的面积时,如果填充没有面积属性,用这一句时会出错,如何避免呢

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x

点评

图形确实太复杂了  发表于 2014-8-11 13:00
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2014-8-11 11:27:43 | 显示全部楼层
  1. _$ (vlax-property-available-p myCircle 'area)
  2. T

点评

用这个填充也有属性,但就一取就出错了,你试试我上传的文件  发表于 2014-8-11 11:42
发表于 2014-8-11 12:23:27 | 显示全部楼层
试过了,填充本身问题,无法避免,估计只能用出错处理。

点评

飞诗及小菜有选择易里就回避了这一问题  发表于 2014-8-11 12:29
发表于 2014-8-11 12:40:57 | 显示全部楼层
(defun ss-get-area (ent / area)
(if (= (type ent) 'ENAME) (setq ent (ss-en2x ent)))
   (vl-catch-all-apply
        '(lambda () (setq area (vla-get-area ent)))
   )
   area
)
vl-catch-all-apply

点评

谢谢,就是我想要的  发表于 2014-8-11 13:38
发表于 2014-8-11 13:02:40 | 显示全部楼层
Area: 237.6616

点评

大师说说原理  发表于 2014-8-11 13:18
发表于 2014-8-11 13:16:54 | 显示全部楼层
关注,很早以前写程序就碰到一样的问题,貌似边界拉伸得有凹角面积属性就会有问题,等高手解答。
发表于 2014-8-11 13:47:19 | 显示全部楼层
本帖最后由 xyp1964 于 2014-8-11 13:49 编辑

估计对于特别复杂的填充,只能重建边界后,利用region实体进行相关面域增减处理后求得面积。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2014-8-12 09:41:51 | 显示全部楼层
这个填充不知道是怎么来的是不是非acad的hatch生成,重建的边界有个十字形,一般用hatch命令填充不出这样的边界,重建边界填充是会有面积属性的。

点评

其实我是随便画的一个填充,具体做法是填充对象选择时选择个块就可以  发表于 2014-8-12 12:14
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-24 06:15 , Processed in 0.182021 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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