Install
openclaw skills install @hegenerkondo335-dot/gb-cad-figure按中国国家标准(GB/T)生成正式工程图纸与CAD模板的可复用工作流:A3图框、标题栏、线型、国标尺寸标注、字体、比例、技术说明/图例、等轴测回转体(lathe/平滑轮廓)+引线式标注(LDIMS)+中心线+瓶底拱形,三格式交付(PDF+DXF+DWG)。开源品牌名 gb-cad-figure = GB国标 + CAD + 图形(figure)。 When to use: 当用户要求"按国标出工程图纸"、"画图框/标题栏/尺寸标注"、"生成CAD模板(.dwt)"、"正式工程制图"等涉及机械/建筑制图规范(GB/T)任务时使用。
openclaw skills install @hegenerkondo335-dot/gb-cad-figuredoc.styles.add(名,font="gbenor.shx"); st.dxf.bigfont="gbcbig.shx"(ezdxf 的 styles.add() 不支持 bigfont 关键字,须先建样式再设 .dxf.bigfont);或改用 TrueType font="仿宋"/"simfang.ttf"(无需大字体)。纯西文/数字用 gbenor.shx(直体)/gbeitc.shx(斜体15°)。所有含中文的实体(TEXT/MTEXT/ATTDEF/ATTRIB)必须统一指向该中文样式,禁止用默认 Standard(无 bigfont,中文必方块)。生成后务必跑字体自检脚本 check_dxf_fonts.py:遍历全部样式+块内实体,确认每个汉字样式已配 bigfont/TrueType、实体引用样式均已定义。attdef.dxf.style='GB_HZ'(gbenor.shx 西文 + gbcbig.shx 大字体组合);生成后用 check_dxf_fonts.py 验证汉字样式均配大字体、实体样式均已定义。【任务】按用户设计需求绘制CAD图纸:先 1:1 画主体(mm),再按主体外接矩形选标准图幅与比例,最后加图框/标题栏/图例/说明。
【绘制规则】
1 主体:严格 1:1,单位统一 mm;"主体"=零/部件/建筑实体本身,排除辅助线、尺寸标注、图框。画完测量外接矩形(长×宽)作为选幅依据。
1b 主体定义细化:按图纸类型界定主体——机械件=零件外形/孔/螺纹/倒角/圆角/键槽等结构特征;装配图=装配件组合体含配合/连接方式;建筑平面=墙/柱/门门窗/楼梯/阳台等;立面=外轮廓/门窗/装饰线条/檐口等;剖面=被剖墙体/楼板/梁柱/基础+可见立面;电路原理=元器件及导线;给排水=管道走向/管件/用水设备;暖通=风管水管/设备/风口。主体绘制规则:1:1且单位mm、坐标原点取主体左下角或中心(0,0)、主体放独立"主体"图层(白7号色/Continuous/线宽机械0.35建筑0.5)、先轮廓后内部细节再倒角圆角、必须封闭、不得遗漏内部细节。外部矩形 Lx×Ly 用 DIST/LIST 测,圆形=直径正方形,不规则取最小外接矩形。排除元素:尺寸/公差/粗糙度/基准/剖切/中心线/剖面线/引线/序号明细/标题栏图框/技术要求/图例/指北针/比例尺/版本。常见错误:辅助元素混图层、主体非1:1、轮廓不封闭、遗漏细节、单位不一致。
1c 单位统一:默认长度 mm、角度 度(°)、精度长2位/角1位。换算:1m=1000mm、1cm=10mm、1in=25.4mm、1ft=304.8mm、1yd=914.4mm、市制里/丈/尺/寸=500000/3333.3/333.3/33.3mm。CAD单位设置 UNITS:长度小数、精度0.00、角度十进制度、角度精度0.0、插入比例毫米、方向东0°逆时针正。DIMSTYLE 主单位=小数/精度0.00/小数分隔符句点,换算单位乘数按需(英转公25.4)。常见错误:米当毫米(12m→12000mm)、混用厘米毫米、导入英制未 SCALE 25.4、标注精度不一、弧度当度。检查:DIST 验证已知尺寸、LIST 看坐标、UNITS 看单位、INSERT 已知尺寸块(A4图框297×210)验证。特殊场景:米制图仍以mm画但标注加m后缀;英制先mm画后 SCALE 1/25.4 并在标题栏注明;草图单位不明先问用户不得自假设;不同精度统一按最高(0.1mm)画。输出:标题栏标"单位:mm",含换算单位需在说明注明换算关系。
1d 图层管理:命名规范(≤20字符,英/拼):主体PART/ZT、图框BORDER/TK、标题栏TITLE/BTL、图例LEGEND/TL、说明NOTE/SM、标注DIM/BZ、中心线CENTER/ZXX、剖面线HATCH/PMX、虚线HIDDEN/XX、文字TEXT/WZ、尺寸线DIMLINE/CCX、填充FILL/TC、参考线REF/CKX、图块BLOCK/TK。颜色:主体白7/图框红1/标题栏黄2/图例青4/说明绿3/标注蓝5/中心线红或洋红6/剖面线灰8/虚线洋红或蓝/填充灰8/参考线灰9/图块随块。线型:主体图框标题栏图例说明标注剖面线文字尺寸线填充=Continuous、中心线=CENTER、虚线=HIDDEN、参考线=DASHED或DASHDOT、图块随层;LTSCALE=图纸比例倒数×10。线宽(按方案A国标):图框外框(纸边)=0.25细、图框内框=0.7±粗、标题栏/图例=0.25、主体=0.35机械/0.50建筑、说明标注中心线剖面线虚线文字尺寸线填充=0.18、参考线=0.13、图块随层。管理:每层只放一种元素、绘制时冻结/关闭不需层、完成锁定防误改、按功能排序、PURGE清空层、优先企业标准。错误:全放0层/命名混乱/属性不一致/未冻结锁定/图层过多过少。输出:图层设置表(名称/颜色/线型/线宽)+确认元素正确分配+图层管理器截图。颜色注意事项:避免鲜艳/刺眼色、避免与背景色相近、黑白打印时应确保不同颜色打印后灰度有区别。
1d2 打印样式与图层状态控制:打印样式分 CTB(颜色相关,基于颜色映射:如1号红→黑、线宽映射、淡显) 和 STB(命名样式,基于图层名,适用大型/协作)。建议:黑白打印全映射黑+按层线宽;彩色保留原色;参考线/填充可淡显5080%。图层状态:开/关(LAYOFF/关=不可见不可编不可打印/临时隐藏)、冻结/解冻(不参与重生成/长期不用/当前层不可冻结)、锁定/解锁(LAYLCK/可见不可编/保护已完)、打印/不打印(参考线辅助线不打印)。图层过滤器:名称/颜色/线型/状态/组过滤器用于快速筛选管理。
1d3 图层工具与标准:常用工具 LAYER(LA)管理器新建/删除/重命名/置当前;LAYERTOOLS 系列:LAYISO隔离/LAYUNISO恢复/LAYOFF关/LAYON开/LAYFRZ冻结/LAYTHW解冻/LAYLCK锁/LAYULK解锁/LAYCUR置当前/LAYMRG合并/LAYDEL删除带对象层;LAYMCUR匹配为当前层;LAYWALK漫游(动态显示选定层)。转换:LAYTRANS图层转换器(映射标准层,接收外部图纸统一标准)、LAYERSTATE图层状态管理器(保存/恢复开冻结锁等)、LAYMRG合并(源层对象移目标层后删源层,不可撤销)。标准:GB/T 50001-2017 命名"专业代码-图层内容-图层属性"(如A-WALL建筑墙、S-COLU结构柱)、颜色按专业统一;企业标准=统一规则+DWT样板+定期清理;ISO 13567 命名"专业-内容-属性-状态"(如A-WALL-PART)。技巧:图层组/过滤器/DWT样板起步/PURGE清理。常见问题:图层删不掉(含对象/当前层/被参照→删对象、切当前层、清参照)、显示异常(关冻结/颜色线型错/范围→查状态、重置、REGEN重生成)、打印不显示(设不打印/样式错/线宽细→查打印、调样式、增线宽)。
1e 图幅选择与比例确定:标准横向图幅 GB/T 14689:A0=1189×841、A1=841×594、A2=594×420、A3=420×297、A4=297×210;加长幅面(A3×3/×4、A4×3/×4)用于细长形。选择原则:能完整容纳主体+全部辅元素并留边距;优先标准图幅,容纳不了再加长;不宜过大过小;考虑打印设备最大幅面。选择步骤:1) 测 Lx×Ly;2) 所需最小宽度=Lx+左右边距(如40)+标题栏占用(180), 高度=Ly+上下边距(30)+标题栏(50);3) 与标准图幅比选能容纳的最小者;4) 不够选加长幅。比例=图幅/主体外接矩形(取较小值后向下归到标准比例 1:1/1:2/1:5/1:10/1:50/1:100/1:200/1:500/1:1000),留白占图幅10%A4)或10mm(A0/A1);标题栏右下角180×56(GB)含图名/图号/比例/单位/日期/签名;放独立 BORDER/TK、TITLE/BTL 层。错误:图幅过小图形超框、过大留白多、比例非标准、线宽设错、标题栏信息不全。输出:所选图幅尺寸+名称、比例及计算过程、确认图框标题栏正确放置、图幅布局示意。
1f 图框模板:外框与内框(按方案A国标线宽):外框(纸边)=0.25细、内框(绘图区)=0.7粗,颜色红1号/BORDER/TK层;内外框间距:装订边(左横装/上竖装)留25mm,其余边留5mm(A220%。图框(按方案A国标):外框(纸边)=0.25细、内框=0.7粗、内外框间距 装订边左2025 其余5mm(A2A4)/10mm(A0A1);线连续无断开转角直角。标题栏:右下角 180×50mm(本部分指定;GB标准为180×56,需与既有统一时确认),黄色2号/TITLE/BTL层,字高 图名5-7、其余3-5、签字及材料重量2.5-3.5;含 图纸名称/图号/比例/设计单位/设计人/审核/日期/材料/重量/共X张第X张。图例:标题栏上方,宽与标题栏一致(180)高50-100;说明:左上角,宽200-300高50-100;图例/说明距内框线10mm。使用流程:选图幅→调图框模板(.dwg)→插主体居中→填标题栏→加图例说明→检查。错误:外内框线宽相同、装订边方向错、标题栏尺寸不符、信息不全、图例说明与标题栏重叠。输出:图框模板.dwg+标题栏填写示例+确认无重叠+布局示意。
2 图幅与比例:根据主体外接矩形尺寸选择能完整容纳的最小标准图幅(A0=1189×841/A1=841×594/A2=594×420/A3=420×297/A4=297×210,必要时加长幅),不固定默认图幅;主体过大/过小相应选更大/更小幅面。比例用国标推荐 1:1/1:2/1:5/1:10/1:50/1:100/2:1/5:1(用户 2026-08-08 修改:去A3默认,按主体选幅)。
3 图框(GB/T 14689):**外框(纸边)细实线0.25mm、内框粗实线0.71.0mm(注意方向勿写反)**;装订边(左)2025mm 其余5mm;四边对中符号;主体左下角对齐或居中。
4 标题栏(GB/T 10609.1):右下角;每个标签(图名/图号/比例/日期/材料/重量/单位等)后必须接独立空白内容单元格,标签|内容相邻不同格;签字类(制图/审核/设计)留空。图名文字57mm、其余2.53.5mm。
5 图例:图框内右下角(标题栏上方)或左下角,符号+文字说明,大小与比例协调。
6 说明文字:左上角或标题栏上方,填未注公差/表面处理/热处理/装配等;字高3~5mm;DXF中汉字用 gbenor.shx+gbcbig.shx 大字体(防方块)。
7 图纸布局(横/竖可选, 视情况选用;2026-08-08 用户提供竖版规范):竖版与横版布局均可,根据主体形态/场景/用户要求选择使用,非强制。 竖版布局(竖向图幅,最短 A4=210×297):装订边(左)25、其余三边10;自下而上 图框下边→标题栏(底部, 高约30, 宽=图框宽, 标签|内容分格, 文字正向)→间距10→图例(高约50, 宽同)→间距10→说明/技术要求(高约40, 宽同)→间距10→绘图区(顶部);竖版时标题栏放底部横贯、图例与说明不放顶部、文字正向。横版布局(横向图幅):标题栏右下角(180×56 或按横版规范),主体在左绘图区。选图幅:按主体量级(名义尺寸 S=max(Lx,Lz) ≤ 图幅短边)选相称图幅,比例取能容纳的最小标准比(1:1/1:2/2:1...)。实现引擎:cad/gb_figure.py(V3, 横/竖自动选择 + 自动选图幅与比例)。
8 图幅/标题栏标准参数表(用户2026-08-08提供, 依据 GB/T 10609.1-2009):
('lathe',cx,cy,contour),contour=list of (z,r) 折点。引擎用 Catmull-Rom 样条插值 r(z)(C1 连续, 过所有折点),等轴测下自动画左右两条平滑母线(替代阶梯圆柱)+顶口整圆+底前缘半圆。用于流线型/脉动瓶/可乐瓶等平滑弧形轮廓。折点写法:圆柱段用等 r 两点、腰身用减小 r 点、肩/颈用递减 r 收窄(如可乐瓶 [(0,32.5),(30,33),(70,25),(110,32),(140,30),(165,20),(190,12.5),(200,12.5)])。DIMS 按最大/腰身/瓶口半径与总高标注;母线在 DXF 以 48 点平滑折线输出(视觉等价 SPLINE)。选幅保比例(>1:2 自动升图幅)。线连接自检(2026-08-09):底圆前缘弧须含左右母线端点(θ0/θ180)严格闭合,避免悬空断点;母线端与顶口圆 θ0/180 点重合。已验证闭合。
**遮挡(2026-08-09):lathe 参与遮挡判定——occluded 用 lathe_fwd_depth(最大半径圆柱近似, 偏保守删隐藏线),被该 lathe 挡住的后续实体(cyl/box/另一lathe)隐藏线会被正确裁剪;自身段靠 i==skip 排除不自挡。已验证:同轴柱穿过瓶身→柱在瓶内部分隐藏、两端露出可见、无外泄;单一回转体不受影响。**选幅保比例(>1:2 自动升图幅)。已验证:脉动瓶→A3 横 1:2、经典可乐瓶→A3 横 1:2。瓶底拱形与中心线(2026-08-09):lathe 自动画瓶底外凸拱弧(拱高=按瓶高 5%, 范围 4~10mm, 中央下凸);generate 自动画竖直点画中心线(CENTER 层)贯穿回转体轴并上下延伸(伸出量=max12,8%瓶高)。回转体图必备中心线, 与技术要求"以中心线为基准"呼应。
10 渲染质量自检规范(每次出图后自动核对, 2026-08-09 汇总用户三份提示词):cad/dxf2dwg.sh:ODA File Converter(AppImage, Autodesk 官方免费, 无 root 用 --appimage-extract 解压 /tmp)+系统 Xvfb(xvfb-run) 命令行 DXF→DWG,无损保留图层/文字/图名(已回读验证)。版本默认 ACAD2018,可指定 ACAD2000~2021。本技能核心代码位于技能包 scripts/ 目录:
| 文件 | 作用 | 依赖 |
|---|---|---|
gb_figure.py | 引擎:参数化生成 PDF + DXF(自动选幅/图框/标题栏/尺寸标注/中心线/瓶底拱形/等轴测回转体 lathe/引线标注 LDIMS) | Python3, ezdxf, reportlab, PyMuPDF(fitz);汉字需系统字体 Harmony |
check_dxf_fonts.py | 校验 DXF 中文字体配置(防方块) | ezdxf |
dxf2dwg.sh | DXF→DWG 转换(需 ODA + Xvfb) | tools/ODAFileConverter.AppImage + 系统 xvfb |
python3 scripts/gb_figure.py(输出到脚本所在目录;也可调用 generate() 编程式生成)python3 scripts/check_dxf_fonts.py 输出.dxfbash scripts/dxf2dwg.sh 输入.dxf 输出目录/(默认 ACAD2018)dxf2dwg.sh 时自动调用 scripts/tools/fetch_oda.sh 下载 AppImage(~82MB) 到 scripts/tools/;因 ClawHub 单文件限 10MB 故不打包二进制,首次转 DWG 自动拉取。仅出 PDF/DXF 无需 ODA横版标题栏(右下角 180×56)按三行布局, 每个字段后均有预留填写单元格:
gb_figure.py generate 的 hb 分支(cell 独立布局); 竖版沿用 tbc/tbz/TFILL