如何取图框块的范围
之前公司用的图框是标准的块,插入中心点在图框中间,现在发现一些老图纸插入点跑到别的地方了,所以通过块的中心点计算范围不行了,还有什么办法选择块后可以得到图框的对角呢?请各位大神帮帮忙,谢谢!
;;;;通用函数开始
(defun minmm_ss->enlist (ss / lst n en)
(setq n -1)
(while (setq en (ssname ss (setq n (1+ n))))
(setq lst (cons en lst))
)
)
(defun minmm_objBox (obj / minpoint maxpoint)
(vla-GetBoundingBox obj 'minpoint 'maxpoint)
;取得包容图元的最大点和最小点
(setq minpoint (vlax-safearray->list minpoint)) ;把变体数据转化为表
(setq maxpoint (vlax-safearray->list maxpoint)) ;把变体数据转化为表
;;;;GetBoundingBox返回的是WCS,需转换为用户坐标系ucs
;;;2011.08.22 08:30修改此通用函数
;;;感谢明经通道的caoyin版主,xshrimp大侠的指点!
(setq minpoint (trans minpoint 0 1))
(setq maxpoint (trans maxpoint 0 1))
(setq obj (list minpoint maxpoint));;;组合成点表
)
(defun minmm_ssbox (ss / boxlst maxlst minlst objlst)
(setq objlst (mapcar 'vlax-ename->vla-object (minmm_ss->enlist ss)))
(setq boxlst (mapcar 'minmm_objBox objlst))
(setq minlst (mapcar 'car boxlst))
(setq maxlst (mapcar 'cadr boxlst))
(list
(apply 'mapcar (cons 'min minlst))
(apply 'mapcar (cons 'max maxlst))
)
)
;;;通用函数结束
(setq ss (SSGET '((0 . "insert"))));;;选择对象
(setq shulist (minmm_ssbox ss))
(setq p1 (car shulist ));;;左下角
(setq p2 (cadr shulist ));;;右上角
;;;mx┏━a━━━┓p2
;;;┃ ┃
;;; b b
;;;┃ ┃
;;;┃ ┃
;;;p1┗━a━━━┛my
(setq px1 (car p1)) ; 取得p1坐标的x值
(setq py1 (cadr p1)) ; 取得p1坐标的y值
(setq px2 (car p2)) ; 取得p2坐标的x值
(setq py2 (cadr p2)) ; 取得p2坐标的y值
(setq mx (list px1 py2)) ; 求得mx坐标值
(setq my (list px2 py1)) ; 求得my坐标值
(setq a(distance mx p2));;;mx点 ,p2点之间的距离:横向的距离值
(setq b(distance p1 mx));;;p1点 ,mx点之间的距离:纵向的距离值 感谢 zctao1966 分享程序! yoyoho 发表于 2015-9-17 16:14 static/image/common/back.gif
感谢 zctao1966 分享程序!
总是这一句,专业收集器啊 学习一下程序 如何使包围盒中不包含动态块中隐藏对象? zctao1966 发表于 2015-9-17 12:22 static/image/common/back.gif
有的图元对象不支持vla-GetBoundingBox,比如直接插入一个DWG文件进来,经常会得不到任何东东,不知道该如何解决,另外,对于MTEXT,它得到的范围好象也不是所显示文字内容部分的范围,也是一直不知道如何解决 llsheng_73 发表于 2015-11-18 14:10 static/image/common/back.gif
有的图元对象不支持vla-GetBoundingBox,比如直接插入一个DWG文件进来,经常会得不到任何东东,不知道该如 ...
vla-GetBoundingBox 我感觉缺少字体会有点影响! xiaolong1487 发表于 2015-11-19 07:54 static/image/common/back.gif
vla-GetBoundingBox 我感觉缺少字体会有点影响!
这个倒没太注意过 llsheng_73 发表于 2015-11-18 14:10 static/image/common/back.gif
有的图元对象不支持vla-GetBoundingBox,比如直接插入一个DWG文件进来,经常会得不到任何东东,不知道该如 ...
有范例文件吗、
页:
[1]
2