单位VS真实世界 [英] Units vs real world

查看:12
本文介绍了单位VS真实世界的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个包含一些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组码值。

R2000 dxf spec或任何其他版本都包含有关这些值含义所需的所有信息。如果您转到"页眉部分组码"页面,并搜索"单位",您将能够找到所有单位类型的列表。例如:

$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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆