Community图像github.com

技术图纸生成

根据参数化 build123d 模型或 STEP 文件生成符合标准(ISO/DIN 及 ASME 第三角投影)的矢量 PDF/SVG/DXF 技术图纸,涵盖零件图、装配图、焊接图,并包含剖面/局部/半剖/断裂视图、剖面线、尺寸标注、ISO 286 配合与极限表、表面粗糙度、几何公差(GD&T)与基准、螺纹、焊缝符号、齿轮数据表、标题栏及零件清单,自动检查碰撞与不一致。

技术图纸生成 是什么?

该技能用于生成符合 ISO/DIN 或 ASME 第三角投影标准的技术图纸。其工作原理是以参数化 build123d 模型或 STEP 文件为唯一数据源,通过 `scripts/drawlib.py` 库自动派生视图(隐藏线消除、剖面、剖面线)并添加车间所需的标注。每次保存时自动运行图纸检查,最终输出每页的矢量 PDF(可选 DXF/SVG)及 PNG 预览。此方法确保视图与模型完全一致,修改参数即可重新生成所有图纸,并且同一模型可免费获得 STEP 文件和干涉检查。适用于用户需要技术/工程/制造图纸、从 STEP/CAD 文件生成图纸、或为一维/装配件添加配合、公差、粗糙度、GD&T 的场景。支持的平台包括 Claude Code、Cursor、Codex 等 AI 编程助手。工作流程强调先明确零件功能(确定基准、配合表面、关键尺寸),然后建模,检查装配干涉,最后按图层添加标注(中心线→尺寸→基准与公差→表面粗糙度→注释与表格→标题栏)。图纸输出按照图纸编号命名,并包含检查报告,确保可制造性。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Emirhan-1111/technical-drawing/tree/HEAD

Installed? Explore more 图像 skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

技术图纸

图纸是生成的,而非手工绘制:参数化 build123d 模型(或 STEP 文件)是唯一数据源,scripts/drawlib.py 从中派生出视图(隐藏线消除、剖面、剖面线),并添加工厂所需的标注。每次保存时自动运行图纸检查。输出结果是一个矢量 PDF 文件(每个图纸页面一个文件,可选 DXF/SVG),以及一个 PNG 预览文件——在您确认完成之前,请先查看此预览。

为何采用此方法:视图永远不会与模型不一致,修改参数即可重新生成所有图纸,并且同一模型可免费获得 STEP 文件和干涉检查。

优秀图纸应满足的条件

图纸是与零件制造和检验人员之间的契约。一个从未见过该项目的人必须能仅凭图纸制造出该零件。这决定了以下所有事项:只标注功能所需的尺寸,只对重要的要素标注公差,并说明每个功能表面应具有的外观。一张标注了所有边缘尺寸,但没有配合、粗糙度或几何公差的图纸,在审查人员和工厂看来是不可制造的。

选择路径

  • 用户有 STEP 文件并希望快速生成图纸:运行 python scripts/step2drawing.py part.step [--section] [--lang en --projection third] [--units in] [--material ...] [--density ...] [--dxf]。它会生成视图、隐藏线、中心线、总体尺寸、标题栏和检查结果。然后明确说明功能尺寸、配合、公差和表面粗糙度仍需添加——并主动提供添加功能:同一模块中的 auto_drawing() 返回 (sheet, views, issues) 且 out=None,因此您可以继续在 Python 中注释图纸(Y-up 导出使用 --up y)。
  • 任何必须制造的零件:在 Python 中对零件进行建模并编写图纸(工作流程如下)。STEP 输入仍然可以作为模型:D.load_step(path)。

工作流程

  1. 首先明确功能。 针对每个零件,询问:哪些表面会与什么匹配?哪些必须是同轴/垂直/共面才能让机器正常工作?哪些尺寸来自外购件(轴承、销、螺钉)?这些将成为基准、配合和公差。如果用户有报告、BOM 或旧图纸,请阅读它们并保留其数值;将您自行设定的每个数值标记为假设并告知用户。询问图纸应使用的语言和投影方法(默认:德语,第一角;北美:英语,第三角),以及是否有公司的标题栏。
  2. 在一个模块中对零件进行建模,每个零件处于其制造位置,所有尺寸设为命名参数。回转体零件:旋转半轮廓 (x, r);棱柱形零件:使用箱体减去孔实体,或拉伸一个轮廓(无熔合接缝)。螺纹仅建模为底孔。将外购/标准零件以简单实体的形式放入,以确保装配和干涉检查完整。
  3. 绘制前检查装配:(a & b).volume 对所有零件进行成对检查;每个重叠必须是零或有意为之(螺纹旋合、压配合)。修正模型,而非图纸。
  4. 为每个图纸页面编写一个函数,复制 examples/ 中最接近的示例:flanged_bush.py(回转体零件,基本模板)、bearing_bracket.py(装配、零件清单)、stepped_shaft.py(断裂视图、局部放大、移除剖面、螺纹)、flange.py(半剖、节圆、位置公差)、spur_gear.py(齿轮数据表)、weldment.py(焊缝符号)、milled_block.py(英语、第三角、公司标题栏)。从几何体开始,渲染,查看,然后按图层添加注释:中心线 -> 尺寸 -> 基准和公差 -> 表面粗糙度 -> 注释、表格 -> 标题栏。
  5. 渲染,阅读检查结果,查看每个页面。 Sheet.save(pdf, png=...) 打印检查报告并写入 <png>_check.png,其中每个发现都已框出。修正每个错误和警告(移动注释、更改偏移量、tshift、tpos、引线的转折点)。然后亲自阅读 PNG——检查能发现碰撞和不一致,但无法判断尺寸标注概念是否正确或箭头是否指向错误的边缘。裁剪密集区域以放大查看。切勿将您未曾查看的页面报告为已完成。
  6. 交付:每个图纸编号一个 PDF 文件、一个合并集(pypdf PdfWriter.append)、如果用户希望在 CAD 中编辑则提供 DXF、每个零件和装配体的 STEP 文件(export_step)。清晰说明哪些尚未绘制,以及哪些值是假设值。

每台机器设置一次:pip install -r requirements.txt。ISO 3098 字体 osifont 未包含;它位于 $DRAWLIB_FONT、scripts/fonts/、~/.drawlib/fonts/ 或系统字体中(请参阅 scripts/fonts/README.md)。没有它,库将使用 DejaVu Sans——几何结构相同,但字体不符合 ISO 3098;检查取决于当前激活的字体。

使用 drawlib

在编写第一个图纸之前,请阅读 references/drawlib_api.md——每一个调用都带有其坐标约定、使用技巧和注意事项。基本要点:

  • S = D.Sheet("A4"|"A3"|"A2"|"A1"|"A0", lang="de"|"en", projection="first"|"third")。A4 为纵向,其他为横向(landscape= 可覆盖)。图纸坐标以左下角为原点,单位为毫米。库写入的数字遵循语言的小数点分隔符,并且尺寸文本中的小数会被转换(在德语图纸上,"0.02" -> 0,02)。
  • V = D.View(S, origin, scale, *D.VIEWS["front"])——VIEWS 包含 front(主视图)、top(俯视图)、bottom(仰视图)、left(左视图)、right(右视图)、rear(后视图)、iso(等轴测图)。V.p(u, v) 将视图坐标(模型 mm)转换为图纸 mm——用于每个注释。错误的向量会引发清晰的错误;非 ISO 比例和倒置的视图会发出警告。
  • 视图:V.draw(solids, hidden=)、V.section([(V.cut(solid), angle, spacing), ...], background=[uncut parts])、V.half_section(...)、V.removed_section(...)、V.detail(centre, r, at, scale, "Z")、D.BrokenView(...)、V.thread(...)、D.views_layout(...)(按投影方法放置)。
  • 尺寸:S.hdim、S.vdim、S.dim、S.dim_angle、S.rdim、S.ddim;选项包括 tol=、box=True、outside=True、half=True、tshift=。
  • 配合:在文本中写入("Ø20 H7"、"Ø20 H7/s6");S.fit_table、S.fit_pair_table 打印 ISO 286 值;iso_tolerances 提供偏差、极限、配合、ISO 2768。
  • GD&T:S.datum、S.fcf(x, y, kind, "0.02", ["A", "B"])、S.fcf_leader。
  • 表面:S.rough、S.rough_leader、S.general_surface。
  • S.notes、S.leader_text、S.posnum、S.cutting_plane、S.bom、S.table、S.weld、S.pitch_circle、S.title_block(values, layout=json_or_dict, logo=png)。

至关重要的规则

这些是审查人员和工厂检查的要点;references/normen.md 包含表格(线型、ISO 2768 值、常用配合、典型 Ra 值、哪种几何公差用于哪种功能),在选择数值时应阅读。

  • 投影和视图:标明方法(标题栏中的符号)。定义零件所需的最少视图;回转体零件需要一条沿其轴线的剖面。优先使用剖面而非隐藏线。仅使用 ISO 5455 中的比例;小零件应放大绘制,以便尺寸有足够空间;长零件应断裂;小细节应给出局部放大视图。
  • 从功能基准标注尺寸,不构成封闭尺寸链,且绝不重复标注。辅助尺寸用括号括起来。尺寸应尽可能标注在轮廓外部;孔图案应在显示其圆形的视图中标注;较小的尺寸应更靠近零件。
  • 配合和公差:每个配合直径都应获得 ISO 286 配合(轴承座圈按轴承制造商建议)。所有未标注公差的尺寸均落入标题栏中的一般公差(默认 ISO 2768-mK;焊接件为 ISO 13920)。
  • 仅在功能需要时标注几何公差,并且始终附带一个本身是功能性、可测量特征的基准。轴线上的基准:与该直径的尺寸线对齐。引线垂直于表面相交。孔图案:理论正确尺寸加位置公差。
  • 每个功能表面都需要表面粗糙度,在标题栏旁边注明一般值一次。符号必须从下方或右方阅读——对朝下的面使用引线。
  • 剖面:在纵向剖切中,轴、销、螺钉、键、滚动体和筋不被剖切。相邻零件使用不同的剖面线;薄的剖切面涂黑(angle="solid");剖面线在文本周围自动中断。
  • 螺纹(ISO 6410)、焊缝(ISO 2553)、齿轮(ISO 2203):简化绘制,标注或数据表携带信息。
  • 装配图:项目编号排成一行,引线末端带圆点;零件清单位于标题栏上方,项目 1 在底部;标准件标注其标准代号;仅标注功能和安装尺寸;注释说明如何装配和调整。
  • 标题栏:标题、图纸编号、材料及标准代号、质量(solid.volume × 密度)、比例、一般公差、日期、页数 m/n、文档类型、修订。切勿将材料或比例留空——检查会标记。

关于局限性的诚实说明

  • 输出为 PDF/SVG/PNG/DXF 及 STEP,而非原生 SolidWorks/Inventor 图纸。如需在 CAD 中进一步编辑,请提供 DXF 和 STEP 并说明。
  • 图纸检查可发现碰撞和不一致,但无法判断尺寸标注、公差或视图选择是否正确。这是您根据 references/normen.md 中的核对清单对 PNG 进行审核的工作。
  • 您选择的公差值是工程建议。请说明哪些来自用户的文档,哪些是您自己的,以便他们能够为之辩护。

相关技能