「图转进 CAD 了,可量出来一个 100 的边显示 87」—— 这是图片转 DXF 最高频的疑问。答案不是转换出错,而是软件根本不知道你的图实际有多大。
换算规则是写死的一条
站内的规则明确写在选项说明里:输出单位毫米(DXF 头写入 $INSUNITS=4),按 1px = 0.2646mm(96dpi)换算。
也就是说,描线只看像素,毫米值是固定按 96dpi 折算出来的。而 96dpi 只是屏幕截图的常见假设值 —— 你的手机拍出来的图纸、扫描仪出来的图、Illustrator 导出的图,实际 dpi 各不相同。对不上是必然的。
唯一的例外是 PDF转CAD:它按页面实际尺寸换算,不是按渲染像素,所以 A4 页转出来仍是 210×297mm,在 CAD 里量取与原图一致。要求尺寸准确、而你手上有 PDF,就该走这一页而不是图片那一页。
校正只有一次机会:找一条已知长度
这是全套操作里最关键的一步。 在图里找一条你确定实际长度的线(图纸标题栏里的总长、标注过的边长、标准件孔径都行)。
- 在 CAD 里量出它在 DXF 中的显示长度 L测
- 真实长度记作 L实
- 缩放系数 = L实 ÷ L测
- 全选 → SCALE,基点任选,输入比例因子
比例因子输入时可以直接写表达式,比如 AutoCAD 里输入 1000/874.3 这样的算式,比手算更准。
常见偏差速查
差 2.54 倍 → dpi 混淆,一边按英寸一边按毫米。
差约 3.78 倍 → 把 96dpi 的像素当成 25.4mm 里的一个像素。
差 10 倍 / 0.1 倍 → 单位口径不同(厘米与毫米)。
比例对但整体偏大 → 图里含了边框、标题栏或阴影,裁掉无关区域重转,比缩放更干净。
别忘了改单位设置
缩放只是把几何改对,图纸单位仍然是文件头写的毫米。如果对方软件按英寸解释,导入时把插入单位设为毫米,否则尺寸会再次错一遍。$INSUNITS=4 就是毫米,这也是为什么站内统一按这个写。
图片尺寸上限不会改变毫米值
超过约 6000×6000 像素的图片会先等比缩小再描线,但输出的毫米尺寸仍按原图像素换算 —— 所以大图转出来不会因为被缩小而「变小一圈」。不要为了尺寸准而先把图放大:放大不增加线条信息,只会让描边更糊。
什么时候这些校正都是白费
照片是斜着拍的。 透视变形会让「缩放系数」在不同方向上不一样,横向对上了纵向就对不上。这种必须先校正成俯视图(把文档拉平)再转,见 手机拍的文件歪、有阴影、发灰:怎么弄成平整白底的扫描件。
要求公差在丝级(0.01mm)的加工图。 描线轮廓本身带着像素级抖动,一个像素就是 0.26mm —— 这类图纸唯一正确的做法是按标注重画,转换只能当参照底图。