×
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

Problem with capture macro

Problem with capture macro

Problem with capture macro

(OP)
Hello,
Can someone help me with this code please? I am trying to get 2 images (captures) of the same product in two different positions (camera 1 and camera 2). I have created manually two cameras in the positions I wanted to take the captures and after some researches on the net (+ macro recording) I came out with this code working well only for the first position(ie camera 1).The image is indeed saved for camera 1 but not for camera 2. Here is the code:
--------------------------------------------------------------------------------------------------------
Sub CATMain()
Dim productDocument1 As Document
Set productDocument1 = CATIA.ActiveDocument
Dim cameras1 As Cameras
Set cameras1 = productDocument1.Cameras
Dim camera3D1 As Camera
Set camera3D1 = cameras1.Item("Camera 1")
Dim viewpoint3D1 As Viewpoint3D
Set viewpoint3D1 = camera3D1.Viewpoint3D
Dim specsAndGeomWindow1 As Window
Set specsAndGeomWindow1 = CATIA.ActiveWindow
Dim viewer3D1 As Viewer
Set viewer3D1 = specsAndGeomWindow1.ActiveViewer
viewer3D1.Viewpoint3D = viewpoint3D1
Set viewpoint3D1 = camera3D1.Viewpoint3D
viewer3D1.Viewpoint3D = viewpoint3D1

Dim filelocation As String
filelocation = "S:\"
Dim extension As String
extension = ".jpg"
Dim Name as string
Name= filelocation & "right" & extension
viewer3D1.Viewpoint3D =camera3D1.Viewpoint3D
CATIA.ActiveDocument.Selection.Clear()
viewer3D1.Capturetofile 4,Name

Dim camera3D2 As Camera
Set camera3D2 = cameras1.Item("Camera 2")
Dim viewpoint3D2 As Viewpoint3D
Set viewpoint3D2 = camera3D2.Viewpoint3D
viewer3D1.Viewpoint3D = viewpoint3D2
Set viewpoint3D2 = camera3D2.Viewpoint3D
viewer3D1.Viewpoint3D = viewpoint3D2

Name = filelocation & "left" & extension
viewer3D1.Viewpoint3D =camera3D2.Viewpoint3D
CATIA.ActiveDocument.Selection.Clear()
viewer3D1.Capturetofile 4,Name
End Sub
------------------------------------------------------------------------------------------------------------------------------------------------------

Does anyone have an idea of why it is not working for camera 2 ?
Thanking you in advance for your help

RE: Problem with capture macro

Hi,

Your macro is working with small corrections

CODE --> CATScript

Sub CATMain()
 
Dim productDocument1 As Document
Set productDocument1 = CATIA.ActiveDocument
Dim cameras1 As Cameras
Set cameras1 = productDocument1.Cameras
Dim camera3D1 As Camera
Set camera3D1 = cameras1.Item(1)
Dim viewpoint3D1 As Viewpoint3D
Set viewpoint3D1 = camera3D1.Viewpoint3D
Dim specsAndGeomWindow1 As Window
Set specsAndGeomWindow1 = CATIA.ActiveWindow
Dim viewer3D1 As Viewer
Set viewer3D1 = specsAndGeomWindow1.ActiveViewer
viewer3D1.Viewpoint3D = viewpoint3D1
Set viewpoint3D1 = camera3D1.Viewpoint3D
viewer3D1.Viewpoint3D = viewpoint3D1

Dim filelocation As String
filelocation = "c:\Temporary\"
Dim extension As String
extension = ".jpg"
Dim Name as string
Name= filelocation & "right" & extension
viewer3D1.Viewpoint3D =camera3D1.Viewpoint3D
CATIA.ActiveDocument.Selection.Clear()
viewer3D1.Capturetofile 5,Name

Dim camera3D2 As Camera
Set camera3D2 = cameras1.Item(2)
Dim viewpoint3D2 As Viewpoint3D
Set viewpoint3D2 = camera3D2.Viewpoint3D
viewer3D1.Viewpoint3D = viewpoint3D2
Set viewpoint3D2 = camera3D2.Viewpoint3D
viewer3D1.Viewpoint3D = viewpoint3D2

Name = filelocation & "left" & extension
viewer3D1.Viewpoint3D =camera3D2.Viewpoint3D
CATIA.ActiveDocument.Selection.Clear()
viewer3D1.Capturetofile 5,Name
End Sub 

Regards
Fernando

https://picasaweb.google.com/102257836106335725208 - Romania
https://picasaweb.google.com/103462806772634246699... - EU

RE: Problem with capture macro

for whatever reason :

CODE -->

Set camera3D2 = cameras1.Item("Camera 2") 

is not working

you can go the hard way by doing for each mycamera in cameras1 and check mycamera.name

CODE --> this

For Each mycamera In cameras1
    If mycamera.Name() = "Camera 2" Then
        Set camera3D2 = mycamera
        Exit For
    End If
Next 

not sure if this works for CATScript but I know it's OK for CATVBA

Eric N.
indocti discant et ament meminisse periti

RE: Problem with capture macro

lol

Eric N.
indocti discant et ament meminisse periti

RE: Problem with capture macro

@ Fabien:

you should open a SR (bug report) to DS about the method Cameras.Item not working properly, see if they fix it.

Eric N.
indocti discant et ament meminisse periti

RE: Problem with capture macro

(OP)
Thank you for your response everyone.

RE: Problem with capture macro

(OP)
However, using the command objviewer3D.Capturetofile 4,strname gives a poorer image quality than rendering would do. Is there any way to access the Photo Easy Tools of CATIA V5 with a macro?
Thanking you in advance for your help.

RE: Problem with capture macro

(OP)
The problem is that using capturetofile is like doing a screen shot, whether it be of good quality in tiff bmp, etc or not, it does not have textures for example or render, just like Photo Easy Tools would do.
Am i wrong?
thank you

RE: Problem with capture macro

(OP)
Does somebody know the command or macro to make a rendering in CATIA V5?

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 - The Future of Product Development is Here
Looking to make the design and manufacturing of your products more agile? For engineering and manufacturing organizations, the need for digital transformation of product development processes just became more urgent than ever so we wanted to share an eBook that will help you build a practical roadmap for your journey. 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