我试图仅从DXF文件的特定视图中检索实体。
VIEWPORT
类无助于分离视图。
[帮我解决这个问题。
提前感谢
通常,对于任意视口和目标对象,这是一个相对困难的问题。
该解决方案可以简化为计算视口相对于WCS的边界,然后确定哪些实体完全位于或部分位于计算的边界内。
可以通过获取视口(相对于Paperspace)的边界顶点,然后使用使用比例尺(或视图高度),旋转(或扭曲角)和法线构造的转换矩阵来转换这些顶点,来计算边界矢量和视口中心。
scale可以通过将DXF组45
(高度模型空间的高度)除以DXF组41
(高度纸空间的高度)来计算。
rotation可以从DXF组51
(视角扭曲角度)获得。
法线向量可从DXF组16
(WCS视图方向向量)获得。
center可从DXF组10
(WCS中心点)获得
[计算边界坐标时,您需要计算所有模型空间几何图形的范围(或仅取决于您要求的精度的矩形边界框),并确定几何范围的任何部分是否在计算的范围内视口边界。