| | |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| | |
 | NVIDIA RTX PRO 6000 Blackwell Max-Q Workstation Edition, eine Pressemitteilung
|
|
Autor
|
Thema: kamera nach ebene ausrichten... (2636 mal gelesen)
|
drcmda Mitglied
 
 Beiträge: 176 Registriert: 10.07.2002
|
erstellt am: 08. Aug. 2003 17:48 <-- editieren / zitieren --> Unities abgeben:         
hi wie kann ich via vba das machen was ich im inventor mit dem "aurichten nach" tool erledigen kann? im inventor kann ich doch dann eine fläche anwählen, danach korrigiert er die ansicht. Gibt es soetwas auch im inv interface? ich habs hiermit probiert: Code:
cad_obj.ActiveView.Camera.Target = plane_origin.Geometry.RootPoint cad_obj.ActiveView.Camera.UpVector = plane_origin.Geometry.Normal cad_obj.ActiveView.Camera.Apply
nichts... warum? was mache ich falsch? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
drcmda Mitglied
 
 Beiträge: 176 Registriert: 10.07.2002
|
erstellt am: 08. Aug. 2003 17:58 <-- editieren / zitieren --> Unities abgeben:         
oh ich seh gerade, das "camera" objekt muß initialisiert werden bevor überhaupt etwas passieren kann. okay jetzt bewegt sich etwas nur den gewünschten effekt der ausgerichteten ebene habe ich immer noch nicht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daywa1k3r Ehrenmitglied V.I.P. h.c. Softwareentwickler

 Beiträge: 3497 Registriert: 01.08.2002 Alienware m17x, Win7, Inventor2012
|
erstellt am: 08. Aug. 2003 20:15 <-- editieren / zitieren --> Unities abgeben:          Nur für drcmda
|
drcmda Mitglied
 
 Beiträge: 176 Registriert: 10.07.2002
|
erstellt am: 11. Aug. 2003 10:36 <-- editieren / zitieren --> Unities abgeben:         
naja schon nur will ich das ganze automatisiert haben. wenn ich diesen commandmanager befehl nutze muß ich danach eine ebene wählen die danach automatisch in den vordergrund gebracht wird. nun habe ich allerdings IN meinem programm eine ebene... jene enthält ja alle daten die ich brauche, normal-vektor, ursprungspunkt usw. nur habe ich es trotzdem nicht geschafft ein ähnliches resultat wie beim "kLookAtViewCommand" befehl zu erzeugen. hier mein code... er macht es, nur verschwindet das bauteil nach der drehung im nichts... ich denke mal es liegt an der z achse des kamera auges aber sicher bin ich mir nicht... Code:
Dim oCamera As Camera Set oCamera = cad_obj.ActiveView.Camera oCamera.ViewOrientationType = kFrontViewOrientation oCamera.UpVector = plane_origin.Geometry.Normal oCamera.Target = plane_origin.Geometry.RootPoint 'oCamera.Eye = oCamera.Target 'oCamera.Eye.z = oCamera.Eye.z * 2 oCamera.Apply
[Diese Nachricht wurde von drcmda am 11. August 2003 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daywa1k3r Ehrenmitglied V.I.P. h.c. Softwareentwickler

 Beiträge: 3497 Registriert: 01.08.2002 Alienware m17x, Win7, Inventor2012
|
erstellt am: 11. Aug. 2003 11:03 <-- editieren / zitieren --> Unities abgeben:          Nur für drcmda
Also gut: Code:
Public Sub test_camera_1() Dim oView As View Dim oCamera As Camera Dim oOcc As ComponentOccurrence Dim oPart As PartDocument Dim oAsm As AssemblyDocument Set oAsm = ThisApplication.ActiveDocument Set oView = ThisApplication.ActiveView Set oCamera = oView.Camera Set oOcc = oAsm.ComponentDefinition.Occurrences.Item(1) Set oPart = oOcc.Definition.Document oCamera.Target = oPart.ComponentDefinition.WorkPlanes.Item(1).Plane.RootPoint oCamera.UpVector = oPart.ComponentDefinition.WorkPlanes.Item(1).Plane.Normal oCamera.Apply End Sub Public Sub test_camera_2() Dim oView As View Dim oCamera As Camera Set oView = ThisApplication.ActiveView Set oCamera = oView.Camera oCamera.ViewOrientationType = kBottomViewOrientation oCamera.Apply oCamera.ViewOrientationType = kLeftViewOrientation oCamera.Apply oCamera.ViewOrientationType = kFrontViewOrientation oCamera.Apply oCamera.ViewOrientationType = kBackViewOrientation oCamera.Apply End Sub
test_camera_1 richtet die Kamera auf die erste Arbeitsebene. Du kannst es an deine Fläche anpassen. (läuft in einer Assembly mit einem Part) test_camera_2 dreht einfach die Kamera in 4 vordefinierte Ansichten. Jetzt müsste es doch klar sein ? Oder ? ------------------ Grüße daywa1k3r Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| |
drcmda Mitglied
 
 Beiträge: 176 Registriert: 10.07.2002
|
erstellt am: 11. Aug. 2003 13:06 <-- editieren / zitieren --> Unities abgeben:         
schon, das sind schon alles die richtigen funktionen... und die funktionsweise der inventor kamera kann ich auch einigermaßen nachvollziehen nur setzt deine funktion nur das target und den normal- vektor und geht dann die vier betrachtungen durch. eine dieser positionen ist dann auch immer richtig allerdings ändert sich das für jede ebene... es geht mir halt darum immer jede beliebige ebene fixieren zu können. probier deine funktionen mal an einem klotz aus... bei der ersten ebene wird es gehen die ebenen dahinter zeigt er allerdings falsch an. das ganze inventor-kamera system erscheint mir sowieso unlogisch... wenn ich einen vektor für die position des kamera-auges habe und einen für das ziel, wieso brauche ich dann noch einen normal-vektor für die ebene???? das ist doch überflüssig... tja ich komme nicht weiter, irgendwie will es nicht klappen  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |