明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: lvbin2ooo

[已解答] 关于insert语句,后去最小包容框的问题

[复制链接]
发表于 2013-5-19 14:47:31 | 显示全部楼层
lvbin2ooo 发表于 2013-5-19 12:02
大侠帮帮我如何做错误检查吧?

(vla-GetBoundingBox obj 'll 'ur) ;_ 计算包围盒
(setq ll (vlax-safearray->list ll) ;_ 坐下角点
      ur (vlax-safearray->list ur) ;_ 右上角点
)
==>
(if (not
      (VL-CATCH-ALL-ERROR-P
      (VL-CATCH-ALL-APPLY
        'vla-GetBoundingBox
        (list obj 'll 'ur)
        )
      )
      )
  (progn
    .....
    你的代码
    )
  )
  
 楼主| 发表于 2013-5-19 17:04:00 | 显示全部楼层
Gu_xl 发表于 2013-5-19 14:47
(vla-GetBoundingBox obj 'll 'ur) ;_ 计算包围盒
(setq ll (vlax-safearray->list ll) ;_ 坐下角点
   ...

我真的很菜。我试了好几次。可能是方式方法不对。这个ucsbox函数,还是改不对,提示语法错误。。请指教。
 楼主| 发表于 2013-5-19 17:08:10 | 显示全部楼层
lvbin2ooo 发表于 2013-5-19 17:04
我真的很菜。我试了好几次。可能是方式方法不对。这个ucsbox函数,还是改不对,提示语法错误。。请指教。

我又试了好几遍。终于成功了 ,前面的失败是我的基本功不扎实。谢谢你。。最后一个问题,请教如何判断一个块,是否是空块(没有图元)?。。
发表于 2013-5-25 18:05:16 | 显示全部楼层
lvbin2ooo 发表于 2013-5-19 17:08
我又试了好几遍。终于成功了 ,前面的失败是我的基本功不扎实。谢谢你。。最后一个问题,请教如何判断一个 ...

请问为何提示  语法错误
(vl-load-com)
(defun C:wxx ()

  (command "undo" "be")

  (setvar "cmdecho" 0)

  (command "ucs" "w")

  (princ "\n请选择物体:")

  (while (null (setq en (ssget))))

  (vla-GetBoundingBox obj 'll 'ur) ;_ 计算包围盒
  (setq        ll (vlax-safearray->list ll) ;_ 坐下角点
        ur (vlax-safearray->list ur) ;_ 右上角点
  )
                                        ;==>
  (if (not
        (VL-CATCH-ALL-ERROR-P
          (VL-CATCH-ALL-APPLY
            'vla-GetBoundingBox
            (list obj 'll 'ur)
          )
        )
      )

    (command ".rectang" "non" ll "non" ur)

    (command "undo" "e")

    (princ)

  )

)
发表于 2013-5-25 18:06:10 | 显示全部楼层
Gu_xl 发表于 2013-5-19 14:47
(vla-GetBoundingBox obj 'll 'ur) ;_ 计算包围盒
(setq ll (vlax-safearray->list ll) ;_ 坐下角点
   ...

为何我按照你的代码做了一个画矩形框的程序,为何加载后提示  语法错误,请指点
(vl-load-com)
(defun C:wxx ()

  (command "undo" "be")

  (setvar "cmdecho" 0)

  (command "ucs" "w")

  (princ "\n请选择物体:")

  (while (null (setq en (ssget))))

  (vla-GetBoundingBox obj 'll 'ur) ;_ 计算包围盒
  (setq        ll (vlax-safearray->list ll) ;_ 坐下角点
        ur (vlax-safearray->list ur) ;_ 右上角点
  )
                                        ;==>
  (if (not
        (VL-CATCH-ALL-ERROR-P
          (VL-CATCH-ALL-APPLY
            'vla-GetBoundingBox
            (list obj 'll 'ur)
          )
        )
      )

    (command ".rectang" "non" ll "non" ur)

    (command "undo" "e")

    (princ)

  )

)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-29 04:45 , Processed in 0.157288 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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