首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CATIA VBA在零件移动时保留约束

CATIA VBA在零件移动时保留约束
EN

Stack Overflow用户
提问于 2013-11-05 02:19:42
回答 3查看 1.6K关注 0票数 2

我有一个用于CATIA V5的宏,它是我用VBA编写的,我在其中移动规范树中的部件。

但是当我这样做的时候,各个部分之间的约束就消失了。我想保留这些限制。

但是,当我通过约束对象查找中的引用时,我只得到了BREP的名称,而没有任何关于该BREP实际属于哪个部分的信息。

关于我能做什么有什么建议吗?

EN

回答 3

Stack Overflow用户

发布于 2013-11-05 20:00:19

您不能保留约束,因为使用vba在规范树中的重新排序是通过剪切粘贴操作完成的。我不知道CAA...but,我想你没有那么贵的许可证吧。

如果您只使用Fix约束,那么最好的想法是删除它们,然后再次修复。

票数 0
EN

Stack Overflow用户

发布于 2014-01-16 16:11:51

它是复制粘贴属性的一部分。如果转到“工具”( Tools )>“设计选项”( => Options )>“组件设计和约束”( Assembly design => Constraints ),可以找到一种方法来复制带有约束的粘贴数据。

应该有一种方法来激活宏中的这些参数。

票数 0
EN

Stack Overflow用户

发布于 2017-02-25 06:29:41

正如Nicholas所说,您需要在Tools --> Options --> Mechanical Design --> assembly Design --> Constraints -> Paste components -->选择"Always with Assembly constraints“中更改设置

自动询问用户是否要更改此设置的方法如下:

代码语言:javascript
复制
Dim settingControllers1 As SettingControllers
Set settingControllers1 = CATIA.SettingControllers
Dim asmConstraintSettingAtt1 As AsmConstraintSettingAtt
Set asmConstraintSettingAtt1 = settingControllers1.Item("CATAsmConstraintSettingCtrl")
If asmConstraintSettingAtt1.PasteComponentMode = catPasteWithoutCsts Or asmConstraintSettingAtt1.PasteComponentMode = catPasteWithCstOnCut Then
    Dim iResponseForSetting As Integer
    iResponseForSetting = MsgBox("Setting for retaining constaints during Copy is not active" & vbNewLine & "Do you want to change this setting?", vbYesNo)
    If iResponseForSetting = vbYes Then
        asmConstraintSettingAtt1.PasteComponentMode = catPasteWithCstOnCopyAndCut
    End If
End If
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19774377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档