0

I have a issue regarding the constraints in Catia VBA, please look at the below code.

Sub catmain()
Dim CAT_documents As Documents
Set CAT_documents = CATIA.Documents

Dim prod_doc As ProductDocument
Set prod_doc = CATIA.ActiveDocument

Dim prod As Product
Set prod = prod_doc.Product

Call constraint_everything(prod)
End Sub

Sub constraint_everything(cProd As Product)

Dim constraints1 As Constraints
Set constraints1 = cProd.Connections("CATIAConstraints")

Dim temp As Product
If cProd.Products.Count > 0 Then
    For i = 1 To cProd.Products.Count
        Set temp = cProd.Products.Item(i)
        
        Dim osel 'as Selection
        Set osel = CATIA.ActiveDocument.Selection
        'On Error Resume Next
        osel.Clear
        osel.Add temp
        
        Dim dispname As String
        dispname = osel.Item(1).Reference.DisplayName & "!" & osel.Item(1).Reference.DisplayName
        
        
        Dim ref As Reference
        Set ref = cProd.CreateReferenceFromName(dispname)
        Dim constraint1 As Constraint
        Set constraint1 = constraints1.AddMonoEltCst(catCstTypeReference, ref)
        If (temp.Products.Count > 0) Then
            Call constraint_everything(temp)
        Else
            
        End If
    Next
Else
End If

End Sub

please check the below image.

enter image description here

here i am trying to constraint the product marked in RED but the below part is getting constrained.

i think this is because both have same Instance name. is there any thing which i can do to resolve this issue. Apart from changing the instance name which is integral to the structure.

Thanks.

tls
  • 11
  • 2

0 Answers0