简介《Abaqus二次开发 内核与GUI应用实例详解》由陈开伟编著、机械工业出版社出版面向结构仿真工程师、理工科院校机械/汽车/航空航天/土木等专业学生以及希望突破Abaqus基础功能、实现仿真流程自动化与界面定制的中级学习者。全书14章前两章铺垫二次开发概述与Abaqus Python语言基础第36章讲解内核结构、数据类型、函数接口及常用命令并用三个实例演示脚本扩展第714章围绕Abaqus RSG对话框生成器、GUI控件布局与关键字通过五个实例讲解插件界面和主窗口定制配套实例源文件可扫码获取。资源包为1个PDF文件约8.66MB内容完整、便于检索查阅。目前已有1038人学习适合作为案头参考书帮助读者掌握规范化编程习惯把内核脚本与GUI插件结合起来解决实际工程扩展需求。1. 从手动点到脚本跑一份把 Abaqus 内核与 GUI 二次开发讲透的实例手册前阵子帮一个做结构仿真的朋友处理一批螺栓连接模型二十多个工况每个都要手动改材料参数、重新划网格、提交计算、再一个个打开 odb 截图贴进报告。他熬了两个晚上最后跟我说了句实话不是不会点是点得想砸键盘。这种场景其实特别典型——Abaqus 的基础功能足够强但一旦落到批量、重复、带定制界面的活儿上纯手工操作就成了效率黑洞。这份《Abaqus 二次开发 内核与 GUI 应用实例详解》正好卡在这个痛点上它不是泛泛讲 API 的文档翻译而是用十几个能跑起来的实例把 Python 内核脚本、RSG 对话框生成器、GUI Toolkit 插件和主窗口定制串成一条完整的开发链。适合已经会用 Abaqus/CAE 建模、但一写脚本就卡壳的仿真工程师也适合机械、汽车、土木方向想把手头流程自动化的学生。下面我按自己拆这类资料的顺序把它怎么用、参数怎么设、哪里容易翻车讲清楚。2. 内核脚本先立住从 H 型钢代码提取到三大对象操作内核开发是这套资料的地基第 3 章到第 6 章几乎都在围绕「怎么让 Python 替你在 Abaqus 里干活」展开。很多人一上来就想写插件结果连 mdb 和 odb 的区别都没搞明白脚本跑一半报 AttributeError这就是跳步的代价。先把内核这条线走通后面 GUI 才有意义。2.1 用 PDE 和外部编辑器搭起调试环境书里第 2 章给了两个开发工具的路子Abaqus PDE 和 Sublime Text。我的习惯是两者都用——PDE 负责快速验证和断点调试Sublime 负责写长脚本。PDE 的好处是它直接挂在 Abaqus 进程里sendCommand能即时看到内核返回缺点是编辑体验一般。配置外部编辑器的关键是把 Abaqus 自带的 Python 解释器路径找对通常在安装目录的\SIMULIA\Commands或\tools\SMApy\python3.x下。# 在 Abaqus PDE 的 command line 里先验证环境 import sys print(sys.version) # 确认 Python 版本Abaqus 2023 前后多为 3.10 import abaqus print(abaqus.__file__) # 确认 abaqus 模块可导入 from abaqus import mdb, session print(mdb.models.keys()) # 当前模型库里的模型名这段代码的作用是确认三件事解释器版本、abaqus 模块路径、当前 mdb 里有哪些模型。参数上没什么可调的但要注意mdb和session是 Abaqus 启动时注入的全局对象在 PDE 里能直接用而在外部编辑器里跑就必须通过abaqus python xxx.py或abaqus cae noGUIxxx.py启动否则会报NameError: name mdb is not defined。这是新手第一个大坑后面避坑章节还会展开。2.2 三大对象的分工Session、Mdb、Odb 各管什么书里第 3.3 节把 Abaqus 内核对象拆成 Session、Mdb、Odb 三类这个划分非常关键直接决定你脚本里该调谁。Session 管的是当前会话的视图、视口、显示状态比如你想切视口、改显示颜色、控制图例走 sessionMdb 管模型数据库建模、材料、装配、分析步、作业提交都在这Odb 管结果数据库读应力、位移、提取场输出、截图都在这。from abaqus import mdb, session from abaqusConstants import * # Session切视口、设显示 session.viewports[Viewport: 1].setValues(displayedObjectmdb.models[Model-1].parts[Part-1]) # Mdb建材料、建截面、指派 mat mdb.models[Model-1].Material(nameSteel-Q345) mat.Elastic(table((206000.0, 0.3),)) # 弹性模量 MPa泊松比 mdb.models[Model-1].HomogeneousSolidSection(nameSec-1, materialSteel-Q345, thicknessNone) # Odb打开结果、读场输出 odb session.openOdb(nameJob-1.odb) stress odb.steps[Step-1].frames[-1].fieldOutputs[S] maxMises max(v.mises for v in stress.values) print(Max Mises %.2f MPa % maxMises)逻辑上这段代码走了一遍「显示 → 建模 → 读结果」的完整链路。参数说明几个容易写错的点Elastic的 table 是元组的元组少一层括号就报类型错误HomogeneousSolidSection的thicknessNone对三维实体是对的但如果你做壳单元就得给实际厚度fieldOutputs[S]取的是应力场values里每个v.mises是标量取最大值用生成器表达式比循环快。书里第 3.4 节还专门讲了findAt()和getClosest()的区别——前者按坐标精确找坐标差一点就返回空后者按容差找最近的适合网格节点位置有微小偏移的场景。我一般建模阶段用findAt保证确定性后处理拾取用getClosest容错。2.3 三个内核实例的复用价值螺栓力、集合截图、PPT 报告第 4 到第 6 章的三个实例是这份资料最值钱的部分因为它们对应的是真实工作里最高频的三类需求。批量施加螺栓力那个例子核心是把螺栓预紧力通过boltLoad或者等效压强施加到多个螺栓上脚本里用循环遍历螺栓集合参数化预紧力值。后处理自动对单元集合截图用的是session.printToFile配合视口设置难点在于截图前要把视口缩放和视角固定否则每张图角度都不一样贴进报告很难看。自动生成 PPT 报告那个例子引入了python-pptx模块书里第 6.2 节专门讲了怎么安装这个第三方库——注意 Abaqus 自带 Python 的 site-packages 路径和系统 Python 是分开的得用abaqus python -m pip install python-pptx装到 Abaqus 环境里装到系统 Python 里脚本照样报 ImportError。# 批量螺栓力施加的骨架逻辑 from abaqus import mdb from abaqusConstants import * model mdb.models[Model-1] boltSets [Bolt-1, Bolt-2, Bolt-3, Bolt-4] preload 25000.0 # 预紧力 N for i, setName in enumerate(boltSets): region model.parts[Part-1].sets[setName] model.BoltLoad(nameLoad-%d % (i1), createStepNameStep-1, regionregion, magnitudepreload, methodAPPLY_FORCE)这段骨架的关键参数是methodAPPLY_FORCE对应施加力而非调整长度magnitude单位是牛顿。实际用的时候螺栓集合的命名要规范否则循环里sets[setName]直接 KeyError。书里还提醒了一点多个 BoltLoad 在同一分析步里要注意自由度冲突如果螺栓轴线方向不一致得分别定义局部坐标系这个细节在纯 API 文档里很难查到属于实操经验。3. RSG 对话框生成器不写一行 GUI 代码做出第一个插件内核脚本写顺了下一个门槛就是「怎么让不懂代码的同事也能用」。第 7 章的 RSGReally Simple GUI对话框生成器就是干这个的它让你在图形界面里拖控件、配参数自动生成对话框脚本和注册脚本零 GUI 代码基础也能做出一个能用的插件。这一章我建议动手跟着做一遍悬臂梁前处理插件做完你对插件目录结构和注册机制的理解会完全不一样。3.1 RSG 的控件布局与参数设定逻辑RSG 的界面分三块左边是控件库中间是布局画布右边是参数面板。书里第 7.2 节把布局和控件讲得比较细核心概念是「布局容器」和「控件」的嵌套关系——FXVerticalFrame竖着排FXHorizontalFrame横着排FXGroupBox带边框分组控件必须挂在某个容器下不能凭空放。参数设定里最容易懵的是keyword和tgt/sel这两套机制前者是控件值传给内核脚本的变量名后者是控件之间的联动选择。控件类型典型用途关键参数常见误设AFXTextField输入数值/字符串keyword、typetype 设成 STRING 却输数字AFXComboBox下拉选材料/类型keyword、itemsitems 顺序和内核判断不一致AFXCheckButton开关选项keyword、tgt/sel没配 addTransition 导致不联动AFXColorButton选颜色keyword颜色值格式和内核期望不符这张表是我自己踩过坑之后整理的书里对应第 8 章的控件详解。keyword的本质是给控件值起个名字内核脚本里通过self.keyword或者getKeywordValue()拿到名字拼错就是静默失败——对话框能弹出来点确定没反应也不报错这种黑匣子式的 bug 最耗时间。3.2 从 RSG 到可加载插件目录结构与注册脚本RSG 生成的文件不是一个是一套对话框脚本通常叫xxxDB.py、注册脚本xxx_plugin.py加上内核脚本。书里第 7.3 节讲了保存对话框第 7.4 节用悬臂梁插件走了一遍完整流程。插件要能被 Abaqus 识别必须放到指定目录常见做法是放在工作目录下的abaqus_plugins文件夹或者用户目录的\abaqus_plugins。# 注册脚本的核心结构RSG 生成后一般只需微调 from abaqusGui import * from abaqusConstants import * import os thisPath os.path.abspath(__file__) thisDir os.path.dirname(thisPath) toolset getAFXApp().getAFXMainWindow().getPluginToolset() toolset.registerGuiMenuButton( buttonText悬臂梁前处理, objectAFXFormPtr(), kernelInitStringimport cantileverDB, applicationButtonTrue, messageIdAFXMode.ID_ACTIVATE, version1.0, author某开发者, description一键完成悬臂梁建模与提交 )这段注册脚本里kernelInitString是告诉 Abaqus 加载哪个对话框模块buttonText是菜单里显示的名字applicationButtonTrue表示挂在 Plug-ins 菜单下。参数上messageIdAFXMode.ID_ACTIVATE是固定写法别改。书里第 7.4.6 节专门讲了中文乱码问题——RSG 生成的脚本如果含中文保存时编码必须是 UTF-8否则菜单名显示成问号解决办法是在脚本头部加# -*- coding: utf-8 -*-并用支持 UTF-8 的编辑器保存。这个坑我第一次做插件时也踩过菜单出来一堆乱码排查了半天以为是字体问题其实是文件编码。3.3 悬臂梁插件的内核脚本改造要点RSG 只负责界面真正干活的还是内核脚本。书里第 7.4.4 节讲「更改内核脚本」意思是 RSG 生成的对话框会把用户输入的值通过 keyword 传过来内核脚本要接住这些值再建模。悬臂梁例子里用户输入长度、截面尺寸、材料模量、载荷大小内核脚本用这些参数建 part、划网格、加边界条件、提交 job。# 内核脚本接收 GUI 参数并建模的骨架 from abaqus import mdb from abaqusConstants import * def createCantilever(length, width, height, youngs, load): model mdb.Model(nameCantilever-Model) s model.ConstrainedSketch(nameprofile, sheetSize2.0*length) s.rectangle(point1(0.0, 0.0), point2(length, height)) part model.Part(nameBeam, dimensionalityTHREE_D, typeDEFORMABLE_BODY) part.BaseSolidExtrude(sketchs, depthwidth) mat model.Material(nameMat-1) mat.Elastic(table((youngs, 0.3),)) # 后续截面指派、装配、分析步、载荷、网格略 return model参数传递的关键是 GUI 里 keyword 定义的类型要和内核函数签名对上AFXTextField默认返回字符串数值型要在对话框脚本里用getKeywordValue(length, 0.0)转成 float否则内核里做乘法直接 TypeError。书里第 9 到 13 章的几个插件实例方钢、角钢、连续拾取、连续对话框都是在这个骨架上加功能建议按顺序做每个实例只多一两个新知识点循序渐进。4. GUI Toolkit 与主窗口定制把 Abaqus 改成自己的样子如果说 RSG 是「快速出活」那第 8 章和第 14 章的 GUI Toolkit 与主窗口定制就是「深度改造」。前者让你做出标准插件后者让你动 Abaqus 的主菜单、工具条、模块做出一个专属界面。这部分资料在国内同类书里算比较系统的因为大部分 Abaqus 二次开发书讲完插件就收尾了主窗口定制往往一笔带过。4.1 AFXDataDialog 的构造与控件参数体系第 8 章是 GUI 开发篇的总纲核心类是AFXDataDialog所有对话框都继承它。构造函数里几个参数必须搞清楚form是对话框绑定的表单对象title是窗口标题actionButtonFlags控制底部按钮确定、取消、应用等dlgType决定对话框类型模态、非模态。from abaqusGui import * from abaqusConstants import * class MyDialog(AFXDataDialog): def __init__(self, form): AFXDataDialog.__init__(self, form, 参数设置, self.OK|self.CANCEL|self.APPLY, DIALOG_ACTIONS_SEPARATOR) # 垂直布局容器 vf FXVerticalFrame(self, LAYOUT_FILL_X) # 文本框绑定 keyword AFXTextField(vf, 12, 长度:, form.lengthKw, 0) AFXTextField(vf, 12, 高度:, form.heightKw, 0) # 下拉列表 AFXComboBox(vf, 10, 4, 材料:, form.matKw, 0)这段代码里AFXTextField的第二个参数是显示宽度字符数第三个是标签文字第四个是 keyword 对象第五个是列数。AFXComboBox的参数顺序是父容器、列数、可见行数、标签、keyword、列数。这些参数顺序在书里第 8.4 到 8.8 节有表格逐一说明我建议第一次写的时候对着表格抄别凭记忆参数错位是 GUI 脚本最常见的翻车点——控件能显示但值传不过去或者布局挤成一团。4.2 主窗口定制的入口从启动脚本到菜单注入第 14 章讲主窗口二次开发这是整套资料里门槛最高的一节。核心思路是写一个启动脚本在 Abaqus 启动时执行通过getAFXApp().getAFXMainWindow()拿到主窗口对象然后往菜单栏、工具条里注入自定义项。书里第 14.2 节介绍了定制化脚本的加载方式常见做法是把脚本放到\abaqus_plugins下或者通过abaqus cae -custom xxx.py启动。# 主窗口菜单注入的骨架 from abaqusGui import * from abaqusConstants import * def injectMenu(): mainWindow getAFXApp().getAFXMainWindow() # 在已有菜单下加子菜单 menu mainWindow.addMenu(MyTools, 自定义工具) menu.addAction(批量截图, import batchShot; batchShot.run()) menu.addAction(一键报告, import autoReport; autoReport.run()) injectMenu()addMenu的第一个参数是内部名第二个是显示名addAction的第二个参数是点击后执行的命令字符串这里用import 模块; 模块.函数()的形式注意分号不能少。书里第 14.7 到 14.11 节分别讲了定制 View 菜单、Toolset、自定义模块、Step 模块和已有工具条思路都一样拿到对象、加项、绑命令。参数上要小心的是菜单项的messageId如果和已有项冲突新菜单可能不显示排查时先看 Abaqus 启动日志有没有报重复 ID。4.3 连续拾取与连续对话框交互式插件的两个难点第 11 章连续拾取和第 12 章连续对话框是插件从「填表单」进化到「交互操作」的关键。连续拾取要处理getFirstStep、getNextStep、activate这套流程让用户能在视口里连续点选多个几何连续对话框要处理FXSwitcher切换器和getFirstDialog、getNextDialog的翻页逻辑。书里第 12.3 节把doCustomChecks和verifyKeywordValues两个校验方法的区别讲清楚了——前者在对话框切换时触发后者在点确定时触发校验逻辑放错地方就会出现「点了下一步没反应」或者「非法值也能提交」。# 连续拾取的步骤推进骨架 def getFirstStep(self): self.pickStep AFXPickStep(self, 选择第一个面) return self.pickStep def getNextStep(self, previousStep): if previousStep self.pickStep: return AFXPickStep(self, 选择第二个面) return None这段骨架里AFXPickStep的第二个参数是提示文字显示在状态栏引导用户。实际用的时候拾取过滤器要设对比如只允许选面就设AFXPickStep(self, 选择面, AFXPickStep.FACE)不设过滤器用户能选到边和点后续几何操作直接崩。书里第 11.2.2 节讲了Procedure和拾取关键字的关系这块建议对着实例代码逐行读光看文字容易漏掉过滤器设置。5. 避坑与排查五个让脚本静默失败的细节这套资料实例多、代码全但 Abaqus 二次开发的坑往往不在语法层面而在环境、编码、对象生命周期这些「非代码」的地方。下面五条是我照着书做实例时真实翻过的车每条按现象、原因、解决写你遇到类似症状可以直接对号入座。5.1 现象脚本在 PDE 里能跑命令行一跑就 NameError原因mdb、session这些全局对象是 Abaqus/CAE 启动时注入的PDE 挂在 CAE 进程里所以有用abaqus python xxx.py启动的是纯 Python 解释器没有这些对象。解决要么用abaqus cae noGUIxxx.py启动要么在脚本里显式from abaqus import mdb, session但后者在纯 Python 环境下仍然拿不到已打开的模型只能新建。我一般调试用 PDE批量跑用noGUI。5.2 现象插件菜单显示乱码或问号原因脚本文件编码不是 UTF-8或者保存时带了 BOM。Abaqus 的 GUI 框架对编码比较敏感尤其 Windows 下默认 GBK 保存的文件。解决编辑器里统一存成 UTF-8 无 BOM脚本头部加编码声明注册脚本里的中文尽量少用必须用时确认文件编码。这个坑书里第 7.4.6 节有专门一节讲值得先读再动手。5.3 现象对话框点确定没反应也不报错原因keyword 名字拼写不一致或者控件类型和内核取值方式不匹配。比如 GUI 里 keyword 叫lengthKw内核里写self.length值传不过去就是空。解决在对话框脚本的onOK或processUpdates里加print打印 keyword 值确认传到了再查内核。另一个常见原因是AFXTextField返回字符串内核里直接当数字用做运算时静默失败或抛异常被吞掉。5.4 现象后处理截图每张角度都不一样原因截图前没有固定视口视角和缩放session.printToFile拍的是当前视口状态而每次打开 odb 或切换显示对象视口会自动 fit。解决截图前显式设viewport.view.fitView()之后再设viewport.view.setValues(...)固定视角或者用session.viewports[Viewport: 1].view.setProjection(parallelON)锁投影。书里第 5 章实例的脚本要点提到了这点但容易被跳过。5.5 现象python-pptx 装了却 ImportError原因装到了系统 Python没装到 Abaqus 自带 Python。Abaqus 的 Python 环境是独立的pip路径不一样。解决用abaqus python -m pip install python-pptx装装完在 PDE 里import pptx验证。如果公司网络受限装不上可以下载 whl 包用abaqus python -m pip install xxx.whl离线装。这个坑书里第 6.2 节讲了安装方法但没强调环境隔离我第一次就装错了地方。6. 进阶验证用一个小工具检验你真正掌握了内核与 GUI 的衔接学完这套资料怎么判断自己是真的会了而不是照着抄能跑我的办法是给自己出一个小需求从内核到 GUI 完整走一遍中间不许翻实例代码。比如做一个「批量提取最大应力并导出 CSV」的插件内核部分遍历多个 odb、读S场的 mises 最大值、写 CSVGUI 部分用 RSG 做一个文件选择对话框选 odb 目录、一个文本框填输出文件名、一个确定按钮。这个需求小到两小时能做完但把三大对象、文件对话框、keyword 传值、注册脚本全串起来了。验证的时候重点看三个地方。第一内核脚本单独用abaqus cae noGUI跑通确认逻辑没问题再套 GUI别一上来就调界面出了问题分不清是内核还是 GUI。第二GUI 里每个 keyword 在processUpdates里打印一次确认值传到了内核这一步能省掉大量猜谜时间。第三插件加载后从菜单点进去走一遍完整流程再关掉 Abaqus 重开一次确认插件能持久加载——有些注册脚本路径写的是绝对路径换台机器就失效用os.path.dirname(os.path.abspath(__file__))拼相对路径才稳。验证项通过标准失败先查内核独立运行noGUI 下 CSV 正常生成mdb/odb 对象是否为空keyword 传值打印值与界面输入一致控件类型与取值方法插件持久加载重启后菜单仍在注册脚本路径与编码异常输入非法值有提示不崩溃verifyKeywordValues 校验这套资料的价值不在于它给了多少行代码而在于它把「内核脚本 → RSG 插件 → GUI Toolkit → 主窗口」这条链上的每一环都用可运行的实例接上了你照着做能跑跑通了能改改完了能用到自己的项目里。配套源文件在封底扫码下载建议先把第 3 章和第 7 章的实例各做一遍再往下看地基不牢后面全是空中楼阁。从那以后我每次写新插件都强制先把内核脚本在 noGUI 下跑通、再套界面、最后重启验证加载这三步一步不省。希望帮到你。本文还有配套的精品资源点击获取
企业数字化 ERP 产品动态
相关推荐
大数据处理中数据清洗的关键技术与实践 1. 数据清洗为何成为大数据处理的关键环节 去年处理某电商平台用户行为数据时,我遇到了一个典型场景:原始日志中23%的点击事件缺少用户ID,15%的时间戳格式混乱,还有7%的数值字段存在明显异常值。这直接导致初期构建的用户画像模型… · 2026/11/3 17:45:17
Redis Cluster高可用架构与故障转移实战 1. Redis Cluster 高可用架构解析 Redis Cluster 作为分布式缓存解决方案的核心价值在于其无中心化架构设计。与传统的哨兵模式不同,Cluster 模式下每个节点都保存着完整的集群状态信息,通过 Gossip 协议实现节点间通信。这种设计带来的直接优势是避免了… · 2026/11/3 17:45:17
AI Agent接管70%代码PR:从Uber实践到GLM-5.3开源,开发者如何落地 1. 三条新闻背后的行业信号拆解
1.1 为什么这三件事值得放在一起看 2026年8月31日这一天,AI圈同时冒出三条消息:Uber用Agent接管了70%的代码PR、OpenAI终止与Cursor的合作、智谱开源GLM-5.3。单看每一条都是独立事件,但放在一起看࿰… · 2026/11/3 17:45:17
antd-mobile 从 0 到 1:5 分钟跑通,4 个页面场景搭出你的第一个 H5 antd-mobile 从 0 到 1:5 分钟跑通,4 个页面场景搭出你的第一个 H5 【免费下载链接】ant-design-mobile Essential UI blocks for building mobile web apps. 项目地址: https://gitcode.com/gh_mirrors/an/ant-design-mobile
做移动端 H5&#x… · 2026/11/4 11:09:45
三月七小助手:星穹铁道清体力与日常任务自动化实践笔记 三月七小助手:星穹铁道清体力与日常任务自动化实践笔记 【免费下载链接】March7thAssistant 日常交给三月七,开拓留给你。《崩坏:星穹铁道》开源自动化助手。 项目地址: https://gitcode.com/gh_mirrors/ma/March7thAssistant
三月七小… · 2026/11/4 11:09:45
TA-Lib Python 蜡烛图形态识别完全指南:61 个 CDL 形态一次讲透 TA-Lib Python 蜡烛图形态识别完全指南:61 个 CDL 形态一次讲透 【免费下载链接】ta-lib-python Python wrapper for TA-Lib (http://ta-lib.org/). 项目地址: https://gitcode.com/gh_mirrors/ta/ta-lib-python
拿到一段 open/high/low/close 数据后&#x… · 2026/11/4 11:09:45
星穹铁道自动清体力:March7thAssistant 让每天上线的重复劳动变成后台任务 星穹铁道自动清体力:March7thAssistant 让每天上线的重复劳动变成后台任务 【免费下载链接】March7thAssistant 日常交给三月七,开拓留给你。《崩坏:星穹铁道》开源自动化助手。 项目地址: https://gitcode.com/gh_mirrors/ma/March7thAssi… · 2026/11/4 11:09:45
bandwhich 终端带宽监控工具:从源码编译到安装排错一次跑通 bandwhich 终端带宽监控工具:从源码编译到安装排错一次跑通 【免费下载链接】bandwhich Terminal bandwidth utilization tool 项目地址: https://gitcode.com/gh_mirrors/ba/bandwhich
bandwhich 是一款终端带宽监控工具,能按进程、连接、远端 I… · 2026/11/4 11:09:45
优化Hermes Agent的并发编程模型:多线程与异步IO比较 优化Hermes Agent的并发编程模型:多线程与异步IO比较
在现代AI代理系统中,高效处理并发任务是提升性能的关键。Hermes Agent作为一款强大的AI代理框架,采用了多线程与异步IO相结合的并发编程模型,以应对复杂的任务处理需求。本文将… · 2026/11/4 11:08:43
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38
AI辅助技术栈评估:提升研发决策效率60% 1. 项目背景与核心价值技术决策一直是研发团队面临的重大挑战。随着技术生态的快速演进,技术栈的选择、维护和迭代变得愈发复杂。我们团队在过去两年里,先后经历了三次重大技术栈迁移,每次都需要投入大量人力进行技术评估和风险分析。直到去年… · 2026/11/4 0:00:17
从生成Token到直接决策:Jev如何重塑AI Agent工程实践 1. 从"生成文字"到"拍板决策":Jev 到底在解决什么问题大多数人第一次接触大模型,脑子里建立的模型是"输入问题、输出文字"。你问它今天天气怎么样,它给你一段描述;你让它写个周报,它给你… · 2026/11/4 0:00:17
32G统一内存跑大模型:内存账、TPS实测与端云分流 想在一台 32G 统一内存的小主机上把大模型跑成"日常可用",这件事我前后折腾了小半年。标题里说的这台 Mac mini M6,是我们这次讨论的目标平台,具体到手规格以实物为准;但下面这套推算方法和实测思路,对任何统… · 2026/11/4 0:00:17
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38