当前位置: 首页 > article >正文

GLM-OCR模型处理SolidWorks工程图中的技术说明

GLM-OCR模型处理SolidWorks工程图中的技术说明在制造业和工程设计领域SolidWorks输出的二维工程图是产品信息的核心载体。一张图纸里除了几何图形还包含了大量的文本信息技术要求、标题栏里的零件名称与材料、明细表中的零件编号与数量等等。过去工程师们需要手动将这些信息录入到物料清单BOM、工艺文件或PDM/ERP系统中这个过程不仅枯燥耗时还极易出错。一个数字看错可能导致采购数量错误一个规格抄漏可能引发生产事故。现在情况正在改变。基于大模型的OCR光学字符识别技术比如GLM-OCR为我们提供了一种智能化的解决方案。它不再仅仅是“认出”图纸上的字而是能“理解”这些文字在工程图中的上下文含义并自动将它们整理成结构化的数据。这就像给图纸配备了一个不知疲倦、且极度认真的“信息搬运工”将设计意图准确无误地传递到下游的每一个环节。本文将带你看看GLM-OCR是如何在SolidWorks工程图处理这个具体场景中落地实实在在地解决这些痛点的。1. 为什么SolidWorks工程图识别是个技术活你可能觉得识别图纸上的文字不就是个OCR吗市面上工具那么多。但当你真正拿一张复杂的SolidWorks工程图去试就会发现普通OCR常常“抓瞎”。这背后的原因让工程图的文本识别成了一个颇具挑战的“技术活”。1.1 工程图文本的独特复杂性首先工程图上的文字布局极其不规则。它不像一份规整的文档从上到下、从左到右排列。技术要求可能是一大段文字放在图纸的某个角落标题栏和明细表有固定的表格格式但每个公司的模板可能都不一样零件编号球标则像天女散花一样通过引线指向图纸的各个部位。这种非标准的排版对传统的按行识别的OCR来说是第一个难关。其次字体和背景干扰大。工程图为了清晰常用单线体如gbenor.shx,isocp.shx等等矢量字体这些字体在低分辨率的光栅图像如截图或扫描件中容易笔画粘连或断裂。更麻烦的是文字下方常常有密集的剖面线、尺寸线、轮廓线作为背景形成强烈的视觉干扰很容易导致误识别。1.2 从“识别”到“理解”的鸿沟即使成功把每个字都认出来了任务也只完成了一半。真正的价值在于理解。例如识别出一串“Q235-A”这只是一个字符串。但系统需要知道在“材料”栏目旁边的“Q235-A”代表材料属性在“技术要求”段落里的“Q235-A”可能只是叙述的一部分。同样“6xM6”需要被解析为“数量6个规格M6的螺纹孔”而不仅仅是四个字符。这就是传统OCR的局限它输出的是文本而不是信息。后续仍然需要人工去判断、分类、拆分这些文本填入正确的数据库字段。GLM-OCR这类大模型驱动的解决方案其核心突破就在于尝试跨越这道“理解”的鸿沟。它利用大模型强大的上下文学习和语义理解能力不仅能读字还能结合文字在图纸中的位置、周围的图形元素、以及工程领域的常识推断出这些文本的语义角色和结构关系。2. GLM-OCR处理工程图的实战流程那么一套基于GLM-OCR的工程图信息处理系统具体是怎么工作的呢我们可以把它拆解成一个从图纸到结构化数据的流水线。为了更直观我们假设要处理一张简单的零件图目标是从中提取标题栏信息和一条技术要求。2.1 第一步图像预处理与文本检测首先我们需要获得图纸的数字化图像。这可能是直接由SolidWorks导出的PDF或高分辨率PNG也可能是扫描的纸质图纸。预处理步骤至关重要目的是为后续识别创造最佳条件。import cv2 import numpy as np def preprocess_engineering_drawing(image_path): 工程图图像预处理函数 # 读取图像 img cv2.imread(image_path) if img is None: raise FileNotFoundError(f无法读取图像: {image_path}) # 1. 转为灰度图 gray cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 2. 二值化自适应阈值应对光照不均 # 使用自适应高斯阈值能更好处理背景复杂的工程图 binary cv2.adaptiveThreshold(gray, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY_INV, 11, 2) # 3. 降噪去除细小斑点 kernel np.ones((1, 1), np.uint8) cleaned cv2.morphologyEx(binary, cv2.MORPH_OPEN, kernel) # 4. 可选矫正倾斜如果图纸扫描歪了 # ... 此处可使用霍夫变换检测直线来矫正 ... return cleaned # 使用示例 preprocessed_img preprocess_engineering_drawing(solidworks_drawing.png)预处理后的图像文字区域会更突出。接下来GLM-OCR中的视觉模型会进行文本检测定位出图像中所有包含文本的区域称为文本框。对于工程图这一步需要模型对稀疏、倾斜、多方向的文本框有很好的检测能力。2.2 第二步关键区域定位与文本识别检测出所有文本框后我们并不是盲目地对所有区域进行识别。为了提高效率和准确性通常会先定位几个关键区域标题栏区域通常位于图纸右下角。明细表区域通常位于标题栏上方。技术要求区域通常位于图纸左侧或上方。零件编号球标分散在视图周围。我们可以用一些启发式规则如位置、形状或训练一个简单的区域分类模型来初步筛选。然后GLM-OCR的识别模块会对这些关键区域的文本框进行文本识别将图像像素转换为文本字符串。# 假设我们已经通过检测得到了标题栏和技术要求区域的坐标 title_block_bbox [(x1, y1), (x2, y2)] # 标题栏边界框 tech_requirement_bbox [(x3, y3), (x4, y4)] # 技术要求边界框 def extract_text_from_region(preprocessed_img, bbox): 从指定区域裁剪并识别文本此处为模拟GLM-OCR接口调用 x1, y1 bbox[0] x2, y2 bbox[1] region_img preprocessed_img[y1:y2, x1:x2] # 在实际应用中这里会调用GLM-OCR的识别API # 例如: text glm_ocr_client.recognize(region_img) # 以下为模拟返回 simulated_text 零件名称: 端盖\n材料: HT200\n图纸代号: DG-2024-001\n设计: 张三 return simulated_text # 提取标题栏文本 title_text extract_text_from_region(preprocessed_img, title_block_bbox) print(识别到的标题栏文本) print(title_text) print(- * 30) # 提取技术要求文本 tech_text extract_text_from_region(preprocessed_img, tech_requirement_bbox) print(识别到的技术要求文本) print(tech_text)2.3 第三步基于大模型的信息结构化这是GLM-OCR展现其“智能”的核心环节。上一步我们得到的是两段原始文本零件名称: 端盖\n材料: HT200\n图纸代号: DG-2024-001\n设计: 张三1. 未注圆角R3。\n2. 铸件应经时效处理消除内应力。\n3. 表面喷砂处理。现在我们需要大模型将它们理解并转换成结构化的数据比如JSON格式。我们可以设计一个提示词Prompt引导模型完成这项任务。import json def structure_drawing_info_with_llm(raw_title_text, raw_tech_text): 模拟利用大模型如ChatGLM进行信息结构化 # 构建给大模型的提示词 prompt f 你是一个工程图信息处理专家。请将以下识别出的工程图文本信息结构化地提取出来。 【标题栏信息原文】 {raw_title_text} 【技术要求原文】 {raw_tech_text} 请提取并输出一个JSON对象包含以下字段 1. part_name: 零件名称 (字符串) 2. material: 材料 (字符串) 3. drawing_code: 图号 (字符串) 4. designer: 设计者 (字符串) 5. technical_requirements: 技术要求列表 (数组每个元素是一条要求) 注意请准确解析原文不要编造信息。如果某个字段在原文中没有找到其值设为null。 只输出JSON对象不要有其他任何解释。 # 在实际应用中这里会调用类似ChatGLM的大模型API # 例如response chatglm_client.generate(prompt) # structured_data json.loads(response) # 以下是模拟的理想化输出 simulated_response { part_name: 端盖, material: HT200, drawing_code: DG-2024-001, designer: 张三, technical_requirements: [ 未注圆角R3。, 铸件应经时效处理消除内应力。, 表面喷砂处理。 ] } try: structured_data json.loads(simulated_response) return structured_data except json.JSONDecodeError: # 实际应用中需处理模型输出不规范的异常 return None # 执行结构化处理 structured_info structure_drawing_info_with_llm(title_text, tech_text) if structured_info: print(结构化提取结果) print(json.dumps(structured_info, indent2, ensure_asciiFalse))通过这个流程我们就把图纸上零散的文字变成了计算机可以直接理解和处理的键值对和列表。这个JSON数据可以轻松地导入到BOM表、PDM系统或任何需要的业务软件中。3. 实际应用中的挑战与应对策略理想很丰满但现实中的工程图千变万化。在实际部署中我们会遇到哪些坑又该怎么解决呢挑战一图纸质量参差不齐。有高清的电子版也有泛黄的扫描件甚至有手机拍摄的歪斜照片。针对低质量图像除了前面提到的增强预处理还可以训练GLM-OCR的检测和识别模块时加入更多噪声、模糊、低分辨率的图纸数据提升其鲁棒性。对于实在难以识别的个别区域系统可以高亮标出交由人工复核形成“人机协同”的流程。挑战二企业模板多样。每家公司甚至每个部门的标题栏、明细表格式都可能不同。硬编码规则难以应对。一个可行的策略是采用“少量样本微调”“提示词工程”。为每种常见模板准备少量如5-10张标注好的图纸对GLM-OCR的视觉或语言模型进行轻量级微调让它快速适应新格式。同时在提示词中更详细地描述目标模板的结构引导模型准确解析。挑战三专业术语和符号。工程图中充满“Φ”直径、“±”公差、“Ra”表面粗糙度等特殊符号和缩写。这要求底层的文本识别模型字库必须包含这些符号。同时在信息结构化阶段大模型需要具备足够的工程领域知识才能理解“HT200”是灰铸铁“Ra 1.6”代表表面粗糙度数值。可以通过在领域文本如机械设计手册、技术标准上继续预训练或检索增强RAG来提升模型的专业知识。挑战四复杂表格与关联信息。明细表BOM表的识别是难点中的难点它涉及跨行跨列的单元格合并、序号与零件号的关联等。单纯的OCR无法解决。这里需要结合表格结构识别技术先重建出表格的网格逻辑再识别每个单元格内的文字最后利用大模型理解表头与数据的对应关系将其还原为结构化的列表。GLM-OCR可以与大模型的推理能力结合更好地处理这种复杂结构。4. 能带来什么价值不止于替代手工当我们成功部署这样一套系统后它带来的价值远不止是“省下打字的时间”。效率的指数级提升处理一张包含几十个条目的装配图明细表人工录入可能需要半小时且精神需高度集中。而自动化系统可能在几分钟内完成释放工程师去从事更有创造性的设计、优化和验证工作。准确性与一致性保障机器不会因疲劳而出错也不会因不同人的习惯导致数据格式不一致。这为后续的采购、生产、质检提供了唯一可信的数据源从源头上避免了因数据错误导致的连锁损失。数据连通与追溯结构化的图纸信息能够无缝对接PDM产品数据管理、ERP企业资源计划、MES制造执行系统实现设计、工艺、制造、供应链数据的自动流转和实时同步。任何设计变更都能快速传递到下游变更追溯也变得清晰明了。知识沉淀与检索所有历史图纸的技术要求、材料信息都被结构化地保存下来形成企业知识库。未来设计类似零件时可以快速检索历史数据作为参考甚至由AI辅助生成初步的技术要求条款。整体来看用GLM-OCR处理SolidWorks工程图已经从一个前沿的技术构想逐步走向工程实践。它解决的不仅仅是一个字符识别问题而是通过“视觉感知语义理解”的组合拳打通了从设计图纸到制造数据的关键一环。当然这条路并非一蹴而就需要针对具体的图纸质量、企业规范和业务系统做细致的适配和调优。但方向是明确的将工程师从繁琐、重复的信息搬运工作中解放出来让设计数据更流畅、更准确地驱动整个制造流程。如果你所在的企业也正受困于图纸信息处理的效率瓶颈不妨从一些标准程度高、模板统一的图纸类型开始尝试小步快跑积累经验。当看到第一份自动生成的、准确无误的BOM表时你可能会发现智能化转型的钥匙就藏在这些日常的图纸里。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。

相关文章:

GLM-OCR模型处理SolidWorks工程图中的技术说明

GLM-OCR模型处理SolidWorks工程图中的技术说明 在制造业和工程设计领域,SolidWorks输出的二维工程图是产品信息的核心载体。一张图纸里,除了几何图形,还包含了大量的文本信息:技术要求、标题栏里的零件名称与材料、明细表中的零件…...

5 款主流开源 SDD 框架深度体验与 PK

强大的 AI Coding 似乎无时无刻不在制造新的焦虑:程序员、IDE、甚至软件工程都不再被需要,“会说话就会开发软件”。这是极端且不负责任的。毕竟,还有更多需要逻辑严密的商业软件系统。 强如 OpenAI,在使用Codex开发内部系统时依…...

uni-app——语音识别后 UI 卡死?微信小程序 getRecorderManager 的坑,用 getRecordRecognitionManager 一步解决

问题 语音输入功能使用 getRecorderManager() voiceToText() 实现,用户说完话点击「完成」后,弹窗卡死,转圈动画不停,按钮无法点击,只能重启小程序。 原因: 异步链路过长(stop → onStop → re…...

全球化内容创作新范式:MoneyPrinterTurbo多语言工具全攻略

全球化内容创作新范式:MoneyPrinterTurbo多语言工具全攻略 【免费下载链接】MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频 Generate short videos with one click using AI LLM. 项目地址: https://gitcode.com/GitHub_Trending/mo/MoneyPrinte…...

掌握智能温控:从噪音控制到散热效率的进阶指南

掌握智能温控:从噪音控制到散热效率的进阶指南 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/fa/FanCon…...

深入解析7段式S形曲线加减速算法:从理论到实践

1. 为什么需要7段式S形曲线加减速 在工业机器人和CNC机床控制中,运动平滑性直接影响加工质量和设备寿命。想象一下开车时的体验:急刹车会让乘客前仰后合,而渐进式制动则平稳舒适。传统梯形加减速就像急刹,会在速度突变处产生机械…...

从实战案例出发:面阵与线阵相机选型策略及镜头配置全解析

1. 面阵与线阵相机的本质区别 第一次接触工业相机选型时,我也曾被各种参数搞得晕头转向。直到有次在产线上亲眼看到两种相机的实际表现,才真正理解了它们的差异。简单来说,面阵相机就像我们平时用的数码相机,一次拍摄就能获取整个…...

半导体工艺模拟进阶:如何用Sentaurus Sprocess实现精确的刻蚀/沉积建模

半导体工艺模拟进阶:Sentaurus Sprocess刻蚀与沉积建模实战解析 在半导体制造工艺开发中,TCAD仿真已成为缩短研发周期、降低试错成本的关键工具。作为Synopsys Sentaurus套件的核心模块,Sprocess凭借其精确的几何处理能力和丰富的工艺模型库&…...

生成对抗网络(GAN)实战指南:从原理到图像生成

1. 生成对抗网络(GAN)初探:当画家遇上鉴定师 第一次听说生成对抗网络时,我脑海中浮现的是一个有趣的场景:有个刚入行的画家在拼命模仿梵高的画作,而旁边坐着一位经验丰富的艺术鉴定师。画家每完成一幅仿作,鉴定师就会…...

Kazumi动漫播放器:3步打造你的专属追番神器

Kazumi动漫播放器:3步打造你的专属追番神器 【免费下载链接】Kazumi 基于自定义规则的番剧采集APP,支持流媒体在线观看,支持弹幕,支持实时超分辨率。 项目地址: https://gitcode.com/gh_mirrors/ka/Kazumi 还在为追番资源分…...

保姆级教程:用Python搞定数美滑块验证码(含DES加密还原与轨迹模拟)

Python实战:数美滑块验证码全流程破解指南 每次看到那个烦人的滑块验证码,是不是都有种想砸键盘的冲动?特别是当你的爬虫程序在数据采集过程中频繁触发数美验证时,整个项目进度可能都会被拖慢。作为爬虫开发者,我们需要…...

如何彻底解决微信QQ消息撤回难题?3步打造终极防撤回方案

如何彻底解决微信QQ消息撤回难题?3步打造终极防撤回方案 【免费下载链接】RevokeMsgPatcher :trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁(我已经看到了,撤回也没用了) 项目地址: https://gitcode.…...

性能引擎:G-Helper让创意工作流告别卡顿与过热

性能引擎:G-Helper让创意工作流告别卡顿与过热 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, Strix, Scar, and…...

QwQ-32B与Token技术实现安全认证系统

QwQ-32B与Token技术实现安全认证系统 1. 引言 在现代应用开发中,安全认证系统是保护用户数据和系统资源的第一道防线。传统的认证方案往往面临诸多挑战:复杂的密码策略让用户头疼,静态的访问控制难以应对动态的业务需求,而多因素…...

新手友好:借助快马平台从零复刻w777.7cc经典小游戏

作为一个刚接触编程的新手,最近在InsCode(快马)平台尝试复刻w777.7cc经典小游戏时,发现整个过程比想象中简单许多。这种翻牌匹配类游戏规则明确、交互直观,特别适合用来理解前端三件套(HTML/CSS/JavaScript)的协作逻辑…...

多语言语音识别新选择:Fun-ASR-MLT-Nano模型部署与应用

多语言语音识别新选择:Fun-ASR-MLT-Nano模型部署与应用 1. 项目概述与技术亮点 1.1 多语言语音识别新标杆 Fun-ASR-MLT-Nano-2512是阿里通义实验室推出的轻量级多语言语音识别模型,凭借800M参数的紧凑架构,实现了对31种语言的高精度识别。…...

openpilot终极指南:快速实现300+车型自动驾驶辅助的完整方案

openpilot终极指南:快速实现300车型自动驾驶辅助的完整方案 【免费下载链接】openpilot openpilot is an operating system for robotics. Currently, it upgrades the driver assistance system on 300 supported cars. 项目地址: https://gitcode.com/GitHub_Tr…...

SEO 系统培训班有哪些推荐_SEO 系统培训班包括哪些内容

SEO 系统培训班推荐及其内容详解 在当前数字化和信息化飞速发展的时代,SEO(搜索引擎优化)已经成为每一个网站和企业不可或缺的一部分。SEO系统培训班不仅能帮助你了解SEO的基本原理,还能深入探讨其实际应用和最新技巧。本文将详细…...

SEO优化与网站内链优化有什么区别_SEO优化的方法论有哪些

SEO优化与网站内链优化有什么区别 在现代数字营销中,SEO优化和网站内链优化是两个紧密相关但又各有侧重的领域。了解它们之间的区别,对于提升网站的整体流量和搜索引擎排名至关重要。本文将详细探讨这两者的不同之处,并为你提供一些SEO优化的…...

如何高效解析城通网盘链接:这款开源工具让下载速度提升10倍

如何高效解析城通网盘链接:这款开源工具让下载速度提升10倍 【免费下载链接】ctfileGet 获取城通网盘一次性直连地址 项目地址: https://gitcode.com/gh_mirrors/ct/ctfileGet ctfileGet作为一款专注于城通网盘链接解析的开源工具,通过纯前端技术…...

终极指南:如何用Anemone3DS轻松打造个性化3DS主题界面

终极指南:如何用Anemone3DS轻松打造个性化3DS主题界面 【免费下载链接】Anemone3DS A theme and boot splash manager for the Nintendo 3DS console 项目地址: https://gitcode.com/gh_mirrors/an/Anemone3DS 你是否厌倦了任天堂3DS千篇一律的默认界面&…...

SEO_新手必看的SEO优化入门教程与核心方法(271 )

SEO优化入门教程:新手必看的核心方法 在当今的数字时代,搜索引擎优化(SEO)已经成为了每一个想要在互联网上站稳脚跟的人必不可少的技能。无论你是一个小企业的网站管理员,还是一个内容创作者,了解和掌握SE…...

利用GCC特性实现MCU固件版本号的绝对地址存储

1. 为什么需要绝对地址存储版本号 在嵌入式开发中,固件版本号是一个看似简单却至关重要的信息。想象一下你正在调试一台远程设备,突然发现它运行的是旧版本固件,但翻遍整个代码库都找不到版本号定义在哪里——这种场景我遇到过不止一次。传统…...

网盘下载速度太慢?这款开源工具让你告别限速烦恼!

网盘下载速度太慢?这款开源工具让你告别限速烦恼! 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘…...

电源工程师必看:平均电流模式BUCK双环控制详解(从传递函数到Psim仿真)

电源工程师必看:平均电流模式BUCK双环控制详解(从传递函数到Psim仿真) 在电力电子领域,BUCK变换器的控制策略一直是工程师们关注的重点。作为一名刚入行的电源工程师,我曾被各种控制模式搞得晕头转向——电压模式、峰值…...

别再只当CANopen网关用!EL6751的‘直通CAN’模式,让你像用CAN盒一样调试非标设备

EL6751的直通CAN模式:解锁非标设备调试新姿势 当你的工控柜里躺着几台国产非标设备,厂商只提供了CAN盒调试软件,而手边只有倍福PLC时,那种抓狂的感觉每个自动化工程师都懂。别急着下单采购USBCAN工具,你需要的可能只是…...

桌游设计师的终极神器:CardEditor卡牌批量生成器完整指南

桌游设计师的终极神器:CardEditor卡牌批量生成器完整指南 【免费下载链接】CardEditor 一款专为桌游设计师开发的批处理数值填入卡牌生成器/A card batch generator specially developed for board game designers 项目地址: https://gitcode.com/gh_mirrors/ca/C…...

3步快速解锁QQ音乐加密文件:qmc-decoder完整使用指南

3步快速解锁QQ音乐加密文件:qmc-decoder完整使用指南 【免费下载链接】qmc-decoder Fastest & best convert qmc 2 mp3 | flac tools 项目地址: https://gitcode.com/gh_mirrors/qm/qmc-decoder 你是否遇到过QQ音乐下载的歌曲无法在其他播放器播放的困扰…...

数据结构之并查集(Union-Find)

并查集(Union-Find)详解 1. 引言 并查集(Union-Find)是一种高效的数据结构,主要用于解决动态连通性问题。它能够快速地判断两个元素是否属于同一个集合,以及将两个不同的集合合并成一个集合。并查集在图论、…...

避坑指南:TCGA生存分析中,你的基因表达分组用对了吗?(cutoff vs. median vs. quartile)

TCGA生存分析中的基因表达分组策略:从方法论到实战避坑指南 当我们面对TCGA数据库中海量的基因表达数据时,如何将连续的表达量转化为可靠的分组变量,往往决定了生存分析结果的科学性和可重复性。许多研究者会惊讶地发现,同一个基因…...