'***Deklarationen*** Dim oPart As Document Dim oPara As Parameters Dim oBodies As Bodies Dim oKamera1 As Object Dim Punkt As Object Dim MeasPoints(2) Dim DestPoints(2) Dim UpPoints (2) Dim oCams As Cameras Dim oCams2 As Cameras Dim myCam As Camera Dim myCam2 As Camera Dim myViewPoint As Object Dim oViewer As Viewer Dim Koord (2) Dim LensePoint (2) Dim Angle As double Dim Angle1 As double Dim Distance As double Dim I, CamNumb As Integer '***oViewer für View update holen*** Set oViewer = CATIA.ActiveWindow.ActiveViewer '***Parameter holen (Orgin Point Cams)*** Set oPart = CATIA.ActiveDocument Set oPara = oPart.Part.Parameters Set oBodies = oPart.Part.Bodies CamNumb = oPara.GetItem("Anzahl Kameras").Value if CamNumb >= 1 Then CATIA.ActiveDocument.Part.HybridBodies.Item("Kamera 1").HybridShapes.Item("Linsenmitte").getcoordinates LensePoint MeasPoints(0) = oPara.GetItem("Eigenschaften Messfelder\Messfeld-Versatz in X").Value MeasPoints(1) = oPara.GetItem("Eigenschaften Messfelder\Messfeld-Versatz in Y").Value MeasPoints(2) = oPara.GetItem("Eigenschaften Messfelder\Messfeld-Versatz in Z").Value DestPoints(0) = (-LensePoint(0) + MeasPoints(0)) DestPoints(1) = (-LensePoint(1) + MeasPoints(1)) DestPoints(2) = (-LensePoint(2) + MeasPoints(2)) CATIA.ActiveDocument.Part.HybridBodies.Item("Kamera 1").HybridShapes.Item("Punkt-UpDirection").getcoordinates Koord UpPoints(0) = (LensePoint(0) - Koord(0)) UpPoints(1) = (LensePoint(1) - Koord(1)) UpPoints(2) = (LensePoint(2) - Koord(2)) Angle1 = oPara.GetItem("Eigenschaften der Kameras\Viewpoints\Kamera 1\horizontaler Blickwinkel").Value Angle = Angle1/2 Distance = oPara.GetItem("Eigenschaften der Kameras\Viewpoints\Kamera 1\Gegenstandsweite").Value '***Kameras holen (In Schleife falls mehrere Kameras vorhanden sind)*** Set oCams = oPart.Cameras Set myCam = oCams.Item("Camera 1") Set myViewPoint = myCam.Viewpoint3D '***Werte uebergeben*** myViewPoint.PutOrigin LensePoint myViewPoint.PutSightDirection DestPoints myViewPoint.PutUpDirection UpPoints myViewPoint.ProjectionMode = catProjectionConic myViewPoint.FieldOfView = Angle myViewpoint.FocusDistance = Distance '***View aktualisieren*** oViewer.Viewpoint3D = myViewPoint oViewer.Reframe End If if CamNumb >= 2 Then CATIA.ActiveDocument.Part.HybridBodies.Item("Kamera 2").HybridShapes.Item("Linsenmitte").getcoordinates LensePoint MeasPoints(0) = oPara.GetItem("Eigenschaften Messfelder\Messfeld-Versatz in X").Value MeasPoints(1) = oPara.GetItem("Eigenschaften Messfelder\Messfeld-Versatz in Y").Value MeasPoints(2) = oPara.GetItem("Eigenschaften Messfelder\Messfeld-Versatz in Z").Value DestPoints(0) = (-LensePoint(0) + MeasPoints(0)) DestPoints(1) = (-LensePoint(1) + MeasPoints(1)) DestPoints(2) = (-LensePoint(2) + MeasPoints(2)) CATIA.ActiveDocument.Part.HybridBodies.Item("Kamera 2").HybridShapes.Item("Punkt-UpDirection").getcoordinates Koord UpPoints(0) = (LensePoint(0) - Koord(0)) UpPoints(1) = (LensePoint(1) - Koord(1)) UpPoints(2) = (LensePoint(2) - Koord(2)) Angle1 = oPara.GetItem("Eigenschaften der Kameras\Viewpoints\Kamera 2\horizontaler Blickwinkel").Value Angle = Angle1/2 Distance = oPara.GetItem("Eigenschaften der Kameras\Viewpoints\Kamera 2\Gegenstandsweite").Value '***Kameras holen (In Schleife falls mehrere Kameras vorhanden sind)*** Set oCams2 = oPart.Cameras Set myCam2 = oCams2.Item("Kamera2") Set myViewPoint = myCam.Viewpoint3D '***Werte uebergeben*** myViewPoint.PutOrigin CamPoints myViewPoint.PutSightDirection DestPoints myViewPoint.PutUpDirection UpPoints myViewPoint.ProjectionMode = catProjectionConic myViewPoint.FieldOfView = Angle myViewpoint.FocusDistance = Distance '***View aktualisieren*** oViewer.Viewpoint3D = myViewPoint oViewer.Reframe End If 'if CamNumb >= 3 Then ' CamPoints(0) = oPara.GetItem("Eigenschaften der Kameras\Koordinaten der Kameras\X-Koordinate der Kamera 3").Value ' CamPoints(1) = oPara.GetItem("Eigenschaften der Kameras\Koordinaten der Kameras\Y-Koordinate der Kamera 3").Value ' CamPoints(2) = oPara.GetItem("Eigenschaften der Kameras\Koordinaten der Kameras\Z-Koordinate der Kamera 3").Value ' DestPoints(0) = oPara.GetItem("Eigenschaften der Kameras\Viewpoints\Kamera 3\SightDirectionX").Value ' DestPoints(1) = oPara.GetItem("Eigenschaften der Kameras\Viewpoints\Kamera 3\SightDirectionY").Value ' DestPoints(2) = oPara.GetItem("Eigenschaften der Kameras\Viewpoints\Kamera 3\SightDirectionZ").Value ' CATIA.ActiveDocument.Part.HybridBodies.Item("Kamera 3").HybridShapes.Item("Punkt-UpDirection").getcoordinates Koord ' UpPoints(0) = (CamPoints(0) - Koord(0)) ' UpPoints(1) = (CamPoints(1) - Koord(1)) ' UpPoints(2) = (CamPoints(2) - Koord(2)) ' Angle = oPara.GetItem("Eigenschaften der Kameras\Viewpoints\Kamera 3\Öffnungswinkel").Value ' Distance = oPara.GetItem("Eigenschaften der Kameras\Viewpoints\Kamera 3\Distanz").Value '***Kameras holen (In Schleife falls mehrere Kameras vorhanden sind)*** ' Set oCams = oPart.Cameras ' Set myCam = oCams.Item("Camera 3") ' Set myViewPoint = myCam.Viewpoint3D '***Werte uebergeben*** ' myViewPoint.PutOrigin CamPoints ' myViewPoint.PutSightDirection DestPoints ' myViewPoint.PutUpDirection UpPoints ' myViewPoint.ProjectionMode = catProjectionConic ' myViewPoint.FieldOfView = Angle ' myViewpoint.FocusDistance = Distance '***View aktualisieren*** ' oViewer.Viewpoint3D = myViewPoint ' oViewer.Reframe 'End If 'if CamNumb >= 4 Then ' CamPoints(0) = oPara.GetItem("Eigenschaften der Kameras\Koordinaten der Kameras\X-Koordinate der Kamera 4").Value ' CamPoints(1) = oPara.GetItem("Eigenschaften der Kameras\Koordinaten der Kameras\Y-Koordinate der Kamera 4").Value ' CamPoints(2) = oPara.GetItem("Eigenschaften der Kameras\Koordinaten der Kameras\Z-Koordinate der Kamera 4").Value ' DestPoints(0) = oPara.GetItem("Eigenschaften der Kameras\Viewpoints\Kamera 4\SightDirectionX").Value ' DestPoints(1) = oPara.GetItem("Eigenschaften der Kameras\Viewpoints\Kamera 4\SightDirectionY").Value ' DestPoints(2) = oPara.GetItem("Eigenschaften der Kameras\Viewpoints\Kamera 4\SightDirectionZ").Value ' CATIA.ActiveDocument.Part.HybridBodies.Item("Kamera 4").HybridShapes.Item("Punkt-UpDirection").getcoordinates Koord ' UpPoints(0) = (CamPoints(0) - Koord(0)) ' UpPoints(1) = (CamPoints(1) - Koord(1)) ' UpPoints(2) = (CamPoints(2) - Koord(2)) ' Angle = oPara.GetItem("Eigenschaften der Kameras\Viewpoints\Kamera 4\Öffnungswinkel").Value ' Distance = oPara.GetItem("Eigenschaften der Kameras\Viewpoints\Kamera 4\Distanz").Value '***Kameras holen (In Schleife falls mehrere Kameras vorhanden sind)*** ' Set oCams = oPart.Cameras ' Set myCam = oCams.Item("Camera 4") ' Set myViewPoint = myCam.Viewpoint3D '***Werte uebergeben*** ' myViewPoint.PutOrigin CamPoints ' myViewPoint.PutSightDirection DestPoints ' myViewPoint.PutUpDirection UpPoints ' myViewPoint.ProjectionMode = catProjectionConic ' myViewPoint.FieldOfView = Angle ' myViewpoint.FocusDistance = Distance '***View aktualisieren*** ' oViewer.Viewpoint3D = myViewPoint ' oViewer.Reframe 'End If End sub