SolidWorks机械工程师网——最大的SolidWorks学习平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1333|回复: 5
打印 上一主题 下一主题

VB二次开发时遇到一个问题:同一装配不同配置下有的线性阵列能压缩而有的不能压缩

  [复制链接]

2

主题

7

帖子

38

金币

天使

Rank: 2Rank: 2

积分
135

最佳新人宣传达人

跳转到指定楼层
楼主
 楼主| 发表于 2020-5-11 23:17:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

   经典图书
在不同的情况下程序根据参数激活对应的配置,而有的情况下还需要根据参数的情况将有的零部件或者局部线性阵列或者镜像压缩掉
我在调试的时候发现有的配置下指定的需要压缩的对象无法压缩
在配置“1-L”下能够按照我的需求将“局部线性阵列3”“局部线性阵列4”“局部线性阵列5”“局部线性阵列6”“局部线性阵列7”压缩
在配置“1-W”的时候就不能将“局部线性阵列10”“局部线性阵列11”“局部线性阵列12”“局部线性阵列13”“局部线性阵列14”压缩
有没有人知道是怎么回事啊
压缩对象的代码:
File_path = myPath & "SW_真空箱装配体_PackAndGo.sldasm"

Docspec = Swapp.GetOpenDocSpec(File_path)

Swapp.OpenDoc7(Docspec)

Part = Swapp.ActiveDoc
Featmgr = Part.FeatureManager

Swfeat = Featmgr.GetFeatures(False)
For Each Fa In Swfeat
    Select Case Fa.name
        Case = "局部线性阵列10"
            Fa.Select2(False, 0)
            Part.EditSuppress()
        Case = "局部线性阵列11"
            Fa.Select2(False, 0)
            Part.EditSuppress()

        Case = "局部线性阵列12"
            Fa.Select2(False, 0)
            Part.EditSuppress()
        Case = "局部线性阵列13"
            Fa.Select2(False, 0)
            Part.EditSuppress()
        Case = "局部线性阵列14"
            Fa.Select2(False, 0)
            Part.EditSuppress()
    End Select
Next

求大佬指导一下

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享教程|习题|模型|技巧 点赞点赞 拍砖拍砖
SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复

使用道具 举报

2

主题

50

帖子

224

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
452
QQ
沙发
发表于 2020-5-14 14:12:43 | 只看该作者
顶一下,坐等高手!
SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复 支持 反对

使用道具 举报

4

主题

48

帖子

384

金币

堂主

Rank: 4

积分
648
QQ
板凳
发表于 2020-5-14 14:13:48 | 只看该作者

   经典图书
这个有点难,编程不太懂
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

6

主题

16

帖子

459

金币

堂主

Rank: 4

积分
745
QQ
地板
发表于 2020-5-18 12:11:07 | 只看该作者
很不错,顶一下!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

30

主题

1405

帖子

4332

金币

版主

Rank: 7Rank: 7Rank: 7Rank: 7

积分
12677

最佳新人活跃会员热心会员宣传达人灌水之王突出贡献

QQ
5#
发表于 2020-5-19 14:47:33 | 只看该作者

   经典案例图书
既然用了配置压缩,为什么还用程序去压缩来实现呢?

File_path = myPath & "SW_真空箱装配体_PackAndGo.sldasm"

Docspec = Swapp.GetOpenDocSpec(File_path)

Swapp.OpenDoc7(Docspec)

Part = Swapp.ActiveDoc
Featmgr = Part.FeatureManager

Swfeat = Featmgr.GetFeatures(False)

第一你获取这个路径文档,打开激活,然后直接获取特征压缩,这只是运行了一次,
第二次肯定是无效的。

如果你只是要用按钮来执行命令来压缩,可以直接写

Dim swApp As Object
Dim Part As Object
Dim boolstatus As Boolean

Sub main()'可直接用按钮执行

Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc

Part.ClearSelection2 True
For i =10 to14
boolstatus = Part.Extension.SelectByID2("局部线性阵列" & i, "COMPPATTERN", 0, 0, 0, True 0, Nothing, 0)
Next

Part.EditSuppress2

End Sub

以上如不明白?可直接把你完整程序发出来解决
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

9

主题

889

帖子

450

金币

传奇

Rank: 8Rank: 8

积分
3125

最佳新人活跃会员热心会员宣传达人灌水之王突出贡献

6#
发表于 2021-4-17 05:43:00 | 只看该作者
很不错,顶一下!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

SOLIDWORKS 2023 机械设计从入门到精通

手机版|小黑屋| GMT+8, 2025-5-24 13:05 , Processed in 0.215987 second(s), 24 queries , Memcache On.

SolidWorks机械工程师网 ( 鲁ICP备14025122号-2 ) 鲁公网安备 37028502190335号

声明:本网言论纯属发表者个人意见,与本网立场无关。
如涉版权,可发邮件: admin@swbbsc.com

快速回复 返回顶部 返回列表