简介:面向Solidworks Routing用户的界面汉化操作指南,专门解决管路设计模块默认显示英文、切换中文失效等常见问题。文档从中文语言包安装状态检查讲起,依次说明系统选项、文件位置及CHS文件夹指向等关键配置步骤,同时补充Routing首次启动时的语言选择方法,以及无提示时如何通过工具菜单手动完成中文切换;对语言包缺失、区域设置不匹配等异常情况也给出相应排查思路。内容以docx文档形式提供,全包共1个文件,压缩后仅103KB,便于离线查阅和边操作边对照。该指南已有3325人浏览学习,适合刚接触Routing、希望将插件界面调整为中文的Solidworks使用者,按步骤操作可避免反复重启、设置不生效等困扰,快速实现与中文版Solidworks主界面一致的操作体验。
1. 为什么每次打开 Routing 装配体,界面第一眼全是英文
很多人一打开 SolidWorks 里的 Routing,看到的是整排英文菜单、英文属性框、英文设计库零件名,第一反应是“我装的是不是英文版”。真相往往更气人:主程序界面明明是中文,工具菜单也叫“步路”,但点进去之后,重新弹出的那些浮窗又变回英文;更常见的是,从设计库拖一个法兰出来,名称栏显示的却是英文文件名。这套“半中半英”的体验,背后是 SolidWorks 语言设置的层级问题,多数人只改了一个入口,另一个入口压根没碰。这篇文章把 SolidWorks 打开 Routing 显示中文的办法按三层拆开:界面语言、插件语言、模型数据语言,每一层都有对应操作,并附上我这几年修这类问题常用的排查路径。
2. 讲清楚机制:SolidWorks 界面语言、插件语言和数据语言的三个层级
2.1 界面语言由谁控制:系统选项里那个“语言”不是你唯一要管的
SolidWorks 的界面语言,主要看“系统选项”里的设置:工具 → 选项 → 系统选项 → 常规 → 语言。这个入口控制的是主程序菜单、对话框、右键菜单这一层级,中文版默认是“简体中文”。如果你在这里改成英文再改回来,多数时候菜单能切回去,但要留意一个前提:对应语言包必须安装了。
我见过不少用户,装的是公司统一分发的英文安装包,系统选项里虽有中文选项,但选完重启,界面还是英文。原因很简单:安装时没有把“简体中文”语言组件装进去。系统选项里的下拉框一直都允许你选,但它不会因为没有语言包而把选项置灰,这才是坑。判断是否缺语言包的土办法很直接:切到中文后,如果提示“语言包未安装”或者界面纹丝不动,多半就是缺组件。这种问题靠改设置解决不了,得回到安装管理器补装,后面会专门写。
语言设置里还有一处容易被忽略:同一个对话框里,“为已打开文档使用英文菜单”之类的选项,不同版本叫法不同,但往往和文档语言、模板语言绑定。如果你打开的装配体是用英文模板创建的,即便主界面是中文,新建菜单里的零件模板、工程图模板仍可能显示英文名称。很多人以为“语言没改干净”,其实是模板这一层没跟上。这个点我会在第四章展开。
2.2 Routing 插件的语言跟随机制:改主程序通常就够了
Routing(中文版叫“步路”)不是独立安装的软件,是 SolidWorks 的插件模块。它的菜单、命令、属性面板,语言资源挂在主程序的语言包上。也就是说,只要主程序界面能切回中文,Routing 自带的用户界面一般也会跟着变,不需要单独找“Routing 语言包”。
但有一个例外:旧的 Routing 模板和向导文件。SolidWorks 安装目录下有一块 Routing 的默认模板、线路样式文件、零部件库,这部分文件是安装包携带的,语言由文件内容决定,不随界面语言切换。比如我用英文安装包建的默认线路模板,哪怕主程序切到中文,模板里的“Route Property”对话框可能还是英文标题,因为里面的标题字符串是硬编码在模板文件里的。遇到这种情况,要做的不是纠结界面语言,而是把模板、样式、库零件这三类文件替换成中文来源的版本,或者手动改它们的属性。
判断当前 Routing 显示语言属于哪一层,我常用一个笨办法:打开一个空装配体,什么都不加载,看一下“步路”菜单是不是中文;是中文,说明 UI 语言正常。然后再通过 Routing 向导新建一个线路,看弹出的配置表格里的选项、默认说明文字是否中文;如果这里变回英文,问题就落在模板和样式文件,跟主系统选项无关了。
2.3 模型里的英文是数据不是界面:为什么装配体树会“半中半英”
这是最迷惑人的一层。把界面全切成中文后,你去把设计库里的对焊法兰拖进装配体,树状图里显示的零件名、配置名还是像“150LB-SO”、“DN25 Sch40S”这样的英文。很多工程师到这里就认为“Routing 没汉化干净”,其实不是。零件树显示的内容来自零件文件名、配置名称、实例名称,英文版库零件就是英文名,SolidWorks 不会翻译用户的文件数据,就像它不会把你自己建的“ABC_支架”自动翻译成“ABC 支架”一样。
换句话说,它属于“数据语言”,不属于“界面语言”。界面语言是程序外壳,数据语言是你这台机器、这套库文件里真正存的文本。想要模型树也显示中文,必须改库零件文件里的属性,或者改文件名并用 SolidWorks 的打包功能更新引用。所以,整篇的核心动作分成两条线:一条线把界面 UI 弄成中文,另一条线处理 Routing 库和模板的“文本数据”。只做前半段,你会一直觉得“不够中文”;只做后半段,界面又是英文的。两条线缺一不可。
界面语言、插件语言、数据语言,可以用下面这张表对号入座:
| 层级 | 典型现象 | 控制方 | 解决路径 |
|---|---|---|---|
| 主界面语言 | 菜单、工具栏、属性面板英文 | 系统选项语言 + 语言包 | 改语言设置,或补装语言包 |
| 插件语言 | Routing 菜单英文,但主界面中文 | 跟随主程序语言包 | 随主界面上一步一起解决 |
| 数据语言 | 模型树、设计库、属性卡里零件名/配置名英文 | 设计库文件本身 | 改模板、样式、库零件属性,重新打包引用 |
3. 三种把 Routing 界面切换成中文的可靠路径
3.1 路径一:系统选项 → 语言 → 改 UI 语言并重启
这是最直接的一招,但也最容易踩空。操作顺序是:打开 SolidWorks,工具 → 选项 → 系统选项 → 常规 → 语言,把“用户界面语言”选成“简体中文”,确定后重启 SolidWorks。
注意,重启不是关掉重开一次就行。SolidWorks 的语言设置有一部分是启动时读注册表写进进程环境的,如果系统里有后台服务或插件(比如 PDM、Toolbox 后台进程)占用了当前会话,改成中文后重启可能没生效。我通常建议先完全退出 SolidWorks,在任务管理器里确认没有“sldworks”“SLDWORKS”相关进程,再重新启动。对于 Routing 这块,还需要额外确认插件加载状态:工具 → 插件,看“SolidWorks Routing”是否勾选。语言切换后插件若没被正确重新初始化,也可能继续沿用旧的界面语言。
如果改完确定已经重启、语言包也装了,界面仍是英文,那大概率不是当前用户配置的问题,而是安装时语言组件缺失,直接看下一个路径。
3.2 路径二:补装简体中文语言组件,修复安装
确定语言组件缺没缺,看安装信息最稳。进入 Windows 的“程序和功能”(或设置 → 应用),找到 SolidWorks 对应版本,选择“更改”,进入安装管理器的修改界面。在“语言”选项里检查有没有勾选“简体中文”,没勾就补上,勾选后继续,直到安装完成。
这一步很多人不敢点,怕把整个软件搞坏。实际上,“更改 → 修改”不是卸载重装,它只增补组件,不动你的设置和模型。但两个前提:最好先关闭 SolidWorks;安装管理器需要能找到原始安装源,如果找不到,会让你指定路径,可能是安装包解压目录或公司共享的安装介质。找不到源就装不上,这一点先问清楚你们公司采购/IT那边安装镜像在哪。
安装包如果在网盘或共享盘,可以先把整个镜像目录复制到本地再运行安装管理器,不要直接在网络路径上跑,否则装到一半断线,轻则语言包没补上,重则组件文件损坏。这是我自己踩过的坑,装到一半丢连接,之后 SolidWorks 每次启动都要弹出修复提示,最后只能彻底卸载重装。补完组件后,回到路径一重新切换语言即可。
如果你明确知道安装源有“简体中文”但装完还是不行,可以在安装管理器的“摘要”页确认“语言”下面是不是真的列出了简体中文。有时候安装包下载的是单语言版,界面压根没有中文选项。那种情况下再怎么改系统选项也白搭,只能找对应版本的完整安装包。
3.3 路径三:Windows 区域设置与注册表残留检查
第三种情况相对少,但很隐蔽:SolidWorks 界面语言注册表键被写成了“English”,即使系统选项里选了中文重启后也会被注册表项覆盖。这个键通常位于注册表的当前用户分支下 SolidWorks 对应版本节点里。我把检查命令写在下面,先在 PowerShell 里跑一遍看看当前值。
# 检查当前用户分支下的 SolidWorks 注册表里和语言相关的键 Get-ChildItem "HKCU:\Software\SolidWorks" -Recurse -ErrorAction SilentlyContinue | Select-Object Name # 更聚焦的查法:递归找含 Language 的项 Get-ChildItem "HKCU:\Software\SolidWorks" -Recurse -ErrorAction SilentlyContinue | Where-Object { $_.Property -match "Language" } | ForEach-Object { $_.GetValueNames() | ForEach-Object { if ($_ -match "Language") { Write-Output "$($_.PSPath) -> $_" } } }这段脚本的逻辑很简单:先看 SolidWorks 节点下都有哪些子项,再定位到名字里带 Language 的属性。不同版本、不同服务包,注册表路径有差异,所以不要按网上某个固定路径直接改,先“查”再“改”。如果你查到某个 Language 值是 0、1 这类整数,不确定对应关系,就别手动动它,优先用系统选项界面去改,让程序自己写注册表;只有当你确定它是恶意残留或错误写入时,才评估是否需要改回。
还有一处和区域相关:Windows 的“更改系统区域设置”如果不是中文(简体,中国),某些依赖系统区域的语言组件会回退到英文。尤其 SolidWorks 安装在英文区域又装了中文语言包时,偶尔会出现界面“半英半中”。一般建议把系统区域设成中文,重启后再开 SolidWorks。把这个放在最后,是因为它牵连系统底层,改动影响面大,先用前两个路径,实在不行再碰区域和注册表。
4. 让 Routing 库和装配体里的固定文本也显示中文
4.1 路线模板与样式文件:先把新建线路的默认语言定下来
Routing 新建线路时,会基于线路模板(Route Assembly Template)和线路样式文件(Routing Style)。这些模板决定了向导弹出的属性表单、默认的线路名称、默认管径参数。英文版安装包自带的模板,即使界面语言已经切成中文,新建线路弹出的属性表单也可能保持英文。解决思路是:别改界面,改模板。
常见做法是找到安装目录下的路由模板位置。以我常用的环境为例,模板一般在安装目录下的“data\design library\routing”相关文件夹里,扩展名通常是 .sldasm、.sldprt,以及样式文件。你可以到系统选项 → 文件位置里查“路由模板”和“步路库”的实际路径,这是最靠谱的方式,不要凭记忆去翻目录。
找到模板文件后,用 SolidWorks 打开,把其中写死的标题、属性名称改掉。比如打开模板装配体后,右侧属性管理器里的“Route Properties”这些标题,其实是模板文件中某个自定义属性或设计表的栏目名称。直接把该栏目改成“路线属性”,保存为模板。另外把默认的线路名称、默认的样式说明也一并改成中文。保存后回到 Routing 向导,新建线路再验证一次弹窗内容。
4.2 设计库零件文件名还是英文?改自定义属性而不是改文件名
英文版 Routing 自带的设计库里,法兰、弯头、三通的零件名几乎都是“Flange - Slip On”这种英文体系。很多人想去资源管理器里直接改成中文文件名,结果下一次打开装配体,弹出一堆“文件未找到”或者“是否替换其参考”。原因很简单:设计库里的零件被装配体按路径和文件名引用,直接改文件名,引用就断了。这段教训下面避坑章会展开。更安全的做法是保留文件名,改它的“自定义属性”。
SolidWorks 零件树和工程图里显示的,往往是文件的“说明”属性,而不是文件名本身。右键打开零件 → 文件 → 属性 → 自定义,找到“说明”(Description)、“标题”(Title),把英文内容改成中文。之后在 Routing 设计库中,很多地方会优先显示标题、描述属性,模型树的显示也会随之变成中文。如果设计库里仍然显示英文文件名,那是库视图的显示字段问题,可以在库面板里切换列显示或修改库配置文件。
注意一个细节:只改当前打开的零件,只对这一份有效。Routing 库里几十上百个零件,不可能手动一个个改。这就是下一节用宏的原因。
4.3 用宏批量把“标题/描述”刷成中文,再拖拽进装配体验证
批量改 Routing 库零件属性,我一般用 SolidWorks 宏来做,速度比手动快得多,而且可复现。下面的 VBA 宏,遍历指定文件夹下所有 .sldprt 文件,打开、写入中文“标题”属性、保存关闭。
Sub BatchSetTitleCN() Dim swApp As Object Set swApp = Application.SldWorks Dim folderPath As String folderPath = "D:\RoutingLib\Piping\Fittings" ' 改成你的库目录 Dim fileName As String fileName = Dir(folderPath & "\*.sldprt") Dim swModel As Object Dim swCustProp As Object Dim titleCN As String Dim descCN As String Do While fileName <> "" titleCN = Replace(fileName, ".sldprt", "") ' 这里用文件名作为基础标题,可自行替换成对照表 descCN = "管路库零件,原文件名:" & fileName Set swModel = swApp.OpenDoc6(folderPath & "\" & fileName, 1, 0, "", 0, 0) If Not swModel Is Nothing Then Set swCustProp = swModel.Extension.CustomPropertyManager("") swCustProp.Set "Title", titleCN swCustProp.Set "Description", descCN swModel.Save swApp.CloseDoc swModel.GetTitle End If fileName = Dir ' 继续下一个文件 Loop MsgBox "完成" End Sub逻辑说明:OpenDoc6 的第一个参数是文件完整路径,第二个参数 1 表示零件文件类型;CustomPropertyManager 里传入空字符串指代默认配置的自定义属性;Set 方法把中文标题写入属性表。执行前先在一个子目录里试跑,确认“打开-写入-保存-关闭”这个循环不会把文件弄坏,再放开到整个库目录。写完后,逐个拖入装配体,看模型树显示是否变成中文标题。
参数上要注意两点。第一,若库零件有多个配置,CustomPropertyManager 里的参数应是具体配置名,空字符串对多配置零件的某些属性可能无效,需要改为遍历配置再写一遍。第二,OpenDoc6 打开的是零件,如果零件本身引用了其他基体,比如螺栓库、型材库,打开时可能弹缺失引用或性能警告,批处理时容易卡住。建议先挑一个小目录联调,再全库跑。
也可以把中英文对照整理在 Excel 里,宏读取对照表后写入 Title,比 Replace 文件名更准确。但工作量在于建对照表,如果库零件数量多,可以只改经常用的规格,不必全量做。对多数工程师来说,常用的是 DN15、DN20 到 DN100 那一档,先把这些做了,平时出图就够体面。
5. Routing 中文显示避坑自查:三个真实翻车的点
5.1 改完语言重开还是英文:注册表与权限问题
现象:在系统选项里切到简体中文,确定、重启,然而菜单、属性面板、右键仍显示英文,像没改过一样。
原因:常见有三种。一是缺语言包,界面语言选项是“可选项”,但没有对应资源文件,程序依然加载默认英文资源;二是 DPI/账户权限问题,SolidWorks 以普通用户启动后,更改写入“HKCU”下注册表失败,语言设置没落地;三是旧版 SolidWorks 有“语言随 Windows 安装语言”的机制,操作系统的显示语言、非 Unicode 程序语言都不是中文时,可能回退英文。
解决:先走一遍前文的修复安装补语言包,补完之后,用管理员身份启动 SolidWorks 再改一次语言。还要打开控制面板 → 区域 → 管理 → 更改系统区域设置,确认在“中文(简体,中国)”,重启后再试。三个条件都满足仍无效的,我遇到过少数情况是第三方工具栏插件(比如企业自研的菜单)在启动时强制覆盖了语言资源,这时到工具 → 插件里临时取消全部第三方插件,再切换语言验证。
5.2 库零件被资源管理器直接改名,整个装配体引用断裂
现象:为了追求“模型树全中文”,直接在资源管理器里把 Routing 库里的法兰、弯头文件改名为“法兰-DN25.SLDPRT”。结果打开旧的 Routing 装配体时,提示找不到零件、文件被替换或打开后零件/管道丢失。
原因:SolidWorks 装配体保存的是文件名加路径引用。你改了库零件文件名,等于把装配体里所有引用都指向一个不存在的文件。这一步没有任何 UI 设置能兜底。
解决:不要用资源管理器改文件名。要改,用 SolidWorks 的“打包”功能:文件 → 打包,勾选“所有参考”,把装配体和全部 Routing 库零件打成一个新目录,在打包过程中“重命名”那些库零件为中文名称。这样旧的装配体保留原引用,新打包的装配体指向中文名零件,两边互不干扰。这是我在项目里反复用的“后悔药”。如果已经改坏、找不到引用来源,常见做法是回到设计库重新拖入一个同名标准件,再手动替换坏的参考,但管道布线会丢关联,损失大。所以第一步就不该图省事直接改名。
5.3 高版本切到低版本,中文属性变成乱码或空白
现象:A 同事用新版 SolidWorks 把 Routing 部件属性全部改成中文,文件发到另一台低版本电脑上,打开“说明”栏全是乱码“?”,或者属性内容整个消失,连零件树都显示“未知”。
原因:Routing 库/装配体里自定义属性的编码,在高版本默认以 Unicode(UTF-16)写入,低版本某些旧模板解析这批写入时,可能按 ANSI 读取,中文就变成了乱码。还有一部分是文件内部的“标题”属性同步逻辑不一致,低版本只认旧字段,新版写入的字段名对不上。
解决:保存时,用“另存为”选择低版本格式,并在保存选项里勾选“取消对链接文档的自动更新”或“包含自定义属性”。更稳妥的方式是:在低版本机器上打开原文件,重新给自定义属性写一遍中文,保存。批量做的时候,可以复用 4.3 节的宏,注意编码处理:宏里给属性赋值时直接赋字符串,SolidWorks 内部是 Unicode 的,只要低版本界面是中文系统、区域正确,写入后一般能正常解析。若低版本系统区域是英文,则优先改系统区域再操作。这个坑容易在“跨区域协作”的项目里遇到,越早约定文件格式和版本,省的事越多。
6. 进阶:把 Routing 库做成中英文双套,用脚本一键切换
到了这个阶段,你要的不只是“显示中文”,而是“送出去的文件也显示中文、拿回来的文件不弄乱”。我自己的做法是维护两套 Routing 库:一套英文原始库,用于对国外协作方发数据;一套中文衍生库,用于内部出图、装配评审。两套库不在同一个目录,零件名也互不相同,但对应关系靠命名规则串起来。比如英文库里的“Elbow-90-DN25”,中文库里就叫“弯头-90-DN25”。这样内部装配体和对外文件不会互相污染。日常维护时,按 4.3 节的映射思路,把“英文旧文件 → 中文新文件”的对应关系写进配置文件。下面这条 PowerShell 脚本,是我用来同步两个库状态、并把新增零件复制到中文库的简化版本。
# 中英文 Routing 库同步脚本:把英文库里新增的零件复制到中文库并写入日志 $srcLib = "D:\RoutingLib_EN" $dstLib = "D:\RoutingLib_CN" $logFile = "D:\RoutingLib_CN\sync_log.txt" Get-ChildItem -Path $srcLib -Recurse -Filter "*.sldprt" | ForEach-Object { $relativePath = $_.FullName.Substring($srcLib.Length).TrimStart('\') $targetFile = Join-Path $dstLib $relativePath $dir = Split-Path $targetFile -Parent if (-not (Test-Path $dir)) { New-Item -ItemType Directory -Path $dir -Force | Out-Null } if (-not (Test-Path $targetFile)) { Copy-Item $_.FullName $targetFile Add-Content $logFile "$(Get-Date -Format 'yyyy-MM-dd HH:mm:ss') - $relativePath 已复制" } } Write-Host "同步完成,日志:$logFile"这个脚本的逻辑很简单:递归拿英文库所有零件,把相对路径复制到中文库的对应目录,只增量同步新文件,不覆盖中文库已有的文件。这样你不会因为误操作把中文库里已改好的属性文件覆盖掉。实际工作中,同步完成后,还需要跑到中文库目录下重新跑一遍 4.3 节的宏,把复制过来零件的 Title、Description 重新写成中文,因为复制过来的文件属性还是英文写法的。两套库之后选哪套作为当前默认,在系统选项 → 文件位置 → 步路库目录里切换即可。
还有一个实践技巧:在 SolidWorks 里新建线路之前,先确认当前激活的步路库目录是中文库。很多人平时库目录一直指向英文库,新建的每一个 Routing 装配体默认引用的就是英文零件,后面再想切已经晚了。这个习惯比语言设置重要得多。我也因为这件事吃过亏:给一个项目做了十几根管路,中途才发现库目录指向英文库,后期只能全部打开逐个替换,管路特征还丢了两段。从那以后,我的库目录调整都是跟随项目建模板时一并确认的,宁愿多花 30 秒检查,也别等到布线完成再“翻新”。这是我希望帮到你的最关键一步。
本文还有配套的精品资源,点击获取