请教一个思路,怎么识别一个封闭矩形的短边
如图,想识别这块板的短边,但因为有柱子的存才,不是正规的矩形,现在想识别那个2600的宽,想请教下有什么思路。本帖最后由 hhh454 于 2019-8-6 15:26 编辑
1,首先取得图形的最小左下角点和最大右上角点的xy坐标,2,通过左下角点得出右下角点
3,测量右下角点到右上角点得出你要的数值
(vl-load-com)
;求包围盒最小点和最大点
(defun min_max ()
(setq ssn (ssname ss i)) ;取得选择集内所有图元名称
(setq e_ssn (entget ssn)) ;取得特定图元的关联表
(Vlax-Invoke-Method
(Vlax-Ename->Vla-Object ssn)
'GetBoundingBox
'minPt
'maxPt
)
(setq zxd (vlax-safearray->list minPt))
(princ "\n左下点")
(setq ysd (vlax-safearray->list maxPt))
(princ "\n右上点")
(setq yxd (list (car ysd) (cadr zxd)))
(princ "\n右下点")
(setq dx (distance zxd yxd) ;宽度
dy (distance yxd ysd) ;高度
)
) hhh454 发表于 2019-8-6 15:24
1,首先取得图形的最小左下角点和最大右上角点的xy坐标,2,通过左下角点得出右下角点
3,测量右下角点到 ...
再请教一下,如果这个图是做成一个块的,应该怎样识别到这个封闭空间的短跨长度 考虑用内框线命令 "BOUNDARY"再算长宽? 我想到了一个思路,就是用“bpoly”生成封闭空间的边界多段线,然后再求出其中的x和y的最大和最小的坐标,就可以计算出短边的长度。但是又发现了新的问题,如果是斜梁围成的版块,就无法用这个方法计算出短边。
页:
[1]