世界一角的你 发表于 2014-5-4 21:26:02

vla-Getboundingbox 求解

练习vla-Getboundingbox ,只是想提取出图中块PC_TITLE_BLOCK的范围,却总提示“错误: Automation 错误。 范围无效”,求各位帮忙解决下,刚开始用,看了别人说的的也没有改明白,弄了好长时间了


(defun c:sd()
(vl-load-com)
(setq acadobj (vlax-get-acad-object))
(setq dwgobj (vla-get-ActiveDocument acadobj))
(setq ss (ssget "x" (list '(0 . "Insert")(cons 2 "PC_TITLE_BLOCK"))))
(setq ppstt (vlax-ename->vla-object (ssname ss 0)))
(vla-Getboundingbox ppstt 'minExt 'maxExt)
(setq mix_xy (vlax-safearray->list minExt))
(princ mix_xy)
(setq max_xy (vlax-safearray->list maxExt))

)


llsheng_73 发表于 2014-5-4 21:26:03

经测试代码没问题,图没有看,你可以选择别的图元进行测试下

世界一角的你 发表于 2014-5-4 21:48:56

别沉啊,谁帮帮忙啊

Lisper 发表于 2014-5-4 22:08:25

代码没问题!问题是有些对象是没有范围的,比如ray/xline...,这些对象vla-Getboundingbox就会出错,若块中包含此类对象,自然不能!

lsjj 发表于 2014-5-5 07:41:10

圖也沒問題啊

819534890 发表于 2014-5-5 09:11:19

本帖最后由 819534890 于 2014-5-5 15:55 编辑

没有选中对象,含有极大、极小的对象,含有不可知、不可识别对象的时候会出现这个问题,我也出现过,都是用折中办法解决。你也想想有没有折中办法吧。

lsjj 发表于 2014-5-5 09:19:35

樓主的圖沒那麼多學問

llsheng_73 发表于 2014-5-5 12:06:17

楼主的图我没有打开,说是图形无效

世界一角的你 发表于 2014-5-5 18:53:54

谢谢各位了,可能是图块圆原因,别的图元没问题
页: [1]
查看完整版本: vla-Getboundingbox 求解