装配体里插着零件,一点就弹出「OpenClipboard 失败」,关掉再点一次又好了。多数人第一反应是 SolidWorks 装坏了,重装要大半天。
我们在一台 31.28 GB 内存的机器上完整复现了一遍:它跟剪贴板没什么关系,真正原因是 Windows 提交内存(Commit)不够,申请大块内存失败后弹的提示。
OpenClipboard 失败到底在说什么?
OpenClipboard 是 Windows 剪贴板接口(API)的名字,字面意思是"打开剪贴板失败"。从复现过程看,它的真实含义往往是内存申请失败。
先区分两个指标:
| 指标 | 在哪看 | 含义 |
|---|---|---|
| 物理内存剩余 | 任务管理器 → 性能 → 内存(上方) | 当前空闲的物理内存 |
| 已提交 / 提交上限 | 任务管理器 → 性能 → 内存(下方「已提交」) | 系统对所有程序承诺的内存总量 |
提交上限 = 物理内存 + 页面文件(pagefile.sys)。插入零部件、从零件新建装配体需要申请大块连续内存,逼近上限时分配失败,弹出的就是「OpenClipboard 失败」。
真实含义是:"我想申请一大块内存,但系统给不出来了。" 它既不是模型损坏,也不是安装损坏。
图1 报错现场:零件已在面板中列出并打勾,装配树里也已就位——报错并未阻断插入动作
图2 报错前 SolidWorks 弹出的内存警告,注意「已提交内存已严重不足」——判断问题的关键线索
内存还剩 9.7 GB,为什么还报内存不足?
复现机器有 31.28 GB 物理内存,任务管理器显示还有 9.7 GB 空闲,照样报错。原因是页面文件太小,把提交上限卡死了:
31.28 GB(物理内存)+ 2.12 GB(页面文件)= 33.40 GB(提交上限)
- 物理内存还有 9.7 GB 空闲 → 这一栏最容易误判
- 提交量已用到 29.81 GB,只剩 3.59 GB
- 插入零件申请的大块内存超过 3.59 GB → 分配失败
「推荐」值通常按近期使用情况估算,未必覆盖新建装配体这类突发的大内存操作。
用同一个操作(从零件创建装配体)调整内存压力做对照:
| 提交量占用 | 结果 |
|---|---|
| 96%(极端) | 每次都报错 |
| 85% | 十次错三到四次 |
| 70% | 十次零报错 |
| 50% | 十次零报错 |
压力越大报错越多,降到七成左右基本不再出现;它是概率性的,"时有时无"是典型特征。
图3 任务管理器 → 性能 → 内存,下方「已提交」才是关键指标(图中为调整后的 22.1 / 47.8 GB)
处置顺序:从零成本到改系统设置
关掉提示,重试 1~2 次
↓
看有没有伴随「已提交内存严重不足」警告
↓
排掉剪贴板占用(复制纯文本 / 退常驻程序)
↓
调大页面文件 → 重启生效
↓
清临时目录与磁盘 → 排查插件 / 网络路径
01 先点确定,重试一两次
报错是概率性的,关掉提示重新执行一次通常就能过。先看看装配树:多数情况下零件已插入成功,只是弹了个窗,重复插入会插重。
02 认准前兆:已提交内存严重不足
这个报错几乎总有前兆,SolidWorks 会先弹出这样的警告:
您系统的已提交内存已严重不足。执行此命令可能会导致 SOLIDWORKS 故障。
看到这句基本可以确定属于本文说的问题,直接跳到 04 处理内存。
03 顺手排掉剪贴板占用(成本很低)
- 先在记事本打几个字 Ctrl+C 再插入,避开剪贴板残留文件对象的格式冲突
- 退出剪贴板工具、划词翻译、远程控制这类会监控剪贴板的常驻程序
- 用 Ditto 时不必退出,把
SLDWORKS.exe加进"排除应用程序"列表即可
页面文件怎么设?初始 16384,最大 32768 MB
路径如下:
- 搜索高级系统设置 → 「系统属性」
- 「性能」区点设置 → 高级选项卡 → 虚拟内存更改
- 取消勾选自动管理所有驱动器的分页文件大小
- 选中 C: 盘 → 自定义大小:初始 16384 MB,最大 32768 MB
- 点「设置」→「确定」,重启电脑(不重启不生效)
图4 「系统属性」→「性能」区的「设置」按钮位置
图5 虚拟内存自定义大小窗口,底部「推荐」约 4899 MB,此处手动设为 16384~32768 MB
改完提交上限从 33.4 GB 抬到 47.28 GB,可用余量从 3.59 GB 变成 34.3 GB。测试环境验证:同样 96% 极端压力(可用约 1.3 GB),调整前每次都报错,调整后连续十次未复现。
注意: C 盘要留出空间,初始 16384 MB 约占 16 GB。C 盘紧张时可先设 8192 MB,或把页面文件放到更充裕的分区。
前面几步都做了还在报?查这几个方向
- 插件冲突:工具 → 加载项,临时取消勾选第三方插件后重启 SolidWorks 再试。插件装得多时这是优先排查项
- 网络路径:零件放在网络盘、共享目录或层级很深的文件夹时,先复制到本地再插入
- 插入方式:用菜单插入 → 零部件,而不是拖拽或从别处复制粘贴
- 临时目录:
Win+R输入%temp%清理并确认有写入权限,必要时重启一次
FAQ
Q:弹窗之后零件到底插进去没有? A:多数情况是插进去了,弹窗只是流程中断后的提示。看装配树里有没有该零件,有就别再插。
Q:调大页面文件会不会拖慢机器? A:页面文件是磁盘上的预留空间,调大不等于立即占满,也不等于马上大量换页。要留意的是 C 盘空间够不够。
Q:重装 SolidWorks 能解决吗? A:这次复现里重装解决不了——问题出在系统提交内存上限,不在软件安装。它耗时最长又最可能白费。
相关资料
- SolidWorks 官方资料与本地化支持
- 想了解更多SOLIDWORKS使用技巧欢迎私信我加入社群~