×
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! Already a Member? Login


Resources

eBook - 10 Reasons to Choose CATIA on the Cloud
To compete in today’s fast-paced and competitive market, smaller and newer firms need a powerful platform that will enable them to compete with bigger players, without the heavy investments needed in computer hardware, software and personnel. Download Now
White Paper - Smart Manufacturing for Electronics
This white paper describes a transformative approach to electronics manufacturing made possible by the addition of Mentor Graphics to the Siemens family. It describes a completely digitalized strategy that supports both printed circuit board (PCB) and mechanical design and manufacturing, uniting the entire product lifecycle – from idea and production to customers and back. 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