单位VS真实世界 [英] Units vs real world
问题描述
我有一个包含一些2D图形的DXF(版本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
我已经阅读了每个部分的内容,但似乎找不到任何对我有帮助的内容。
我想知道单位,因为我希望能够在绘图时准确地更改绘图,例如将一点移动2英寸。
dxf
实现推荐答案文件的查看器时,实际上不需要了解任何有关单位的信息。当然,除非您要在查看器中实现Measure
函数,否则它会变得更加复杂。
EXTMAX
是您需要的两个关键信息。在您的示例中,dxf文件中使用的最小坐标为-14.610075,-14.723197,使用的最大坐标为14.556421,15.530217。这使您的绘图总尺寸为29.166496(宽度)x 30.253414。
对于简单的查看器,您只需假定DXF文件中的单位等于查看器中的单位(像素或点或您正在使用的任何单位)。
然后,查看器中的基本图形大小将为29.166496x30.253414,您可以将其放大(缩放)以使其填满可用的任何显示区域。
编辑
DXF文件绝不是无单位的,因此在您绝对需要知道单位的情况下,您将需要读取$INSUNITS
组码值,如果要仔细检查,您还可以读取$MEASUREMENT
组码值。
$INSUNITS
70
4
表示DXF文件使用公制单位,特别是毫米作为基本单位。因此,DXF文件存储的任何尺寸或坐标值都将以毫米为单位。
AutoCAD设计中心块的默认图形单位: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格式,您只需任意决定单位是什么;假设您的图纸上没有任何尺寸标签来指示隐含的单位。
这篇关于单位VS真实世界的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!