×
INTELLIGENT WORK FORUMS
FOR ENGINEERING PROFESSIONALS

Log In

Come Join Us!

Are you an
Engineering professional?
Join Eng-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!
  • Students Click Here

*Eng-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

Jobs

Creating a Coincidence Constraint by picking geometry with Macro

Creating a Coincidence Constraint by picking geometry with Macro

Creating a Coincidence Constraint by picking geometry with Macro

(OP)
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

RE: Creating a Coincidence Constraint by picking geometry with Macro

(OP)
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

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Eng-Tips Forums free from inappropriate posts.
The Eng-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Eng-Tips forums is a member-only feature.

Click Here to join Eng-Tips and talk with other members!


Resources

eBook - Mastering Tolerances for Machined Parts
When making CNC machined parts, mastering tolerances can be challenging. Are general tolerances good enough? When does it make sense to call out for tighter tolerances? Do you need a better understanding of fits, datums, or GD&T? Learn about these topics and more in Xometry's new e-book. Download Now
eBook – How to Choose the Correct Corrosion Testing Method
When designing a metal component, engineers have to consider how susceptible certain alloys are to corrosion in the final product’s operating environment. In a recent study by NACE (National Association of Corrosion Engineers), it was estimated that the direct and indirect costs of corrosion in the United States is approximately 6.2% of the GDP. In 2016, that cost exceeded $1 trillion dollars for the first time. Download Now

Close Box

Join Eng-Tips® Today!

Join your peers on the Internet's largest technical engineering professional community.
It's easy to join and it's free.

Here's Why Members Love Eng-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close