Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Annotation 3D von Excel aus steuern

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Annotation 3D von Excel aus steuern (1961 mal gelesen)
catia5beginervbs
Mitglied



Sehen Sie sich das Profil von catia5beginervbs an!   Senden Sie eine Private Message an catia5beginervbs  Schreiben Sie einen Gästebucheintrag für catia5beginervbs

Beiträge: 22
Registriert: 02.09.2015

Windows 7, Excel 2010,Catia 5.21

erstellt am: 02. Sep. 2015 12:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Moin,

ich mache Bilder aus Catia und bringe diese in Excel, die Kamera Annotation steuer ich alles von Excel aus,
dazu brauche ich aber Annotated Views in Catia.

Fotos aus excel heraus kann ich auch schon machen und cameras erstellen bzw. hinfliegen.

Nun möchte ich die Camera einstellungen, Werte aber auch in excel speichern, so brauche ich nur noch excel
um zu einer camera zu fliegen, ohne Annotated view file.
Für je ein bild habe ich je ein excelsheet.

Sub fly_catia()

'Name der View aus excelsheet
sketch_name = Trim(Replace(Cells(2, 1), "Sketch", ""))

Set CATIA = GetObject(, "CATIA.Application")

Set oProduct = CATIA.ActiveDocument
Set navWB = oProduct.GetWorkbench("NavigatorWorkbench")
Set RefObject = oProduct.Product
Set oViewCols = RefObject.GetTechnologicalObject("AnnotatedViews")


For i = 1 To oViewCols.Count
    Set oView = oViewCols.Item(i)
    Set Viewpoint3D = oViewCols.Item(i).Application.ActiveDocument.Cameras
    'Wenn in den Annotated View Name der View aus excelsheet dann rann fliegen
    If InStr(oView.Name, sketch_name) Then
             
              navWB.view oView
              oView.Name = UCase(oView.Name)
              Set specsAndGeomWindow1 = CATIA.ActiveWindow
              Set viewer3D1 = specsAndGeomWindow1.ActiveViewer

              CATIA.ActiveWindow.ActiveViewer.Activate
              sUser = CATIA.SystemService.Environ("USER")
              CATIA.ActiveWindow.ActiveViewer.CaptureToFile 5, "C:\Users\thc1kb\Documents\CATIA\FOTO\" & oView.Name & ".jpg"
    End If
Next i


End Sub


Sub create_Anno_view()

Set CATIA = GetObject(, "CATIA.Application")
CATIA.StartCommand "Collapse All"


datei_name = Replace(ActiveWorkbook.Name, ".xlsm", "")

Set productDocument1 = CATIA.ActiveDocument
Set Window = CATIA.ActiveWindow
'Weil sich der Name nicht automatisch update den Baum auf und zu machen
Window.Layout = 1 'catWindowSpecsAndGeom

Set navigatorWorkbench1 = productDocument1.GetWorkbench("NavigatorWorkbench")

Set annotatedViews1 = navigatorWorkbench1.AnnotatedViews

Set annotatedView1 = annotatedViews1.Add()

navigatorWorkbench1.view annotatedView1

sketch_name = Trim(Replace(Cells(2, 1), "Sketch", ""))
annotatedView1.Name = UCase(datei_name) & "_" & UCase(sketch_name)

Window.Layout = 2
CATIA.StartCommand "Expand All Levels"

End Sub

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

joehz
Moderator
Freiberuflicher Konstrukteur


Sehen Sie sich das Profil von joehz an!   Senden Sie eine Private Message an joehz  Schreiben Sie einen Gästebucheintrag für joehz

Beiträge: 1057
Registriert: 25.11.2006

Win7 Pro 64 + Ubuntu + Irix6.5.20
Dell Precision M6600 i7-2960XM 2.7GHz 16GB
NVidia Quadro M5010
Catia V5R19
VB6Pro.SP6/VBA 6.5.1053

erstellt am: 03. Sep. 2015 13:29    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für catia5beginervbs 10 Unities + Antwort hilfreich

Hallo beginner,

trag' bitte Deine Arbeitsumgebung ins Profil ein.

Zum Thema: Was ist jetzt eigentlich die Frage?

Tschau,
Joe

------------------
The problem with the world is that the intelligent people are full of doubts, while the stupid ones are full of confidence.
~Charles Bukowski

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

catia5beginervbs
Mitglied



Sehen Sie sich das Profil von catia5beginervbs an!   Senden Sie eine Private Message an catia5beginervbs  Schreiben Sie einen Gästebucheintrag für catia5beginervbs

Beiträge: 22
Registriert: 02.09.2015

Windows 7, Excel 2010,Catia 5.21

erstellt am: 03. Sep. 2015 14:50    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Ok, done

ich möchte die Kamereadaten in excel speichern und später bei bedarf aus excel lesen und in catia wieder hinfliegen.
Bis jetz habe ich lesen der aktuellen kamera in excel schreiben.
Was fehlt ist das umgekehrte also lesen excel werte in catia schreiben und da hin fliegen.

Als schreiben in excel habe ich bis jetzt das hier:

Sub catch_cam_catia()


Set CATIA = GetObject(, "CATIA.Application")

Dim ObjViewer3D As Viewer3D
Set ObjViewer3D = CATIA.ActiveWindow.ActiveViewer

Set aktuelle_sicht = ObjViewer3D.viewpoint3D


'Viewpoint3D (Object)
'Represents the 3D viewpoint.
'The 3D viewpoint is the object that stores data which defines how your objects are seen to enable their display by a 3D viewer.
'This data includes namely the eye location, also named the origin, the distance from the eye to the target,
'that is to the looked at point in the scene, the sight, up, and right directions,
'defining a 3D axis system with the eye location as origin, the projection type chosen among perspective (conic) and parallel (cylindric), and the zoom factor.
'The right direction is not exposed in a property, and is automatically computed from the sight and up directions.

'See also:
'CatProjectionMode

spalte = 18
zeile = 2
'GetOrigin

    Cells(zeile - 1, spalte - 1) = "Annotated_View"
    'Name der View aus excelsheet
    sketch_name = Trim(Replace(Cells(2, 1), "Sketch", ""))
    datei_name = Replace(ActiveWorkbook.Name, ".xlsm", "")
    Cells(zeile - 1, spalte) = UCase(datei_name) & "_" & UCase(sketch_name)
   
    'Retrieves the coordinates of the origin of the viewpoint.
        Dim origin_viewpoint(2)
        aktuelle_sicht.GetOrigin origin_viewpoint
       
        Cells(zeile, spalte - 1) = "origin_viewpoint"
        Cells(zeile + 1, spalte - 1) = "origin_viewpoint"
        Cells(zeile + 2, spalte - 1) = "origin_viewpoint"
        Cells(zeile, spalte) = origin_viewpoint(0)
        Cells(zeile + 1, spalte) = origin_viewpoint(1)
        Cells(zeile + 2, spalte) = origin_viewpoint(2)

'GetSightDirection
    'Gets the components of the sight direction of the viewpoint.
        Dim sight_direction_viewpoint(2)
        aktuelle_sicht.GetSightDirection sight_direction_viewpoint
       
        Cells(zeile + 3, spalte - 1) = "sight_direction_viewpoint"
        Cells(zeile + 4, spalte - 1) = "sight_direction_viewpoint"
        Cells(zeile + 5, spalte - 1) = "sight_direction_viewpoint"
        Cells(zeile + 3, spalte) = sight_direction_viewpoint(0)
        Cells(zeile + 4, spalte) = sight_direction_viewpoint(1)
        Cells(zeile + 5, spalte) = sight_direction_viewpoint(2)

'GetUpDirection
    'Gets the components of the up direction of the viewpoint.
        Dim up_direction_viewpoint(2)
        aktuelle_sicht.GetUpDirection up_direction_viewpoint
       
      Cells(zeile + 6, spalte - 1) = "up_direction_viewpoint"
      Cells(zeile + 7, spalte - 1) = "up_direction_viewpoint"
      Cells(zeile + 8, spalte - 1) = "up_direction_viewpoint"
      Cells(zeile + 6, spalte) = up_direction_viewpoint(0)
      Cells(zeile + 7, spalte) = up_direction_viewpoint(1)
      Cells(zeile + 8, spalte) = up_direction_viewpoint(2)

end sub

sub lesen_aus_excel_fly_to_catia

'hier fehlt mir der code bzw methode

end sub

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 03. Sep. 2015 15:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für catia5beginervbs 10 Unities + Antwort hilfreich

Servus
Dazu gibt es die Methoden "PutOrigin", "PutSightDirection" und "PutUpDirection".

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

catia5beginervbs
Mitglied



Sehen Sie sich das Profil von catia5beginervbs an!   Senden Sie eine Private Message an catia5beginervbs  Schreiben Sie einen Gästebucheintrag für catia5beginervbs

Beiträge: 22
Registriert: 02.09.2015

Windows 7, Excel 2010,Catia 5.21

erstellt am: 03. Sep. 2015 15:26    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Moin,

ja danke das mit dem put kriege ich vielleicht hin aber wie rufe ich die View dann wieder ab?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 03. Sep. 2015 15:31    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für catia5beginervbs 10 Unities + Antwort hilfreich

Servus
Die Werte setzen und dann ein Update auf den Viewer zB
Code:
Set aktuelle_sicht = ObjViewer3D.Viewpoint3D

aktuelle_sicht.PutOrigin Array(100, 100, 100)

ObjViewer3D.Update


Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

catia5beginervbs
Mitglied



Sehen Sie sich das Profil von catia5beginervbs an!   Senden Sie eine Private Message an catia5beginervbs  Schreiben Sie einen Gästebucheintrag für catia5beginervbs

Beiträge: 22
Registriert: 02.09.2015

Windows 7, Excel 2010,Catia 5.21

erstellt am: 03. Sep. 2015 16:06    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Moin,

vielen Dank für die Lösung hier der Code:

Sub flyto_with_excel_werte()


Set CATIA = GetObject(, "CATIA.Application")

Dim ObjViewer3D As Viewer3D
Set ObjViewer3D = CATIA.ActiveWindow.ActiveViewer

Set aktuelle_sicht = ObjViewer3D.viewpoint3D

spalte = 18
zeile = 2

Dim origin_viewpoint(2)
origin_viewpoint(0) = Cells(zeile, spalte)
origin_viewpoint(1) = Cells(zeile + 1, spalte)
origin_viewpoint(2) = Cells(zeile + 2, spalte)

aktuelle_sicht.PutOrigin origin_viewpoint

Dim sight_direction_viewpoint(2)
sight_direction_viewpoint(0) = Cells(zeile + 3, spalte)
sight_direction_viewpoint(1) = Cells(zeile + 4, spalte)
sight_direction_viewpoint(2) = Cells(zeile + 5, spalte)

aktuelle_sicht.PutSightDirection sight_direction_viewpoint

Dim up_direction_viewpoint(2)
up_direction_viewpoint(0) = Cells(zeile + 6, spalte)
up_direction_viewpoint(0) = Cells(zeile + 7, spalte)
up_direction_viewpoint(0) = Cells(zeile + 8, spalte)

aktuelle_sicht.GetUpDirection up_direction_viewpoint

ObjViewer3D.Update

End Sub

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

catia5beginervbs
Mitglied



Sehen Sie sich das Profil von catia5beginervbs an!   Senden Sie eine Private Message an catia5beginervbs  Schreiben Sie einen Gästebucheintrag für catia5beginervbs

Beiträge: 22
Registriert: 02.09.2015

Windows 7, Excel 2010,Catia 5.21

erstellt am: 04. Sep. 2015 11:27    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Moin,

nach testen des codes habe ich festgestellt das wenn man zwischen verschiedenen view hin und her fliegt
die orginal view automatisch dreht also ungenau das modul oder fehlt da noch was?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 04. Sep. 2015 12:30    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für catia5beginervbs 10 Unities + Antwort hilfreich

Servus
Was ist bei die "orginal View" (was meinst du damit)? Wie dreht die sich?

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

catia5beginervbs
Mitglied



Sehen Sie sich das Profil von catia5beginervbs an!   Senden Sie eine Private Message an catia5beginervbs  Schreiben Sie einen Gästebucheintrag für catia5beginervbs

Beiträge: 22
Registriert: 02.09.2015

Windows 7, Excel 2010,Catia 5.21

erstellt am: 04. Sep. 2015 14:47    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

es scheint so zu sein das die drehung im bzw. gegen den uhrzeiger von der view die davor angeklickt wurde
übernommen wird.

Also das speichern der Werte von Getorigin,GetSightDirection,GetUpDirection in excel,
und später auslesen der Gleichen Werte mit Putorigin,PutSightDirection,PutUpDirection spiegelt nicht
sicher die genaue kamera

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 04. Sep. 2015 14:56    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für catia5beginervbs 10 Unities + Antwort hilfreich

Servus
Unterscheiden sich die weiteren Werte (FieldOfView , FocusDistance, ProjectionMode, Zoom) nbeim speichern der Kamera und wiederherstellen aus den Excelwerten?
ggf muss du diese (zb Zoom) auch noch abspeichern.

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

catia5beginervbs
Mitglied



Sehen Sie sich das Profil von catia5beginervbs an!   Senden Sie eine Private Message an catia5beginervbs  Schreiben Sie einen Gästebucheintrag für catia5beginervbs

Beiträge: 22
Registriert: 02.09.2015

Windows 7, Excel 2010,Catia 5.21

erstellt am: 04. Sep. 2015 15:44    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Nein die Werte sind gleich.

Wenn ich die Kamera speichere und auszoome und dann z.B. um 20 Grad Uhrzeiger drehe und dann wieder ranfliege bleiben
die 20 Grad stehen und werden nicht wie im orginal zurück gesetzt.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 04. Sep. 2015 15:55    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für catia5beginervbs 10 Unities + Antwort hilfreich

Servus
In deinem letzten Code ist ein Fehler:
Code:
aktuelle_sicht.PutUpDirection up_direction_viewpoint
Geht es dann?
Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

catia5beginervbs
Mitglied



Sehen Sie sich das Profil von catia5beginervbs an!   Senden Sie eine Private Message an catia5beginervbs  Schreiben Sie einen Gästebucheintrag für catia5beginervbs

Beiträge: 22
Registriert: 02.09.2015

Windows 7, Excel 2010,Catia 5.21

erstellt am: 04. Sep. 2015 16:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

ja jetzt gehts es, klasse bin happy, danke :-)
fehler war die Belegung des Array:
falsch
up_direction_viewpoint(0) = Cells(zeile + 6, spalte)
up_direction_viewpoint(0) = Cells(zeile + 7, spalte)
up_direction_viewpoint(0) = Cells(zeile + 8, spalte)
richtig
up_direction_viewpoint(0) = Cells(zeile + 6, spalte)
up_direction_viewpoint(1) = Cells(zeile + 7, spalte)
up_direction_viewpoint(2) = Cells(zeile + 8, spalte)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz