ale*_*nde 1 cad units-of-measurement scale dxf
我有一个带有一些2D工程图的DXF(rev 10)CAD文件,并且正在实现一个阅读器。到目前为止,我已经成功加载了所有内容并使用ImageMagick进行了栅格化。
但关键是,我已手动将坐标缩放设置为对我来说有意义的数字。我怎么知道零件的原始尺寸是多少,以及用来绘制的单位是什么?我要看什么特定的小组吗?
我的标题是这样的:
0
SECTION
2
HEADER
9
$ACADVER
1
AC1006
9
$EXTMIN
10
-14.610075
20
-14.723197
9
$EXTMAX
10
14.556421
20
15.530217
9
$LTSCALE
40
0.000394
9
$PDMODE
70
35
9
$PDSIZE
40
0.000315
0
ENDSEC
Run Code Online (Sandbox Code Playgroud)
我已经阅读了每个部分的内容,但似乎找不到任何可以帮助我的内容。
我想知道单位,因为我希望能够准确地更改绘图,例如将点移动2英寸。
在为dxf文件实现查看器时,您实际上不需要了解任何有关单元的信息。当然,除非您打算Measure在查看器中实现一个功能,否则它将变得更加复杂。
在你的浏览器你最初的“缩放”大小可以从报头信息来确定你已经证明:EXTMIN和EXTMAX是信息的需要2个钥匙碎片。在您的示例中,dxf文件中的最小坐标use3d为-14.610075,-14.723197,最大坐标为14.556421,15.530217。这样一来,您的总图纸大小为29.166496(宽)x 30.253414。
对于简单的查看器,您可以仅假设DXF文件中的单位等于查看器中的单位(像素或点或您使用的任何物体)。
然后,查看器中的基本图形尺寸将为29.166496x30.253414,您可以将该尺寸放大(缩放)以使其填充任何可用的显示区域。
编辑
DXF文件绝不是“无单位”的,因此,在您绝对需要知道单位的情况下,您将需要读取$INSUNITS组代码值,并仔细检查它,您还可以读取$MEASUREMENT组代码值。
该R2000 DXF规范,或任何其他形式的,包含你需要什么这些价值观意味着所有的信息。如果您转到“页眉部分组代码”页面,并搜索“单位”,则可以找到所有单位类型的列表。例如:
$INSUNITS
70
4
Run Code Online (Sandbox Code Playgroud)
表示dxf文件使用公制单位(特别是毫米)作为基本单位。因此,dxf文件存储的任何尺寸或坐标值都将以毫米为单位。
AutoCAD DesignCenter块的默认图形单位:0 =无单位;1 =英寸 2 =英尺;3 =英里;4 =毫米;5 =厘米; 6 =米 7 =公里 8 =微英寸;9 =密耳;10 =码;11 =埃; 12 =纳米; 13 =微米; 14 =厘米 15 =分米; 16 =厘米 17 =吉米; 18 =天文单位;19 =光年;20 =秒差距
编辑
我只是注意到您使用的是非常旧的dxf格式(R10)。如果我没记错的话,直到R12左右,这些装置才被引入DXF规范。在此之前,图形实体的实际大小不会根据所假定的单位进行更改。只有尺寸标注上的英制单位与公制单位不同。
如果您打算使用旧的R10格式,则只需要对单位是什么做出任意决定即可。假设您的工程图上没有任何尺寸标签,这些尺寸标签将指示所隐含的单位。