×
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

Macro to measure lenght

Macro to measure lenght

Macro to measure lenght

(OP)
I everyone,

Once again i need some help in a macro to measure the lenght of some lines.

I have found a macro that almost suits what i need, is located in the following thread:

http://www.eng-tips.com/viewthread.cfm?qid=348932&...

I was trying to reply in the thread, but i don't know why, it wasn't allowed.

My problem is the following. Using the macro located in that thread, i have writed this macro:

Sub CATMain()



Dim partDocument1 As PartDocument
Set partDocument1 = CATIA.ActiveDocument

Dim part1 As Part
Set part1 = partDocument1.Part

Dim hybridBodies1 As HybridBodies
Set hybridBodies1 = part1.HybridBodies

Dim hybridBody1 As HybridBody
Set hybridBody1 = hybridBodies1.Item("Coordenadas")

Dim hybridShapes1 As HybridShapes
Set hybridShapes1 = hybridBody1.HybridShapes

Dim hybridShapePolyline1 As HybridShapePolyline
Set hybridShapePolyline1 = hybridShapes1.Item(6)


Dim hybridShapePolyline2 As HybridShapePolyline
Set hybridShapePolyline2 = hybridShapes1.Item(7)



'---- End resolution script

Dim referenceObject1 As Reference
Set referenceObject1= hybridShapePolyline1
Dim TheSPAWorkbench As Workbench
Set TheSPAWorkbench = CATIA.ActiveDocument.GetWorkbench("SPAWorkbench")


Dim TheMeasurable1 As Measurable
Set TheMeasurable1 = TheSPAWorkbench.GetMeasurable(referenceObject1)



Dim referenceObject2 As Reference
Set referenceObject2= hybridShapePolyline2


Dim TheMeasurable2 As Measurable
Set TheMeasurable2 = TheSPAWorkbench.GetMeasurable(referenceObject2)

MsgBox TheMeasurable1.Length

MsgBox TheMeasurable2.Length

TheMeasurable1.Clear

End Sub



The macro works, but it's strange how it works. The first time that i use it (when I start computer), it works, but the second time doesn't, and in some times it works. i have no way to explain this.

When the macro doesn't work it makes a error on the follwing line:

MsgBox TheMeasurable2.Length

Can you try to help me?

The CATIA is in attachment.

Best regards

RE: Macro to measure lenght

Hi,

The part is not in attachment but I found it on COE. The problem is that you are using Item(6) and Item(7) which means in other words "measure the item number 6 and 7 in the Geometrical Set named Coordenadas" ....well, is very possible that you will not have those items in another part ....so you need to write something general not so particular, for example choose in a selection (picked by user) to measure....there are several examples here in the forum.

This is happening generally when you are recording macros and don't modify them after that according to a general purpose.

The other thread is closed, that's why you can't use it.

Regards
Fernando

https://picasaweb.google.com/102257836106335725208
https://picasaweb.google.com/103462806772634246699...

RE: Macro to measure lenght

(OP)


Hello,

My idea is to assemble this macro in another one that creates that 2 lines. My problem ocours with just this CATPart open.

But i don't understand why some times works, and another times doesn't. But allways same Catpart same geométric posicion same lines and positions.

RE: Macro to measure lenght

Wouldn't you need to set the reference like this:
Set referenceObject2 = CreateReferenceFromObject( hybridShapePolyline2)

RE: Macro to measure lenght

(OP)
Finally it works, i was choosing the wrong item.

Thanks

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