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