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))
)
经测试代码没问题,图没有看,你可以选择别的图元进行测试下 别沉啊,谁帮帮忙啊 代码没问题!问题是有些对象是没有范围的,比如ray/xline...,这些对象vla-Getboundingbox就会出错,若块中包含此类对象,自然不能! 圖也沒問題啊
本帖最后由 819534890 于 2014-5-5 15:55 编辑
没有选中对象,含有极大、极小的对象,含有不可知、不可识别对象的时候会出现这个问题,我也出现过,都是用折中办法解决。你也想想有没有折中办法吧。 樓主的圖沒那麼多學問 楼主的图我没有打开,说是图形无效 谢谢各位了,可能是图块圆原因,别的图元没问题
页:
[1]