×
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!

*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

Catia V5 Drafting Macro Code for Inserting an Image

Catia V5 Drafting Macro Code for Inserting an Image

Catia V5 Drafting Macro Code for Inserting an Image

(OP)
I'm currently modifying existing Catia V5 macro code, which is free with Catia, that inserts a drawing format into the background of a Catia Drawing.

The macro has been modified to insert my company's drawing format.

I'm no expert at this but have managed, by trial and error, to get the code to do what I want it to, except insert images.

I need to insert images of the company logo and third angle projection along with the format.

Has anybody out there got a piece of code that they are willing to donate that would do the job for me.

As I am no expert it would need to be self-contained, be able to be pasted into the larger macro as is and be run. Any in depth debugging is beyond me.

I have found some examples of code on the internet (examples below) and have tried to use them by creating a sub-routine around them, but, though running the macro causes no errors, no image is inserted.

For you information, macros cannot be recorded when in drafting mode.

Thanks in advance,

Mark

Set objPicture = Pictures.Add("C:\logo.bmp", GetOH() + Col(3)+ 0.75, GetOV()+ Row(2) +.75 )
objPicture.Width = objPicture.Width / 5.75
objPicture.Height = objPicture.Height / 5.75
objPicture.Name = "TitleBlock_Text_Logo"
Set objPicture = Nothing

Dim MySheet As DrawingSheet
Set MySheet = CATIA.ActiveDocument.Sheets.ActiveSheet
Dim MyView As DrawingView
Set MyView = MySheet.Views.ActiveView
Dim MyDrawingPicture1 As DrawingPicture
Set MyDrawingPicture1 = DrawingSheet.Pictures.Add("C:\logo.bmp", 100., 50.)

RE: Catia V5 Drafting Macro Code for Inserting an Image

Hi.

This works fine:

CODE

Dim MySheet As DrawingSheet
 Set MySheet = CATIA.ActiveDocument.Sheets.ActiveSheet
 Dim MyView As DrawingView
 Set MyView = MySheet.Views.ActiveView
 Dim MyDrawingPicture1 As DrawingPicture
 Set MyDrawingPicture1 = DrawingSheet.Pictures.Add("C:\logo.bmp", 100., 50.) 

Note that picture is added with respect to view's scale so it can be really small if active view has large scale.

RE: Catia V5 Drafting Macro Code for Inserting an Image

(OP)
Thanks LC,

It turns out that there are Catia permission issues that are blocking this functionality, so I'm chasing this up with IT.

RE: Catia V5 Drafting Macro Code for Inserting an Image

Probably you are trying to read and use the BMP file from a folder where you don't have permissions.
If you copied exactly what Little Cthulhu wrote, for sure you don't have permissions directly on C hard drive. Try to change the path and BMP file on another folder where you have read access.

Regards
Fernando

https://www.youtube.com/playlist?list=PL9mSHa4SOed...
https://www.youtube.com/playlist?list=PL9mSHa4SOed...

RE: Catia V5 Drafting Macro Code for Inserting an Image

(OP)
There was an issue with permissions, which has been resolved.

There was also a missing line of code, which is needed to 'call' the sub-routine CATLogo, see below:

Sub CATDrw_Creation( targetSheet as CATIABase )
'-------------------------------------------------------------------------------
'How to create the FTB
'-------------------------------------------------------------------------------
If Not CATInit(targetSheet) Then Exit Sub
If CATCheckRef(1) Then Exit Sub 'To check whether a FTB exists already in the sheet
CATCreateReference 'To place on the drawing a reference point
CATFrame 'To draw the frame
CATCreateTitleBlockFrame 'To draw the geometry
CATTitleBlockText 'To fill in the title block
CATColorGeometry 'To change the geometry color
CATExit targetSheet 'To save the sketch edition
CATLogo 'TO PLACE THE LOGO
End Sub

I also adapted the code I found online to rescale the image, which I put in CATLogo:

Set objPicture = MyDrawingPicture1 'Rescales Logo
MyDrawingPicture1.Width = objPicture.Width / 4.7

Thanks everyone for your help.

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 - Functional Prototyping Using Metal 3D Printing
Functional prototypes are a key step in product development – they give engineers a chance to test new ideas and designs while also revealing how the product will stand up to real-world use. And when it comes to functional prototypes, 3D printing is rewriting the rules of what’s possible. 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