明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 729|回复: 4

[提问] vla-get-area获取填充图案的面积,为什么会自动退出?

[复制链接]
发表于 2019-4-5 17:36 | 显示全部楼层 |阅读模式
vla-get-area获取填充图案的面积时,当填充没有面积时会自动退出程序,如何才能让其返回nil,程序接着执行后面的语句?
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2019-4-6 10:14 | 显示全部楼层
(setq mj (vl-catch-all-apply 'vla-get-area (list obj)))
(if (vl-catch-all-error-p mj)
    (setq mj nil)
)
 楼主| 发表于 2019-4-6 17:04 | 显示全部楼层
yshf 发表于 2019-4-6 10:14
(setq mj (vl-catch-all-apply 'vla-get-area (list obj)))
(if (vl-catch-all-error-p mj)
    (setq mj ...

按你的方法试了下,不行哦。
发表于 2019-4-6 23:23 | 显示全部楼层
(defun c:test()
   (vl-load-com)
   (while (setq ssa (ssget ":S" '((0 . "HATCH"))))
        (setq obj (vlax-ename->vla-object (ssname ssa 0)))
        (setq mj (vl-catch-all-apply 'vla-get-area (list obj)))
        (if (vl-catch-all-error-p mj)
            (setq mj nil)
        )
        (if (/= mj nil)
            (princ (strcat "\n所选取填充的面积=" (rtos mj 2 3)))
            (princ "\n所选取填充不具有面积属性" )
       )
   )
   (princ)
)
 楼主| 发表于 2019-4-8 12:36 | 显示全部楼层
原来如此,多谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-3 16:23 , Processed in 8.181416 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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