许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  技术文档 >  sw二次开发软件不能隐藏

sw二次开发软件不能隐藏

阅读数 4
点赞 0
article_banner
在 SolidWorks(SW)二次开发中,若遇到“不能隐藏”的问题,通常是指无法通过 API 隐藏模型、零部件、视图或窗体等元素。根据公开资料和常见开发场景,以下是几种典型“不能隐藏”的情况及对应解决方案:

‌1. 零部件/装配体无法隐藏‌

‌现象‌:在装配体中使用 DisplayState 或配置控制零部件显隐时,部分零件仍可见。

‌原因‌:

使用了 DisplayState(显示状态)而非 Configuration(配置),前者仅影响视觉显示,后者才真正控制压缩/解压缩状态。

未正确应用显示状态到所有相关视图。

‌解决方法‌:

使用 Configuration 来管理零部件的压缩状态,确保 BOM 和工程图正确反映设计意图 ‌‌

通过 Component2.IsSuppressed 属性编程控制压缩状态。

‌2. 工程图视图无法隐藏‌

‌现象‌:调用 Hide 方法后,视图仍显示在图纸上。

‌原因‌:隐藏视图前未正确激活图纸或未选择有效视图对象。

‌解决方法‌:

确保通过 ModelDoc2 获取正确的 DrawingView 对象。

使用 DrawingView.Hide() 方法,并确认图纸处于编辑状态 ‌‌

‌3. 自定义窗体(Form)无法隐藏‌

‌现象‌:在 VBA 或 C 二次开发中,调用隐藏窗体的代码无效。

‌正确做法‌:

在 ‌VBA‌ 中,使用 Me.Hide 隐藏当前窗体 ‌‌

在 ‌C‌ 中,使用 this.Hide() 或 form.Visible = false;。

注意:不要误用 Close() 或 Dispose(),这会销毁窗体而非隐藏。

‌4. 后台操作时文档仍显示(非预期显示)‌

‌现象‌:使用 DocumentVisible(false, ...) 隐藏零件/装配体后,文档仍短暂弹出。

‌原因‌:

API 调用顺序错误,如未在打开文件前设置隐藏。

未在操作完成后恢复 DocumentVisible(true, ...),导致后续操作异常 ‌‌

‌正确流程‌:

swApp.DocumentVisible(false, swDocPART);

sw二次开发软件不能隐藏

打开或操作文件;

swApp.DocumentVisible(true, swDocPART); // 恢复默认

‌5. Pack and Go 打包时“最少文件夹”选项不可用‌

‌现象‌:代码中无法设置“平展到最少文件夹”模式。

‌事实‌:SolidWorks API ‌未公开‌该选项,仅支持 FlattenToSingleFolder = true/false(单一文件夹 / 保留结构)‌‌

workaround‌:手动打包或通过文件系统脚本二次整理目录结构。

‌建议排查步骤‌

✅ 确认使用的是 ‌Configuration‌ 还是 ‌DisplayState‌(前者更可靠)‌‌

✅ 检查 API 调用顺序和文档状态(是否处于轻化或只读模式)‌‌

✅ 查阅官方 API 帮助文档:SolidWorks API Help。

✅ 在 C 或 VB.NET 中启用 Option Strict On 和异常捕获,避免隐式类型错误 ‌‌

如需具体代码示例或进一步调试,可提供使用的开发语言(C/VBA)和具体操作场景。

相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空