Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations waross on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Creating a Coincidence Constraint by picking geometry with Macro

Status
Not open for further replies.

Barnon

Mechanical
Jul 23, 2016
97
US
I'm trying to add a Coincidence Constraint by picking geometry in a product after adding a component. I first recorded a macro and then added a user select to pick a cylindrical face. It creates the Constraint but it has the exclamation point next to it. Below is the code. Any help is appreciated. Obviously I'm new at this:)

Language="VBSCRIPT"

Sub CATMain()

Dim productDocument1 As Document
Set productDocument1 = CATIA.ActiveDocument

Dim product1 As Product
Set product1 = productDocument1.Product

Dim constraints1 As Collection
Set constraints1 = product1.Connections("CATIAConstraints")

Dim reference1 As Reference
'Set reference1 = product1.CreateReferenceFromName("Product2/25-10302-0000.1/!Axis:(Selection_RSur:(Face:(Brp:(Chamfer1;4);None:();Cf11:());Chamfer1;Z0;G6719))")

'My Code added to make user selection
Dim oSel as Selection
Set oSel = productDocument1.selection
Dim Filter(0)
Filter(0)="Face"
Dim Result As String
Result=oSel.selectelement2(Filter, " Select Object", False)
Set reference1 =oSel.Item(1).Value

Dim reference2 As Reference
Set reference2 = product1.CreateReferenceFromName("Product2/Part40.1/!Axis:(Selection_RSur:(Face:(Brp:(Pad.2;0:(Brp:(Sketch.2;1)));None:();Cf11:());Pad.2_ResultOUT;Z0;G6719))")

Dim constraint1 As Constraint
Set constraint1 = constraints1.AddBiEltCst(catCstTypeOn, reference1, reference2)

product1.Update

End Sub
 
Replies continue below

Recommended for you

I was able to accomplish what I wanted with the script below. Probably a little convoluted.

Language="VBSCRIPT"

Sub CATMain()

Dim productDocument1 As Document
Set productDocument1 = CATIA.ActiveDocument

Dim product1 As Product
Set product1 = productDocument1.Product

Dim constraints1 As Collection
Set constraints1 = product1.Connections("CATIAConstraints")


Dim oSel as Selection
Set oSel = productDocument1.selection
Dim Filter(0)
Filter(0)="Face"
Dim Result As String
Result=oSel.selectelement2(Filter, " Select Body in which you want to add", False)
Result="Product2/25-10302-0000.1/!Axis:("& oSel.Item(1).Value.Name & ")"
MsgBox Result

Dim reference1 As Reference
'Set reference1 = product1.CreateReferenceFromName("Product2/25-10302-0000.1/!Axis:(Selection_RSur:(Face:(Brp:(Chamfer1;4);None:();Cf11:());Chamfer1;Z0;G6719))")
Set reference1 = product1.CreateReferenceFromName(Result)


Dim reference2 As Reference
Set reference2 = product1.CreateReferenceFromName("Product2/Part40.1/!Axis:(Selection_RSur:(Face:(Brp:(Pad.2;0:(Brp:(Sketch.2;1)));None:();Cf11:());Pad.2_ResultOUT;Z0;G6719))")

Dim constraint1 As Constraint
Set constraint1 = constraints1.AddBiEltCst(catCstTypeOn, reference1, reference2)

product1.Update

End Sub
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top