-2

我试图仅从 DXF 文件的特定视图中检索实体。

该类VIEWPORT无助于分离视图。

帮我解决这个问题。

提前致谢

4

1 回答 1

2

一般来说,对于任意视口和目标对象,这是一个相对困难的问题。

该解决方案可以简化为计算视口相对于 WCS 的边界,然后确定哪些实体完全位于或部分位于计算的边界内。

可以通过获取视口的边界顶点(相对于图纸空间)来计算边界,然后使用使用比例(或视图高度)、旋转(或扭曲角度)和法向量构造的变换矩阵来变换这些顶点,和视口中心。

  • 可以通过将 DXF 组(模型空间的高度)除以 DXF 组(图纸空间的高度)来计算比例4541

  • 旋转可以从 DXF 组51视角扭曲角度)获得。

  • 法线向量可以从 DXF 组16(WCS 视图方向向量)中获得。

  • 中心可以从DXF组(WCS中心点)获得10

计算边界坐标后,您需要计算所有模型空间几何体的范围(或仅计算矩形边界框,取决于您需要的精度),并确定几何范围的任何部分是否落在计算的视口边界内.

于 2019-12-26T14:10:17.340 回答