本帖最后由 guohq 于 2025-9-30 01:20 编辑

通过  Entity 的  GeometricExtents  可以获取图形的范围,但对于部分有特殊线型的曲线而言,此范围并不准确。请问如何能获取到图形的实际外包框?



网友答: 好问题,同求

网友答: 我又试出来一个方法,包管好用,用代码实现也没多少行。复制对象,粘贴为块到坐标原点,旋转对象180度,复制旋转后的对象,粘贴为块到坐标原点,分别计算2个块的包围盒,合并包围盒,就可以得到期望的真实包围盒了。要点:图元对象做成块以后,插入点正是像素范围的左下角点。

网友答: 针对问题:请问如何能获取到图形的实际外包框?我的办法真的能行。你要代码,我也试过,接近成功。图元横着一次(command "_.zoom" "_e"),竖着一次(command "_.zoom" "_e"),要求不高的话,也可以搞到包围盒。

网友答: 本帖最后由 你有种再说一遍 于 2025-9-30 23:45 编辑

好问题,我也不知道.
1,图元包围盒是数据层的.
2,渲染层是带线型的,会发现 鼠标的选择矩形框 如果在虚线中间空位是选择不了线段的.
3,你想获取渲染层信息,按照线型数据把曲线离散化,
解析线型包围盒,解析线型支持的SHX字体的包围盒.



网友答: 框选图形获取x轴和y的轴最小最大值画矩形。

网友答: 这个就复杂了,需要解析线型了

网友答: 把原图发过来测一下,你这带线型的

网友答: 逼近法
1.先获取初步外框R1
2.新框R2=R1*1.5倍(介于1-2),用SSGET W 和SSGET C 来测试图元在是否在R2内,否则扩大R2
3.设置小步长向内偏移R2(从上下左右四个方向),找到R2最小值,即是实际外包框的近似值

网友答:
biya 发表于 2025-9-30 08:47
把原图发过来测一下,你这带线型的

已经上传到压缩包,包括:DWG文件、形文件


网友答: 分解线型,再取包围框

网友答: 本帖最后由 战神凯哥 于 2025-9-30 23:42 编辑

线形有点困难


网友答:
biya 发表于 2025-9-30 08:47
把原图发过来测一下,你这带线型的

挺自信的兄弟。希望你成功。
  • 上一篇:找人做插件
  • 下一篇:没有了