用途:从零件几何生成一份工程图纸 PDF,作为交付给加工方的文档。视图、隐藏线和测量值都由脚本从模型投影得出,不是手绘,也不是手输数字(除非主动覆盖)。输出只有一个 PDF,不写 DXF,也没有 CLI,脚本本身就是接口。
主要能力:sheet.three_views(part, iso=True) 返回四个视图(第三角法的俯视、主视、右视,加一个等轴测);sheet.three_views(part) 返回三个。sheet.view(part, name, at=(x, y)) 用于自定义布局,坐标以左下角为原点的毫米计(A3 为 420×297,A4 为 297×210)。尺寸在模型坐标中标注:view.overall() 标总体尺寸,view.dim 标特征位置与大小(可用 tol= 或 fit=),view.hole 以标注形式表达孔(thru、depth、counterbore、countersink、thread),view.note 加带引线的注释。图层分 VISIBLE、HIDDEN、CENTER、DIM、NOTES、TITLE、SHEET,按不同线宽打印。标题栏含标题、件号、材料、作者、比例、单位、投影、版本、SHEET n OF m 等;给定 revisions= 时右上角生成修订表。PDF 字节由内容决定,不盖创建日期,内容不变则重建文件一致。
使用方式:通过 uv 运行 cadgen,命令中 cadgen 指 uvx --no-config --managed-python --python 3.13 --from cadgen==0.7.21 cadgen,python 同理替换为对应 python。先用 cadgen.read_step(Path(file).parent / "../STEP/part.step") 读取 @step 模型写出的工件(需先运行 python <model>.py),也可直接用 build123d 形状。在模型旁按模板写 <name>_drawing.py,从模型模块导入尺寸引用的模型事实,避免重打数字。运行 python <name>_drawing.py,它会打印写出的 PDF 及绘制中注意到的问题,例如“measures blank paper”(尺寸的模型点未落在视图几何上,常见于零件按角点建模而脚本假设居中)和“annotation overlaps”(两个标注重叠,可加大 three_views(gap=...) 或用 offset= 调整)。无人值守运行时设置 MPLCONFIGDIR 为可写目录,避免 matplotlib 字体缓存告警。
适用场景:需要把参数化零件快速产出可交付工程图并随模型同步更新时。
限制:公差只来自你写的 tol=、fit= 和 general_tolerance=,值须来自设计要求或用户,不得编造;未给公差的尺寸为名义值。视图目前只有带隐藏线的正交投影,尚无剖视、局部视图或辅助视图。脚本对越出图框、未定义参数、缺失渲染器、out= 未指定 .pdf 等情况会直接报错而不产出错误文件。图纸不检查标注与线稿是否冲突,需人工阅读 PDF 并修正。