o objetivo principal é vincular dois parâmetros via fórmula no Catia usando macro. Tentei registrar o processo manualmente, mas o código não deu o código completo:
Sub CATMain()
Dim partDocument1 As partDocument
Set partDocument1 = CATIA.ActiveDocument
Dim part1 As part
Set part1 = partDocument1.part
Dim parameters1 As Parameters
Set parameters1 = part1.Parameters
Dim parameterSet1 As ParameterSet
Set parameterSet1 = parameters1.RootParameterSet
Dim parameterSets1 As ParameterSets
Set parameterSets1 = parameterSet1.ParameterSets
Dim parameterSet2 As ParameterSet
Set parameterSet2 = parameterSets1.GetItem("Construction_Position")
Dim parameterSets2 As ParameterSets
Set parameterSets2 = parameterSet2.ParameterSets
Dim parameterSet3 As ParameterSet
Set parameterSet3 = parameterSets2.GetItem("R_Point") ' Cannot print the method call put_Value for the object RealParam
Dim relations1 As Relations
Set relations1 = part1.Relations
Set parameterSet3 = parameterSets2.GetItem("R_Point")
Dim formula1 As Formula
Set formula1 = relations1.CreateFormula("Formula.2", "", ' Cannot print the method call CreateFormula for the object Relations
part1.Update
End Sub
a fórmula final que obtenho deste processo 'manualmente' é
formula.2: Construction_Position\R_Point\R_Point_X=Construction_Position\H_Point\H_Point_X
alguém pode me ajudar por favor com isso. Eu tentei com CHATGPT mas não está funcionando de jeito nenhum
Não sou especialista em Catia, mas li rapidamente http://catiadoc.free.fr/online/interfaces/interface_Relations.htm#CreateFormula e tente o seguinte:
CreateFormula
precisa como terceira entrada o parâmetro que é gerenciado pela fórmula, e como quarto parâmetro a fórmula como uma string. a melhor maneira de obter o "nome" de um parâmetro para usar em uma fórmula é usar aGetNameToUseInRelation
função. Além disso, seu código não acessa um nível de conjunto de parâmetros. Aqui está um exemplo de como esse código poderia se parecer