Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  kamera nach ebene ausrichten...

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
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  kamera nach ebene ausrichten... (2293 mal gelesen)
drcmda
Mitglied



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

Beiträge: 176
Registriert: 10.07.2002

erstellt am: 08. Aug. 2003 17:48    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

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



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

Beiträge: 176
Registriert: 10.07.2002

erstellt am: 08. Aug. 2003 17:58    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

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
Moderator
Softwareentwickler




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

Beiträge: 3497
Registriert: 01.08.2002

Alienware m17x, Win7, Inventor2012

erstellt am: 08. Aug. 2003 20:15    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 drcmda 10 Unities + Antwort hilfreich

Hallo drcmda,

meinst du sowas

Code:

Public Sub test_camera()
  ThisApplication.CommandManager.StartCommand kLookAtViewCommand
End Sub

?

------------------
Grüße daywa1k3r

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

drcmda
Mitglied



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

Beiträge: 176
Registriert: 10.07.2002

erstellt am: 11. Aug. 2003 10:36    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

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
Moderator
Softwareentwickler




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

Beiträge: 3497
Registriert: 01.08.2002

Alienware m17x, Win7, Inventor2012

erstellt am: 11. Aug. 2003 11:03    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 drcmda 10 Unities + Antwort hilfreich

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



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

Beiträge: 176
Registriert: 10.07.2002

erstellt am: 11. Aug. 2003 13: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

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

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