ManualFig 出的线稿标注全是占位符——描述里哪一层没约束住?

文章导读
ManualFig 出线稿时,几何轮廓能出来,说明形状层已经被约束住了;标注全是占位符,通常不是画不出来,而是标注文字这一层没有拿到可渲染的内容,或者拿到后被模板占位符覆盖了。先不要把问题归到“模型不会写字”,按“谁生成标注、描述里有没有给标注要求、清单有没有传进去”三步查,比反复改形状描述更容易定位。
📋 目录
  1. 壹 先确认标注文字和线稿是不是同一次生成出来的
  2. 贰 检查描述里是不是只写了形状没写标注要求
  3. 叁 把零件名、序号、尺寸分别写进描述
  4. 肆 出图后把图上标注与清单逐项对照
  5. 伍 文字仍不可控时,改为预留标注位后期添加
A A

ManualFig 出线稿时,几何轮廓能出来,说明形状层已经被约束住了;标注全是占位符,通常不是画不出来,而是标注文字这一层没有拿到可渲染的内容,或者拿到后被模板占位符覆盖了。先不要把问题归到“模型不会写字”,按“谁生成标注、描述里有没有给标注要求、清单有没有传进去”三步查,比反复改形状描述更容易定位。

判断方向:把标注当独立层查。先验证标注与线稿是否同一次生成,再检查描述是否只约束了形状、漏了标注层,最后确认零件名、序号、尺寸是否各自有清单来源。适用场景:线稿正常、文字异常。验证方式:改文字后重新生成看是否同步、导出 SVG/PDF 看文本能否选中、逐项对照清单。边界:若输出格式把文字栅格化,只能靠重新生成对照,无法直接提取文本层。

先确认标注文字和线稿是不是同一次生成出来的

判断标注到底属于图像内容还是单独一层,最直接的方法是改一处文字再看图。比如把描述里的某个零件名临时改成“测试件A”,重新生成同一张线稿。如果轮廓和标注位置都在,只有文字没变,说明标注文字不是这次生成出来的,可能来自独立模板、后处理脚本或占位符替换。反过来,如果文字跟着变了,但仍然是占位符,那就是描述给了文字层入口、但没给真实内容。

另一个方法看导出格式。导出 SVG 或 PDF 后,用文本选择工具点标注:能选中说明有独立文本层,不能选中说明文字被栅格化,或者本身就是图片占位。生成日志里也可以搜 text、label、annotation 这类字段,看传入值是不是空、是不是默认占位。记录下来:改了什么描述、重新生成后文字是否变化、导出后文本能否选中。

ManualFig 出的线稿标注全是占位符——描述里哪一层没约束住?

检查描述里是不是只写了形状没写标注要求

形状层和标注层的描述分工不同。形状层管的是画什么:视图方向、投影方式、比例、线型、剖切、轮廓之间的相对位置。标注层管的是写什么:哪些对象需要标注、标注字段叫什么、格式是什么、引线从哪儿连到哪儿、文字放在哪个象限。只在描述里写“画出零件线稿”“三视图”这类内容,形状层会被约束住,标注层通常走默认模板,而默认模板最常见的结果就是占位符。

建议在描述中单独开一段“标注要求”,不要和形状描述混在一起。至少写清三点:标注类别清单、每类标注的字段来源、字段缺失时的行为。字段缺失时建议留空并输出警告,而不是填入占位文字;否则出图后很难区分“还没填”和“填错了”。

把零件名、序号、尺寸分别写进描述

让每一类标注都有对应来源,是消除占位符最直接的一层。零件名通常来自 BOM 的名称列,序号来自行号或 item_no,尺寸来自尺寸表。描述里把它们分开写,不要只写“加上标注”。下面是一个通用骨架,具体字段名按你的配置替换:

ManualFig 出的线稿标注全是占位符——描述里哪一层没约束住?
形状层:
- 三视图,第一角投影,比例 1:1
- 轮廓线 0.5mm,中心线点划线

标注层:
- 零件名:取自 BOM.name,放在主视图上方
- 序号:取自 BOM.item_no,与引线一一对应
- 尺寸:取自 DIM.value,单位 mm,保留一位小数,标在对应轮廓旁
- 缺省行为:任一字段为空时留空并记录警告,不要生成占位符

这段写法的作用是把“标注内容”从默认模板里拿出来,绑到清单列上。对应关系建议做成清单:零件名对应名称列,序号对应唯一行标识,尺寸对应尺寸值列。如果工具支持外部文件,优先用 CSV 或 JSON 传入,而不是把值散落在描述句子里。

出图后把图上标注与清单逐项对照

确认数量和信息对得上,而不是看起来像。可以从导出文件里把文字提取出来,再和清单做逐项比对。下面命令只是示意,按你的输出格式替换文件名和字段:

ManualFig 出的线稿标注全是占位符——描述里哪一层没约束住?
# SVG 提取文本节点示意
grep -o '<text[^>]*>[^<]*' output.svg | sed 's/.*>//' > labels.txt

# PDF 提取
pdftotext -layout output.pdf - | sed '/^$/d' > labels.txt

# 清单侧导出为 CSV:item_no,name,dim_value

操作步骤:先把图上文字按出现顺序或序号整理成一份列表,再把清单按相同序号排序,然后逐项核对数量、名称、尺寸。发现不一致时记录五项:图号或文件名、标注位置、清单里的值、图上显示的值、差异类型(缺失、错位、占位符、数值不符)。记录后先回去改描述或清单来源,不要直接在图上手改,否则下一轮生成还会复现。

文字仍不可控时,改为预留标注位后期添加

如果工具在文字层始终不可控,可以改成预留标注位。做法是在描述里要求只画引线和空白文本框,不生成文字内容。例如写“所有标注位置留空,仅保留引线和边界框,禁止填入占位文字”。这样线稿仍然由 ManualFig 出,文字用 CAD、矢量编辑或后期排版补上。

留白尺寸按预期最长标注判断:宽度取该位置可能出现的最长字符数乘以字号再留一点余量,高度取字号的一点五倍左右;先用最大可能值,避免加字后压线。加字完成后重新导出一次,对照清单逐项检查文字是否重叠、引线是否指向正确对象、导出 PDF 中文本能否搜索。若后期是手工补字,建议把图层名或文本框命名与清单字段保持一致,方便下一轮对照。