我有一个用于CATIA V5的宏,它是我用VBA编写的,我在其中移动规范树中的部件。
但是当我这样做的时候,各个部分之间的约束就消失了。我想保留这些限制。
但是,当我通过约束对象查找中的引用时,我只得到了BREP的名称,而没有任何关于该BREP实际属于哪个部分的信息。
关于我能做什么有什么建议吗?
发布于 2013-11-05 20:00:19
您不能保留约束,因为使用vba在规范树中的重新排序是通过剪切粘贴操作完成的。我不知道CAA...but,我想你没有那么贵的许可证吧。
如果您只使用Fix约束,那么最好的想法是删除它们,然后再次修复。
发布于 2014-01-16 16:11:51
它是复制粘贴属性的一部分。如果转到“工具”( Tools )>“设计选项”( => Options )>“组件设计和约束”( Assembly design => Constraints ),可以找到一种方法来复制带有约束的粘贴数据。
应该有一种方法来激活宏中的这些参数。
发布于 2017-02-25 06:29:41
正如Nicholas所说,您需要在Tools --> Options --> Mechanical Design --> assembly Design --> Constraints -> Paste components -->选择"Always with Assembly constraints“中更改设置
自动询问用户是否要更改此设置的方法如下:
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 Ifhttps://stackoverflow.com/questions/19774377
复制相似问题