简介《国标图号编制方法》是一份面向机械与电气产品设计、标准化及图档管理人员的内部规范文档主要解决企业产品图号编制口径不统一、装配、部件与零件代号混淆等问题。文档以十进位编号法为主线系统说明图号可用字符、独立代号原则、多张图纸同代号标注、表格图多规格代号等基本规则并拆解标准产品、工程产品与试制产品三类图样代号的组成方式辅以 GGD.1.055.001L、GGD.05001—01L、GGD.S1.055.001L 等实例帮助读者理解产品名称、设计序号、特征代号、序列号和类别代号的取值与含义文末特征代号汇编按躯壳、盘屏板、底架、面板等部类分组便于查用。资源包共1个doc文件约1.53MB结构紧凑适合作为企业标准化培训或设计部门编号参考。已有575人学习。1. 图纸堆到两万张之后编号规则比画图能力更早崩去年帮一家做成套开关设备的公司梳理设计文件档案柜里躺着两万多张底图同一块底板在不同项目里有三个名字有的写“底板-2”有的写“GGD底板改”还有的干脆只写了日期。装配钳工拿着 BOM 找件得先打电话问设计员设计员再翻聊天记录一来一回半小时。这不是画图能力的问题是图号在图纸数量过百之后就撑不住了。这套方案要解决的就是把图号从随手起的文件名变成一条能被查、能被校验、能被交接的结构化编码哪个产品、第几次设计、什么特征、第几张、属于哪类图纸全部在号里说清楚。适合正在编企业设计文件管理规定、做图纸管理系统课程设计或者要把编号规则写进毕设文档的人直接拿去改。2. 编码骨架字符集、十进位与四类代号的职责划分动手编规则之前得先把三条底线定下来能用哪些字符、每个段位多长、什么情况下必须唯一。这三条定不住后面写再多条款都是补丁摞补丁。我见过不少企业标准开头就写“图号应唯一、清晰、便于识别”听着都对落地全是扯皮因为没人说得清“唯一”到底管到零件级还是图纸级。2.1 允许字符集把 I 和 O 挡在门外编号可用的字符就三类0~9 的阿拉伯数字、A~Z 的英文字母去掉 O 和 I、以及短横线、圆点、斜线三个分隔符。去掉 O 和 I 不是洁癖是血泪经验。底图打印缩小到 A3 之后O 和 0 基本上是同一个字形I 和 1 也一样车间师傅拿着纸质图核对件号认错一位就得返工。设计部门如果还要做 OCR 扫描归档这两个字母的识别错误率会明显高于其他字符属于典型的给自己埋雷。三个分隔符要有明确分工不能混着用。圆点做段与段之间的主分隔比如GGD.1.055.001L里的三个点把五段切开短横线专门用于工程编号与序列号之间的连接比如GGD.05001—01L看到短横线就知道这是工程产品斜线留给“共几张、第几张”这类附属标注别让它出现在主代号里否则解析时会被误判成层级。还有一个原文里没写死、但实际一定会出问题的点大小写。类别代号里 Z 表示总装图、z 表示展开图只靠大小写区分。这在 Windows 文件名、Excel 单元格、PLM 系统里几乎必然翻车因为这三处默认都不区分大小写一个GGD.1.055.001Z存进去再导出来你根本不知道它原来是总装还是展开。提示通常的做法是全部强制大写展开图改用两位代号例如 XZ把唯一的“单字母位”留给总装、分装、焊接、零件、开孔这五类高频图纸。2.2 十进位编号法落到段位上是什么样子标准里写“采用十进位编号法”这句话本身很抽象得翻译成可执行的定长规则。十进位的核心是每一位有固定的取值范围进位关系明确。落到图号上就是每一段都定长、都在一个封闭区间内取值段与段之间用固定分隔符隔开。这样做的直接好处是字符串排序等于业务排序正则能一次解析出所有字段程序截取某一位就能判断图纸类型不用查表。段位取值区间定长作用产品名称型号字母数字组合2~6 位归属产品设计序号1~91 位第几次设计特征代号001~9993 位零件功能归类序列号001~9993 位同类件流水类别代号单字母或双字母1~2 位图纸类型定长还有个隐性价值编号一旦按字符串排序001、002、010的顺序天然正确。如果允许1、2、10这种不定长写法排序结果会变成1、10、2档案室按号排架时就得多一道人工核对。特征代号这一段其实是十进位的第二次应用只是很多人没意识到。三位数的前两位是组号按 10 递增00、01、02、04、05……第三位是组内序号 0~9。也就是说每个组预留十个位置0 到 8 放具体件9 统一写“其他”兜底。001~009是躯壳壳体组010~019是盘和屏板组020~029是底架底盘组以此类推。看懂这条规律附表就不是一堆要背的词而是一张能推的坐标网。2.3 唯一性一物一号、一图一号、多图同号唯一性要拆成三句话分别对应三种场景。第一句每个产品、部件、零件都必须有独立代号。注意这里管的是“对象”不是“图纸”一个零件不管画几张图它只有一个对象代号。这条挡住了“同一个件在不同项目里叫不同名字”的混乱。第二句同一个对象的图样分多张绘制时各张都标同一代号用“共几张、第几张”区分。这是最容易执行走样的一条很多单位图省事第二张开始写“同上”归档时图纸和代号就对不上了。正确做法是每一张图纸的标题栏里都完整写一遍代号再单独加共页信息别指望读者去翻上一张。第三句表格图里多种规格的零件每行规格都要有独立代号。表格图本质是“一张图纸承载多个对象”如果不给每行单独编号BOM 展开时就没法把某个具体规格的件单独拎出来采购。还有一个标准里没写、但现场必须有共识的问题零件改版怎么办。图号标识的是“对象”版次标识的是“状态”两者必须分离。改尺寸、改材料、改工艺图号不动版次从 A 升到 B只有当这个件被彻底取消、由新件替代时才发新图号旧号作废并进黑名单永久不许复用。这条不写进制度三年后一定会出现“新件和老件撞号”的玄学问题。3. 三类产品代号标准、工程、试制的段位设计与实例产品图号不是一套规则打天下。标准产品是自主研发的定型产品工程产品是跟着订单走的非标设计试制产品是还没定型的新品三者的追溯需求完全不同段位结构必须分开设计否则就会出现“工程件借用标准件号段”这种把档案搞乱的操作。3.1 标准产品五段式与类别代号表标准产品图号的结构是产品名称 设计序号 特征代号 序列号 类别代号五段之间用圆点分隔。以GGD.1.055.001L为例拆开看GGD是产品型号直接拿型号当产品名称不再另起中文名1是设计序号表示这是该产品的第一次设计055是特征代号表示这个零件属于哪个功能组001是该特征下的第一个件L是类别代号表示这是一张零件图。类别代号建议做成一张封闭清单不允许自由发挥代号含义代号含义Z总装图K开孔图F分装图XZ展开图H焊接图TM图样目录L零件图CB材料明细表清单封闭的意思是新增类别必须走变更流程不能设计员自己造一个B代表“部件图”就用了。类别代号是给全公司看的一个人造一个新字母等于给所有人增加一次查表成本。设计序号这一段有个规则缺口要提前堵上只留 1 位取值范围 1~9那第十次设计怎么办。大部分企业的做法是改成两位或者在 9 之后切换到字母序列。我一般建议直接扩成两位01~99一次改到位别等到第九次改版再来讨论。工程上最贵的事就是改已经发下去的编码规则。3.2 工程产品工程编号是可追溯性的命门工程产品的图号结构是产品名称 工程编号 序列号 类别代号段与段之间用圆点工程编号和序列号之间用短横线。GGD.05001—01L里05001是工程编号前两位表示年份后三位表示该年第几个工程05001就是 2005 年第 1 个工程01是这个工程里的第一个非标件L是零件图。工程编号是整个追溯链条的命门。用内部流水号有一个天然缺陷三年后有人拿着一套图纸问“这是给哪个客户做的”你得先翻工程台账把05001翻译成项目名再翻合同。原文里那句注解其实说到了点子上——最好直接用合同号这样工程从头到尾都有可追溯性。真要用合同号得先处理两个现实问题。一是合同号里可能带字母和特殊符号那就做一次映射合同号存台账图号里放一个固定长度的工程编码两者一一对应。二是合同号长度不统一放进定长图号里会破坏可解析性所以工程编码必须自己定长比如固定 5 位。这两步做完追溯就是从图号反查台账的一次查询不用靠人脑记忆。序列号这里只有 01~99 两位意味着单个工程最多 99 个非标件。小工程够用大工程会溢出。通常的做法是溢出后进三位或者按部件拆分编号。这个上限要写进制度别等到第 100 个件才发现没号可用。3.3 试制产品S 插入的位置和退出机制试制产品的图号结构是产品名称 试制代号 试制序号 特征代号 序列号 类别代号。GGD.S1.055.001L里S是试制标记1是第一次试制。整个结构就是把标准产品的五段式在名称后面插入了S和试制序号两段其余段位规则完全一致。这样设计的好处是试制转定型时只需要把S和试制序号两段去掉后面的特征代号、序列号可以原样保留。零件还是那个零件图号变化最小BOM 和工艺文件的对应关系不会被大面积打乱。有些单位图省事试制件直接套用标准件号段结果试制改了七八轮标准件号段里混进一堆实物早就没了的图整理起来比重编还累。试制代号还承担一个管理职能它明确告诉采购、工艺、生产这套图纸不能直接进批量流程。试制件可以用非标材料、可以没有工装、可以不做完整工艺这些都是成本控制点。S一去掉意味着这套图已经通过验证进入定型管理后续变更要走正式的改版流程。3.4 用校验脚本把规则钉死制度写在纸上执行靠人眼早晚要出错。图号这种东西规则清晰、格式固定最适合用代码卡住。下面这段是我一般会放在编号系统入口的校验脚本设计员提交图号时先过一遍格式不对直接打回。import re # 三套规则按产品类型分开注意长代号要排在短代号前面 # 否则 TM 会被 T 抢先匹配掉一部分正则回溯虽然能救回来但可读性差 PATTERNS { # 标准产品GGD.1.055.001L standard: re.compile( r^(?Pproduct[A-Z0-9]{2,6})\. r(?Pdesign[1-9]) # 设计序号 1~9 r\.(?Pfeature\d{3}) # 特征代号 001~999 r\.(?Pserial\d{3}) # 序列号 001~999 r(?PcatTM|CB|XZ|Z|F|H|L|K)$ ), # 工程产品GGD.05001-01L短横线两边不留空格 engineering: re.compile( r^(?Pproduct[A-Z0-9]{2,6})\. r(?Pproject05\d{3}) # 05001~05999年份后两位三位流水 r-(?Pserial\d{2}) # 工程内非标件 01~99 r(?PcatXZ|Z|F|H|L|K)$ ), # 试制产品GGD.S1.055.001L trial: re.compile( r^(?Pproduct[A-Z0-9]{2,6})\. rS(?Ptrial[1-9]) # 试制序号 1~9 r\.(?Pfeature\d{3}) r\.(?Pserial\d{3}) r(?PcatTM|CB|XZ|Z|F|H|L|K)$ ), } def parse_drawing_no(code, kind): 解析图号返回字段字典不合格直接抛错不返回半成品。 code code.strip().upper() # 统一大写杜绝 Z/z 混用 m PATTERNS[kind].match(code) if not m: raise ValueError(f图号格式不合规: {code} (类型: {kind})) return m.groupdict() def check_unique(code, used): 唯一性检查同一代号只允许出现一次作废号也在 used 里。 if code in used: raise ValueError(f图号重复或已作废: {code}) return True if __name__ __main__: print(parse_drawing_no(GGD.1.055.001L, standard)) # {product: GGD, design: 1, feature: 055, serial: 001, cat: L} print(parse_drawing_no(GGD.05001-01L, engineering)) print(parse_drawing_no(GGD.S1.055.001L, trial))这段代码有三个设计取舍值得说。一是先strip().upper()再匹配。大小写问题在源头解决比在正则里写[Zz]干净得多也顺手把设计员误输的空格干掉。二是解析失败直接抛异常不返回一个字段缺失的字典。图号这种东西没有“差不多能用”的中间状态缺一段就是废号让它带病入库后面每一条引用都是错的。三是check_unique里的used集合要包含作废号。很多人只查“当前有效号”结果三年前作废的号被新人捡回来重发档案里就出现两个同号不同物属于查起来最痛苦的那类 bug。4. 特征代号汇编部类、组、序号三层索引怎么建怎么查附表是整套规则里最厚的一块也是最容易被当成“抄一遍就行”的部分。实际上附表的设计质量决定了这套编号能不能被人真正用起来——查不到、查得慢、查出来三个都能用设计员就会绕开附表自己编规则立刻失效。4.1 三位特征号其实是十进位的第二次落地把附表翻开看规律零件表里000到009全是躯壳、壳体、轴承外壳、端盖这一类010到019是盘、屏板、圆筒020到029是底架、底盘、底座040到049是支柱、撑柱、支架。看出来了吧组号按 10 递增组内序号 0~9最后一位固定是“其他”。这就是十进位编号法在零件分类上的第二次应用和第 2 章讲的段位定长是同一个思路。再往上一层是部类。零件表大致分成这么几块00 基本支撑躯壳、盘屏板、底架、支柱、侧板隔板、面板、梁、骨架11 辅助支撑及安装支撑件、母线夹、角撑件、筋加强板、卡板弯板、板片架板、角板角钢、管22 传动导向及限动转轴、套、滑轮、传动件、齿轮、飞轮操纵件、导轨、停挡、减震弹簧、负荷件33 保护罩壳、盖、门、栅、盒箱柜、联锁件、封环密封44 特殊用途55 导电接触电缆、导线、触头、母线77 绝缘88 包装标志附件99 紧固件螺钉、螺栓、螺柱、螺母、垫圈、铆钉、键、木螺钉、钉子。零件表和部件表要分开建不能合成一张。同样是001在零件表里是躯壳在部件表里是熔焊或铆接的壳体两者语义不同。合成一张表的直接后果是查重失效——设计员查001发现被占了其实占的是另一类对象的号。4.2 新零件的申请与查重先归部类再抢组内坑位一个新型号上来设计员面对的第一个问题是“这个件该编什么特征号”。我一般让他们走三步。第一步判断对象类型。是单个不可拆的零件还是由多个零件装起来的部件。这一步走错后面全错因为零件表和部件表是两套独立的号段。第二步按功能归部类再归组。比如一块起支撑作用的底板先进 00 基本支撑再看它是底架类还是板类——如果它是箱体底部的大板归050侧板、隔板、端板、底板这一组如果它是独立安装在基座上的底板归020底架、底盘那一组。归类靠的是“这个件在结构里干什么”不是“它长什么样”同样一块钢板装在侧面就是侧板装在底部就是底板。第三步在组内找空位。组内 0~8 是具体件号按顺序往后排9 是“其他”兜底。这里有个使用纪律009不能当垃圾桶。实际项目里我见过一个009里塞了二十多种完全不相干的杂件查重等于没查最后谁也不知道某个新件到底有没有编过号。组内 0~8 用满了怎么办两种做法。一是把这个组拆成两个组比如050拆成050侧板、壁、底和051边板、边缘重新分配。二是新建一个组号跳到下一个十位。前者更整齐但要做一次存量数据的迁移后者不动老数据代价是附表越来越长。我的建议是当某个组的“其他”超过五种件时就该考虑拆组了这时候还没到必须动存量数据的地步。4.3 用一张表管住附表附表用 Excel 管几十行还行上千行就开始出问题多个人同时改版本对不上查重靠肉眼容易漏想按关键字搜“底板”搜出来七八条不知道选哪个。落到数据库里就干净多了。CREATE TABLE feature_code ( id INTEGER PRIMARY KEY, kind CHAR(1) NOT NULL, -- P零件 A部件两张附表分表存 dept_code CHAR(2) NOT NULL, -- 部类00 基本支撑 / 11 辅助支撑 / 22 传动 ... group_code CHAR(2) NOT NULL, -- 组05 侧板隔板 / 20 底架 / 40 支柱 ... feat_code CHAR(3) NOT NULL, -- 三位特征号前两位组号末位组内序号 feat_name VARCHAR(64) NOT NULL, status CHAR(1) DEFAULT A,-- A 可用 / F 作废 / R 预留 remark VARCHAR(200), UNIQUE (kind, feat_code) -- 零件、部件各自一套号互不冲突 ); -- 查重给底板找一个可用的特征号 SELECT feat_code, feat_name FROM feature_code WHERE kind P AND status A AND feat_code LIKE 05% -- 先锁定侧板隔板组 ORDER BY feat_code; -- 体检找出某个组里已经用了几个坑位还剩几个 SELECT group_code, COUNT(*) FILTER (WHERE status A) AS used_slots, 10 - COUNT(*) FILTER (WHERE status A) AS free_slots FROM feature_code WHERE kind P GROUP BY group_code HAVING COUNT(*) FILTER (WHERE status A) 8; -- 快满了提前预警表结构上有两个点是我踩过坑之后加上的。UNIQUE (kind, feat_code)而不是只约束feat_code。原因前面说过零件和部件是两套独立号段同一个三位数在两张表里各有一个含义。status字段设三个值而不是布尔值。R预留是给“这个坑位已经规划好给某类件但实物还没设计出来”的情况用的设计评审时先把号占住免得两个项目组同时抢同一个位置。没这个状态就只能靠人盯一忙就忘。最后那条HAVING查询是给附表维护人用的定期体检。组内坑位用到 8 个就该预警了等到用满再处理通常已经是项目催着要号的时候只能临时塞进“其他”。5. 避坑与排查图号管理里最容易翻车的五个点规则写得再漂亮落地时总有几处会崩。下面这五条是这类项目里出现频率最高的每条都按现象、原因、解决三步说方便对着自查。5.1 大小写混用导致总装图和展开图撞号现象系统里导出的图纸清单同一个图号出现两次一次末尾是Z一次末尾是z打开看一张是总装、一张是展开。原因类别代号里 Z 和 z 只靠大小写区分而 Windows 文件名、Excel 单元格、多数 PLM 系统默认不区分大小写存储和导出过程中被自动归一化了。解决取消大小写区分展开图改成两位代号如XZ同时在校验脚本入口统一upper()。存量数据做一次全量扫描把所有末位小写 z 的图号列出来人工确认后批量替换替换记录留档。5.2 设计序号第九次改版之后无号可用现象某个定型产品迭代到第十次设计员在GGD.9.055.001L后面没地方加序号了随手写成GGD.10.055.001L段位长度变了。原因设计序号只留一位取 1~9制度里没定义第 10 次怎么处理。解决短期先扩成两位01~99一次改到位。存量数据保留原格式新号按两位生成在解析脚本里用\d{1,2}兼容两代格式过渡期结束后统一。这类“改已经发下去的编码规则”的事越早做成本越低。5.3 工程编号用内部流水追溯断链现象客户投诉某台柜的某个件有问题拿着图号去查工程编号05237查出来是“2005 年第 237 个工程”但台账里那一行只写了项目简称没有合同号客户到底是谁得再翻两年前的邮件。原因工程编号只编了内部流水没有和合同号建立映射导致图号无法独立完成追溯。解决建立工程编号与合同号的对照表图号里存编码台账里存映射查询时一次 join 就能拿到客户信息。新工程从建立台账那一刻起就强制填合同号老工程做一次补录补不上的标注清楚别装作没有。5.4 多张图纸只标一张代号其余写“同上”现象一个大型焊接件画了四张图第一张写了完整代号后三张标题栏写“同上”归档扫描后四张图分开存放后三张成了无主图纸。原因图省事加上设计员默认“这一套是一起交的”。解决制度里写死“每张图纸标题栏必须完整标注代号”另加“共 X 张、第 Y 张”的附属标注两者不冲突。检查方式很简单批量扫标题栏凡是代号字段为空的直接退图。5.5 表格图多规格共用一个号BOM 展不开现象一张表格图里列了五种规格的安装板图号只有一个BOM 里却要拆成五行采购下单时对不上具体是哪一行。原因表格图按“图纸”编号没有按“对象”编号违反了一物一号。解决表格图里每一行规格单独给代号通常做法是在主代号后加规格序号或者直接在特征代号段内区分。BOM 引用时必须带上具体规格号不能只写主图号。6. 验收拿一份编号体检表把全流程跑一遍规则定完怎么证明它是能用的而不是一份漂亮的文档我的做法是抽三类真实图号各二十条跑一遍完整链路格式校验、唯一性校验、BOM 反查、档案定位。全程不需要人工介入能跑通才算交付。检查项检查方法合格标准格式合规正则批量校验100% 通过失败项有明确错误提示唯一性全量查重含作废号零重复、零复用段位可解析随机抽 20 条拆字段每段都能对上业务含义类别代号合法比对封闭清单无自造字母多图纸同号抽查大件图套每张标题栏都有完整代号表格图拆分抽查 BOM 展开规格行能单独定位到号追溯闭环从图号反查客户一次查询出结果不靠人脑跑这张表的时候有个技巧先跑存量数据别先跑新号。存量数据里藏着的问题才是真问题新号是你按规则生成的当然合规。存量扫描出来通常是一地鸡毛正好用来证明这套规则的必要性——答辩和评审时这张“整改前”的问题清单比任何理论都更有说服力。答辩环节评审老师最爱问的其实就三件事。第一“你这个编号为什么这么设计换一种行不行”回答时别背标准条款讲取舍为什么去掉了 O 和 I为什么设计序号要扩两位为什么工程编号要用合同号映射。第二“唯一性怎么保证”这时候把查重脚本和作废号黑名单拿出来讲比空谈原则有用。第三“这套东西怎么落地”讲你打算怎么和现有的 PLM 或 Excel 台账对接哪怕只是设想也要说清楚数据从哪进、从哪出。我一般还会准备一个反例。比如拿那个009塞了二十多种杂件的组出来讲说明“其他”兜底被滥用之后会发生什么再讲你打算怎么拆组。评审看的不是你有没有做完美而是你有没有真的想过它会在哪里坏。从那以后我每次接这类标准化项目都会强制先把校验脚本写出来再回去改文档。因为规则写得再顺跑一遍数据就知道哪条是纸上谈兵。希望帮到你。本文还有配套的精品资源点击获取
阅读完成 · 觉得有帮助?