我正在研究用于Android的Autocad文件阅读器,现在我只使用Kabeja库阅读DXF文件并且效果很好但是当我在Autocad中绘制简单的形状并尝试在Android上绘制它时它不会出现 当我看到Autocad坐标时,发现它们太大了 我已经做了很多搜索以找出任何解决方案,我试过的是阅读
EXTMIN和 EXTMAX
标题值,但是对于EXTMIN,它们返回{30 = 0.0,20 = 1015.620062425179,10 = 1624.318980044965} 和EXTMAX的{30 = 0.0,20 = 2134.42060268589,10 = 3716.108222970341}
这是我的代码
DXFHeader dxfHeader = dxfDoc.getDXFHeader();
DXFVariable dxfVariableMin = dxfHeader.getVariable("$EXTMIN");
DXFVariable dxfVariableMax = dxfHeader.getVariable("$EXTMAX");
我不知道如何使用这些值来正确绘制形状
答案 0 :(得分:2)
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坐标,您就可以显示一个较小的区域,其中只包含包含几何图形的区域。