ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

三步搭好 FreeCAD GB/ISO 标准件库:标准螺栓参数化建模实战指南

三步搭好 FreeCAD GB/ISO 标准件库:标准螺栓参数化建模实战指南 三步搭好 FreeCAD GB/ISO 标准件库标准螺栓参数化建模实战指南【免费下载链接】FreeCADOfficial source code of FreeCAD, a free and opensource multiplatform 3D parametric modeler.项目地址: https://gitcode.com/GitHub_Trending/fr/FreeCAD同一个 M8 六角头螺栓画到第 10 遍时螺距、对边宽、头部高度还是散落在三张不同的图纸里改一次规格就得满仓库找原文件。解法是把标准件沉淀成 FreeCAD GB/ISO 标准件库每个常用件做成一份参数化模板尺寸按标准号取值换规格只改几个数字。本文拿一颗 GB/T 5782 M8 螺栓走完全流程——FreeCAD 参数化建模、存模板、批量出系列、装配里直接调用。FreeCAD 标准件库集成底座三个工作台加一种文件格式先把家底盘清楚标准件库不是新模块而是下面几个已有能力的组合PartDesign 工作台标准件的建模主阵地草图加垫块/凹槽就能搭出头部加杆身。它的孔Hole特征内置 ISO 公制螺纹表ISOMetricProfile粗牙与ISOMetricFineProfile细牙M1 到 M68 全覆盖枚举清单可对照 src/Mod/PartDesign/PartDesignTests/TestHole.py。TechDraw 工作台负责出图与公差标注孔轴配合工具会把常用配合如 H7/k6、H7/s6做成选项源码在 src/Mod/TechDraw/TechDrawTools/TaskHoleShaftFit.py做 GB 版配合表可以直接参考它的数据结构。FCStd 文件格式FreeCAD 原生格式保存的是完整参数树而不是死几何。一份 FCStd 就是一份可重复调用的标准件模板官方示例文件可看 data/examples/。现成标准件参照链轮功能 src/Mod/PartDesign/SprocketFeature.py 把 ISO 606 的 06B、08B、10B 等 B 系列规格直接做成了下拉选项证明标准表 UI 选项这条集成路径是官方认可的。 三步搭好参数化六角头螺栓模板以 GB/T 5782 M8 为例) 这一步的目标建一颗能改数复用的螺栓而不是一次性的实体。参数确认先落纸面。M8 的关键尺寸如下单位 mmGB/T 5782 与 ISO 4017 同值# GB/T 5782 六角头螺栓 M8单位mm d 8.0 # 螺纹公称直径 pitch 1.25 # 粗牙螺距对应 ISOMetricProfile 的 M8x1.25 L 30.0 # 螺栓公称长度 k 13.0 # 头部对边宽度 m 5.3 # 头部高度标准最大值构建与存档按下面三步走每步只做一个决策步骤动作① 确认参数把上表 5 个值填入脚本变量或电子表格后续所有尺寸只引用这些变量杜绝改一处漏一处② 构建几何在 PartDesign 里画对边宽 13 的正六边形草图垫块 m5.3 成头部再画 φ8 圆草图垫块 L30 成杆身。杆身按光杆建模即可配合与出图阶段按标准标注螺纹③ 存为模板存为 FCStd 放进库目录文档按标准号_M规格_L长度命名GB5782_M8_L30。复用时打开它只改 L其余尺寸自动跟随两个细节值得留意一是头部与杆身做成两个独立命名特征PadHead、PadShank之后想改六角头或加倒角都能精准定位二是配套零件上的螺纹孔直接用 Hole 特征选ISOMetricProfile → M8x1.25切出来和螺栓模板天然成对不需要自己算底孔直径。GB/T 5782 参数映射到 FreeCAD 的三种做法参数差异GB 与 ISO 到底差在哪先纠正一个常见误解现行 GB/T 5782 与 ISO 4017 在 M8 上尺寸是一致的——螺距 1.25、对边 13、头部高度最大 5.3。真正的差异集中在老版本标准和标注习惯如旧版 GB 对头部高度取过 0.7×d 一类的近似系数。所以参数映射的原则是按标准号 规格建对照表取标准表值而不是套一个通用公式。一个 M8x1.0 的细牙版本直接选ISOMetricFineProfile里的同名规格即可表里现成。脚本目录组织按件类拆文件标准参数集中管理建议按件类一个文件参数与生成函数放一起GB_Parts/ ├── bolts/ │ ├── gb5782.py # 六角头螺栓部分螺纹 │ └── gb5783.py # 全螺纹六角头螺栓 ├── nuts/ │ └── gb6170.py # 六角螺母 └── washers/ └── gb97.py # 平垫圈每个gb*.py只做两件事定义该规格族的参数表尺寸-螺距-头部尺寸提供make_xxx(doc, spec)生成函数。生成函数就是第 2 节步骤②的脚本化版本这样库里的 FCStd 模板和脚本产出永远同源。任务面板扩展给配合表加 GB 选项TechDraw 的孔轴配合面板 src/Mod/TechDraw/TechDrawTools/TaskHoleShaftFit.py 里配合表就是一组[孔公差, 轴公差, 配合性质]三列表。仿照它给 GB/T 1800 系做一张子集即可# GB/T 1800 常用配合子集单位mm 级公差代号 gb_fit_table [ [H7, h6, 间隙配合], # 螺栓孔与光轴 [H7, k6, 过渡配合], # 定位销孔 [H7, s6, 过盈配合], # 压装销轴 ]三行数据就能让标注界面从ISO 默认表扩展出 GB 选项配合代号含义也和 ISO 体系一致团队看图不会混淆。三个立即可用的提效手段检索、批量、装配调用FreeCAD 标准件库路径设置与本地检索把库放在固定目录如~/FreeCAD/GB_Parts/命名强制走标准号_规格_长度规则。这样即使不装任何插件打开文件对话框按名称排序就能按标准号分组扫读再配一个搜索命令比如find ~/FreeCAD/GB_Parts -name GB5782_M10*就等于一个轻量资源浏览器。收益找一颗 M10 螺栓从翻图纸柜变成输一半文件名。批量生成一个脚本出一个规格族标准件是尺寸 × 长度的笛卡尔积手建 12 个规格纯属浪费。最小框架如下调用第 2 节的生成函数import FreeCAD def batch_bolts(sizes, lengths): # sizes 公称直径 / lengths 螺栓长度单位 mm for d in sizes: for L in lengths: doc FreeCAD.newDocument(fM{d}_L{L}) make_hex_bolt(doc, d, L) # 第 2 节的建模函数 doc.saveAs(fGB5782_M{d}_L{L}.FCStd) FreeCAD.closeDocument(doc.Name) batch_bolts([6, 8, 10, 12], [20, 30, 40])跑一遍M6 到 M12 × 20 到 40 共 12 颗螺栓模板入库。收益标准件库从有几颗用几颗变成标准表里有什么就有什么。FreeCAD 装配调用标准件在 Assembly 工作台里打开装配文件通过插入部件从库目录选入GB5782_M8_L30.FCStd再用约束如面贴合、轴对齐把螺栓头部贴合垫圈、杆身对齐螺纹孔。因为模板内部是参数化的装配里发现长度差 2mm 时直接回模板改 L 值装配自动更新。收益标准件不再是复制体而是与父模型参数关联的活件。避坑提醒与下一步动作⚠️ 库建起来只是开始三条建议按顺序做参数表集中管理把散在脚本里的尺寸迁到 Spreadsheet 工作表一份表同时服务 GB/ISO 两列规格切换标准只改一列。参数化模板最怕参数散落这一步不做库会慢慢退回一堆 FCStd。云库共享用 Git 管理 GB_Parts 目录团队成员拉同一个仓库FreeCAD 源码仓库同样可用git clone https://gitcode.com/GitHub_Trending/fr/freecad获取标准件库照此模式独立建库。收益是版本可追溯、评审走 diff。符合性校验写个小脚本遍历库内 FCStd把每个模型的螺纹直径、对边、头高读出来与参数表逐项比对不一致就报警。有了这道闸门库里的 M8 和 GB/T 5782 表里的 M8 是同一个东西才是一句有依据的话而不是口号。标准件库的价值不在建模本身而在它让选标准件这件事从翻文件变成选参数。先跑通一颗螺栓再谈整个体系。【免费下载链接】FreeCADOfficial source code of FreeCAD, a free and opensource multiplatform 3D parametric modeler.项目地址: https://gitcode.com/GitHub_Trending/fr/FreeCAD创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表