把图纸照片丢进「图片转DXF」,下载回来在 CAD 里一看:所有线条都挂在同一个图层上,粗的细的一样,墙线和家具线混成一团。这是设计如此,不是转换失败。描线算法不认识「墙」「门窗」「标注」这些概念,只认识「这块像素和那块颜色不同」。

为什么不可能是多个图层

位图转 DXF 走的是黑白二值化再找边界的路子:先把整张图压成黑与白两种状态,然后沿色块边缘描出轮廓路径。整个过程只有一次阈值判断,输出就是这一批轮廓,没有任何语义分组环节。所以结果必然是:

  • 不保留颜色、灰度、透明度与填充;
  • 不做线宽区分,粗实线与细虚线变成同一级别的等宽线条;
  • 不做文字识别,图中文字被当成图形描出轮廓,不会变成可编辑的 DXF 文字;
  • 结果只有一个图层,因为没有第二组的来源。

想理解底层的描线机制,看 位图转矢量的原理与失真点。

放样前的分层实操顺序

指望工具自动分层是浪费时间,正确做法是先转、再在 CAD 里手工归组。步骤不多,但顺序错了要返工:

  1. 先删掉明显垃圾。文字轮廓、图框、标题栏、尺寸线描出来的一堆碎线,逐块删掉——留着它们会让后面的选择更痛苦。文字内容改走识别那条路取,不要指望从这堆线条里复原。
  2. 建两三个自己的图层,命名按用途来(比如底图、轮廓、参考),不要照抄原图的图层名,你没有信息还原它。
  3. 用对象选择而不是窗口框选。按住鼠标框一个区域,命中的往往是十几条不相干的线;改用逐个点选或套索,把外轮廓一条一条挪到「轮廓」层。
  4. 一次只做一类。先把外墙搬完,再把窗搬完,中间不要交叉。
  5. 搬完再统一改线型线宽,这时才有意义。

别指望有更快的批量办法

有人想用「按线长选择」「按颜色范围选择」批量搬。这些条件在描线结果上都不成立:全部线条同层同色等宽,唯一能区分的只有几何长度,而墙线和标注线经常一样长。批量选中只会把碎线一起带走。真觉得慢,更快的做法是把那块区域重新裁出来单独描一次。

什么样的输入能让分层少做一半

描线质量的差别比软件设置大得多。白底黑线的工程图、电路图、logo、印章、手写签名、文字截图是可用范围;彩色照片、渐变图、低对比度或模糊扫描件只会得到色块外轮廓,那团东西连分层的前提都不具备。

上传前先在图片上动手:把不需要描的部分涂白或用「图片裁剪」切掉,裁一块描一块,天然就分了组,比在 CAD 里从一团线头中挑要快得多。超过约 6000×6000 像素的图会等比缩小后描线,毫米尺寸仍按原图换算,细节也会一起糊掉。

底线判断:能一次转出多图层 DXF 的工具不存在,宣称做到的多半是把图层写死在模板里。你手上这份 DXF 的价值是底图,不是工程图。