CATVBA、CATIA选择不正确
我试图通过CADSelection更改部件中选定CATPart的用户选定参数。最后,这将进入VBA中的GUI,用户将选择CATPart,打开宏,并通过GUI更改所需的任何参数。 我已经录制了宏,并用它调整了一段时间,但我似乎无法完成这项工作 我的树是: 产品 -部分 -第2部分 -第3部分 -第4部分 -第5部分 以上所有“Part_Teste”都有3个参数,其中一个称为“Compimento” 如何更改以确保宏更改选定CATPArt的参数而不是(“Part_Teste_3.CATPArt”) 到目前为止,我掌握的宏是:CATVBA、CATIA选择不正确,vba,catia,Vba,Catia,我试图通过CADSelection更改部件中选定CATPart的用户选定参数。最后,这将进入VBA中的GUI,用户将选择CATPart,打开宏,并通过GUI更改所需的任何参数。 我已经录制了宏,并用它调整了一段时间,但我似乎无法完成这项工作 我的树是: 产品 -部分 -第2部分 -第3部分 -第4部分 -第5部分 以上所有“Part_Teste”都有3个参数,其中一个称为“Compimento” 如何更改以确保宏更改选定CATPArt的参数而不是(“Part_Teste_3.CATPArt”)
Language="VBSCRIPT"
Sub CATMain()
Set oProductDoc = CATIA.ActiveDocument
Set oProd = oProductDoc.Product
Set oDocs = CATIA.Documents
Set oSelection = CATIA.ActiveDocument.Selection
If oSelection.Count < 1 then
MsgBox "Pick some components using cad selection.","No components were selected"
Else
Set oPartDoc = oDocs.Item("Part_Teste_3.CATPart")
Set oPart = oPartDoc.Part
Set oParam = oPart.Parameters
Set oLength = oParam.Item("Comprimento")
oLength.Value = 50.000000
End If
oSelection.Clear
oProd.Update
End Sub
Language=“VBSCRIPT”
子CATMain()
设置oProductDoc=CATIA.ActiveDocument
设置oProd=oProductDoc.Product
设置oDocs=CATIA.Documents
设置oSelection=CATIA.ActiveDocument.Selection
如果oSelection.Count小于1,则
MsgBox“使用cad选择拾取某些组件”,“未选择任何组件”
其他的
设置oPartDoc=oDocs.Item(“部分测试3.CATPart”)
设置oPart=oPartDoc.Part
设置oParam=oPart.Parameters
设置olelength=oParam.Item(“compremento”)
长度值=50.000000
如果结束
选择,清除
oProd.更新
端接头
在程序集中选择时,Selection.Item()返回的SelectedEntity对象的LeafProduct属性将包含拥有所选对象的实例产品
因此,如果在部件中工作时选择属于某个零件的零件,请获取该零件的实例产品
Dim oInstProd as Product
Set oInstProd = oSel.Item(1).LeafProduct
然后从中获取零件对象:
Set oPart = oInstProd.ReferenceProduct.Parent.Part