我正在为android工作Autocad文件阅读器,现在我只使用Kabeja库读取DXF文件,它工作得很好,但是当我在Autocad中绘制简单的形状并尝试在android上绘制它时,它不会出现当我看Autocad坐标,我发现他们太大了我已经做了很多搜索来找到任何解决方案,我试着阅读
EXTMIN和EXTMAX
头值,但它们返回{30=0.0,20=1015.620062425179,10=1624.318980044965}对于EXTMINand {30=0.0, 20=2134.42060268589, 10=3716.108222970341} for EXTMAX
这是我的代码
DXFHeader dxfHeader = dxfDoc.getDXFHeader();
DXFVariable dxfVariableMin = dxfHeader.getVariable("$EXTMIN");
DXFVariable dxfVariableMax = dxfHeader.getVariable("$EXTMAX");
我不知道如何使用这些值使我的形状正确绘制
EXTMIN和EXTMAX定义了dxf绘图中包含几何(实体)的面积。
当显示dxf文件时,您将使用EXTMIN值作为偏移量。
在您的示例中,包含几何图形的dxf文件区域左下角为:
1624.318980044965, 1015.620062425179
而右上角为:
3716.108222970341, 2134.42060268589
这意味着你的有效画布尺寸实际上是2091宽1118高。
如果你有一个实体,比如一个圆,它的x,y中心坐标是2000,1500;然后你可以减去EXTMIN线,并显示圆圈在375.68,484.38
只要从所有实体的x和y轴(10和20组代码)中减去EXTMIN坐标,您将能够显示一个较小的区域,该区域仅包括包含几何图形的区域。