【问题标题】:Android: Autocad Coordinates are too largeAndroid:AutoCAD坐标太大
【发布时间】:2014-05-28 04:44:58
【问题描述】:

我正在为 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");

我不知道如何使用这些值来正确绘制我的形状

【问题讨论】:

    标签: android autocad cad dxf


    【解决方案1】:

    EXTMIN 和 EXTMAX 定义包含几何体(实体)的 dxf 绘图区域。

    当显示 dxf 文件时,您可以使用 EXTMIN 值作为偏移量。

    在您的示例中,包含几何图形的 dxf 文件区域的左下角是:

    1624.318980044965, 1015.620062425179
    

    而右上角是:

    3716.108222970341, 2134.42060268589
    

    这意味着您的有效画布尺寸实际上是 2091 宽 x 1118 高。

    如果你有一个实体,比如一个圆,它的 x,y 中心坐标是 2000,1500;然后,您可以减去 EXTMIN 坐标并在 375.68、484.38 处显示圆

    只要您从所有实体的 x 和 y 坐标(10 和 20 组代码)中减去 EXTMIN 坐标,您就可以显示一个仅包括包含几何图形的区域的较小区域。

    【讨论】:

    • 太好了,现在我可以看到我的实体了,但是我遇到了另一个问题,我的实体向右上方移动,所以当我在 AutoCAD 中绘制它们时它们不会显示
    猜你喜欢
    • 2018-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多