| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY wird von NVIDIA zum Händler des Jahres gewählt – zum dritten Mal in Folge, eine Pressemitteilung
|
Autor
|
Thema: VBA: Y Achse soll immer nach oben zeigen (1887 / mal gelesen)
|
M4T Mitglied Konstrukteur
Beiträge: 35 Registriert: 26.03.2020 Inventor 2019 (Techn.Zeichner von 1997-2004; AutoCAD 70%, Inventor 30%; seit 03.2020 wieder aktiv am konstruieren)
|
erstellt am: 03. Okt. 2020 10:42 <-- editieren / zitieren --> Unities abgeben:
Hi, ich kenne mich mit VBA eigentlich recht gut aus (Excel), aber in Inventor nicht so... Ich hätte gerne eine Funktion, mit der die aktuelle Ansicht so um die Achse gedreht wird die senkrecht auf dem Bildschirm steht, dass Y immer genau nach oben zeigt. Manuell würde man das machen mit F4 und dann außerhalb des Kreises drehen bis Y nach oben zeigt. Kennt ihr die GoogleEarth Software? Wenn die Karte gedreht wurde und Norden nicht mehr oben ist, dann kann man durch drücken der Taste R die Karte wieder "norden". An so eine Funktion denke ich hierbei; wo das Bauteil/Baugruppe wieder "genordet/senkrecht hingestellt" wird. Gibt's Ideen dazu?
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
thomas109 Moderator Dompteur
Beiträge: 9357 Registriert: 19.03.2002
|
erstellt am: 03. Okt. 2020 13:21 <-- editieren / zitieren --> Unities abgeben: Nur für M4T
In welcher Branche bist du? Im allgemeinem Maschinenbau in der DIN-Gegend ist gebräuchlich dass XY der Fußboden ist. Aber dazu brauchst kein VBA. Deine Ausrichtung ist bei der DIN-Vorlage die Draufsicht (so in Extras/Anpassen/Tastatur zu finden) , und die kann man in Anpassen mit einer beliebigen Taste belegen. Du mußt nur darauf achten keinen Konflikt mit einer bestehende Zuordnung zu erzeugen. ------------------ lg Tom
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mcap Mitglied CAD-Supporter
Beiträge: 137 Registriert: 13.11.2014 Lenovo P360 ACAD 2022/24 IV 2022/24 WIN 10/64
|
erstellt am: 03. Okt. 2020 14:19 <-- editieren / zitieren --> Unities abgeben: Nur für M4T
|
M4T Mitglied Konstrukteur
Beiträge: 35 Registriert: 26.03.2020 Inventor 2019 (Techn.Zeichner von 1997-2004; AutoCAD 70%, Inventor 30%; seit 03.2020 wieder aktiv am konstruieren)
|
erstellt am: 04. Okt. 2020 14:13 <-- editieren / zitieren --> Unities abgeben:
Hallo Thomas, von AutoCAD her habe ich halt auch eher XY als Ausgangsebene angesehen, und Z halt dann die Höhe. Aber meine Inventor Vorlagen (habe eine englische Version mit deutschem language pack) ist anders. Wie man im Anhang sieht ist da XZ oben, und XY vorne. Hab mich mittlerweile dran gewöhnt. Wäre der Boden meines Playgroundes, wenn du ihn konstruiert hättest, auf der XY Ebene? Aber nochmal zu meiner Fragestellung. Ich glaube, ich habe mich nciht deutlich genug ausgedrückt und wurde missverstanden. Daher weiter unten nochmal neu... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
M4T Mitglied Konstrukteur
Beiträge: 35 Registriert: 26.03.2020 Inventor 2019 (Techn.Zeichner von 1997-2004; AutoCAD 70%, Inventor 30%; seit 03.2020 wieder aktiv am konstruieren)
|
erstellt am: 04. Okt. 2020 14:22 <-- editieren / zitieren --> Unities abgeben:
Haha, ja den ViewCube hab ich schonmal irgendwo gesehen Ich glaube, ich habe mich nciht deutlich genug ausgedrückt und wurde missverstanden. Daher nochmal neu: Ich möchte nicht(!) die Ansicht auf eine Seite oder bestimmte Kameraposition drehen (ViewCube oder Taste). Ich möchte lediglich eine kleine oder größere Neigung korrigieren. Seht ihr in meinem letzten Beitrag den screenshot? Da sieht man, dass der playground eigentlich ein bissel nach rechts gedreht werden müsste damit er aufrecht steht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Zebulon1861 Mitglied Rentner
Beiträge: 33 Registriert: 29.06.2020
|
erstellt am: 04. Okt. 2020 16:23 <-- editieren / zitieren --> Unities abgeben: Nur für M4T
Deine Fragestellungen sind schon sehr spooky… Wenn es um das Ausrichten von importierten Bauteilen etc. geht, welche nicht in der gewünschten Lage im Raum liegen, einfach mal mit "Gelenk" beschäftigen. ------------------ Alle Tage ist kein Sonntag... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
M4T Mitglied Konstrukteur
Beiträge: 35 Registriert: 26.03.2020 Inventor 2019 (Techn.Zeichner von 1997-2004; AutoCAD 70%, Inventor 30%; seit 03.2020 wieder aktiv am konstruieren)
|
erstellt am: 04. Okt. 2020 16:28 <-- editieren / zitieren --> Unities abgeben:
Ist die Fragestellung so gruselig? Es geht ncoh schlimmer! LOL Okay, das mit dem 'Gelenk' sagt mir garnix. Werde ich mich schlau machen. Danke für den Tipp. Es geht aber nciht um importierte parts. Alles was du siehst ist selbst erstellt. Für das rotieren von platzierten ipt's hab ich mir schon eine VBA Funktion zum rotieren gemacht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Manfred Gündchen Ehrenmitglied V.I.P. h.c. SelbstständIng mit Planungsbüro Anlagenbau, Dipl.-Ing.-Maschinenbau
Beiträge: 2410 Registriert: 08.03.2008 IV seit den 5.3Er aktuell den 2014Ner WIN7pro-64bit SP das jeweils aktuelle
|
erstellt am: 05. Okt. 2020 07:43 <-- editieren / zitieren --> Unities abgeben: Nur für M4T
…natürlich kann Deine Fragestellung auch falsch verstanden worden sein … Und die Beschreibung der Viewcube-Funktion ist für Deine Frage, nach meinem Verständnis, nicht ausreichend. Es gibt eine weitere Funktion im Zusammenhang mit dem Viewcube. Für eine selbstgewählte und fixierte Ausrichtung der Ansicht eines Bauteils oder einer Baugruppe wird erst die Ansicht so hingedreht und geschoben „bis es mensch“ gefällt. Dann rechte-Maus-Taste auf das Häuschen oben, neben dem Viewcube drücken, in dem dann erscheinenden Fenster „Ansicht fixieren“ (…oder so…) mit linke-Maus-Taste wählen. Danach sollte durch drücken Linke-Maus-Taste auf das Häuschen die gewählte Ansicht jederzeit wieder eingestellt werden. Die Ansicht ist dann auch die die im Explorer erscheint und die die beim erneuten Öffnen erscheint. Funktioniert auch bei Bauteilen . ------------------ In diesem Sinne wünsche ich allen, weiterhin effektives Schaffen ---------------- Manfred Gündchen www.guendchen.com Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
EIBe 3D Mitglied Dipl. - Ing. (FH)
Beiträge: 267 Registriert: 24.01.2020 HP Z4 G4 Workstation Xeon 3,6 32GB Nvidia P2000 WIN10 SW2015 SP5.0 SW2017 ************* Inv2018 akt.SP
|
erstellt am: 05. Okt. 2020 08:33 <-- editieren / zitieren --> Unities abgeben: Nur für M4T
Hallo M4T, im Fall deines Screenshots einfach auf die vertikale Kante des ViewCubes zwischen "Vorne" und "Rechts" klicken Ansonsten bringt dich Code:
Sub Ansicht_ausrichten() Dim oActiveView As View Set oActiveView = ThisApplication.ActiveView Dim oCamera As camera Set oCamera = oActiveView.camera
oCamera.ViewOrientationType = kFrontViewOrientation 'kIsoTopRightViewOrientation oCamera.Apply End Sub
in die Vorderansicht Zum Rotieren um eine Achse (z.B. Y-Achse) kannst du Post 12 dir mal anschauen. Grüße
EIBe 3D Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
M4T Mitglied Konstrukteur
Beiträge: 35 Registriert: 26.03.2020 Inventor 2019 (Techn.Zeichner von 1997-2004; AutoCAD 70%, Inventor 30%; seit 03.2020 wieder aktiv am konstruieren)
|
erstellt am: 05. Okt. 2020 09:43 <-- editieren / zitieren --> Unities abgeben:
Zitat: ...Dann rechte-Maus-Taste auf das Häuschen oben, neben dem Viewcube drücken, in dem dann erscheinenden Fenster „Ansicht fixieren“ (…oder so…) mit linke-Maus-Taste wählen.
Yep, du meinst AAAAAF (Aktuelle Ansicht Als AusgangsAnsicht Festlegen). Das habe ich letztens auch schon entdeckt. Für meinen Playground war mir die isometrische Ansicht ein bissel zu weit "Vogelperspektive", weshalb ich Standardansicht auf eine eher dimetrische Ansicht gesetzt habe. Ich will hier niemandem vorwerfen er hätte meine Fragestellung nicht verstanden - die Schuld liegt dann ganz offensichtlich bei mir! Aber daswas ich erreichen möchte, ist nicht mit dem ViewCube zu erreichen. Es ist sozusagen eine automatisierte Verwendung von Orbit; genauer gesagt die Funktion Rotation außerhalb des Fadenkreuzkreises um die Sichtachse die senkrecht auf dem Bildschirm steht (hat also nix mit dem BKS zu tun). Ziel ist das Überwinden von engl. tilting in der aktuellen Ansicht - idealerweise durch drücken einer Taste. ABER... ich gebe auf. Ich muss gestehen jetzt erst "Orbit mit Abhängigkeiten" entdeckt zu haben und dabei dreht er bisher immer schön so, dass 'der Himmel' auch am Bildschirm immer oben bleibt. Dadurch hat sich eigentlich meine Fragestellung erübrigt. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
thomas109 Moderator Dompteur
Beiträge: 9357 Registriert: 19.03.2002
|
erstellt am: 05. Okt. 2020 09:43 <-- editieren / zitieren --> Unities abgeben: Nur für M4T
Zitat: Original erstellt von M4T: Aber nochmal zu meiner Fragestellung. Ich glaube, ich habe mich nciht deutlich genug ausgedrückt und wurde missverstanden. Daher weiter unten nochmal neu...
ja, denn die Frage war komplett an deinem Problem vorbei. Der Screenshot zeigt die Konstruktion liegt schief im Raum. Da ist der View Cube oder Ansichtsausrichtung irrelevant. Du mußt dein Modell korrekt am Koordinatensystem der Baugruppe ausrichten, nicht den View Cube am Modell. 3x fluchtend zu den Hauptebenen ist üblich, vorausgesetzt das Hauptteil ist in seinem Koordinatensystem orthogonal drin.
------------------ lg Tom Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rode.damode Mitglied Maschinenbauingenieur
Beiträge: 452 Registriert: 15.07.2011 Inventor 2025 ZBook15, i7 Quadro M2200 32GB
|
erstellt am: 05. Okt. 2020 11:24 <-- editieren / zitieren --> Unities abgeben: Nur für M4T
Hallo Tom Wenn Du Deinen eigenen Helm mal ein wenig drehen würdest , dann würdest Du erkennen, dass nicht die Konstruktion schief im Raum liegt, sondern die Y-Achse. Dass M4T diese senkrecht haben wollte, hat er schon im 1. Post geschrieben und mit dem Bild noch mal verdeutlicht. So unverständlich hatte er sich nicht ausgedrückt, ich hatte nur außer dem Drücken auf eine Kante des ViewCubes bisher auch keine Lösung. @M4T: Der Hinweis "Orbit mit Abhängigkeiten" ist super. Hatte ich bisher auch nicht auf dem Schirm. Viele Grüße Roger
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Manfred Gündchen Ehrenmitglied V.I.P. h.c. SelbstständIng mit Planungsbüro Anlagenbau, Dipl.-Ing.-Maschinenbau
Beiträge: 2410 Registriert: 08.03.2008 IV seit den 5.3Er aktuell den 2014Ner WIN7pro-64bit SP das jeweils aktuelle
|
erstellt am: 05. Okt. 2020 12:07 <-- editieren / zitieren --> Unities abgeben: Nur für M4T
|
thomas109 Moderator Dompteur
Beiträge: 9357 Registriert: 19.03.2002
|
erstellt am: 05. Okt. 2020 12:09 <-- editieren / zitieren --> Unities abgeben: Nur für M4T
Zitat: Original erstellt von rode.damode: sondern die Y-Achse
die zeigt immer nach Y , aber Modell oder View Cube können schief liegen. Und beides läßt sich wieder sauber ausrichten. Modell siehe oben, View Cube indem man die Ansicht auf eine Hauptebene ausrichtet und dann den View Cube einstellt. Wie auch immer, VBA ist das falsche Werkzeug. ------------------ lg Tom Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nightsta1k3r Ehrenmitglied V.I.P. h.c. plaudern
Beiträge: 11273 Registriert: 25.02.2004 Hier könnte ihre Werbung stehen!
|
erstellt am: 05. Okt. 2020 12:14 <-- editieren / zitieren --> Unities abgeben: Nur für M4T
Zitat: Original erstellt von Manfred Gündchen: …aber auch das kann‘ste mit vorhandenen Funktionen und ein bisschen workaround
View Cube an schiefes Modell ausrichten geht leicht, aber gut ist was anderes und wenn man so trickst sollte man genau wissen was und warum man es tut. Hier in diesem Fall hätte ich starke Zweifel daran .. ------------------
------------------ Der Clown ist die wichtigste Mahlzeit am Tag. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
3d-freelancer Mitglied
Beiträge: 259 Registriert: 10.02.2011 Intel Core i7-950, 3,06GHz Quad Core, 24GB RAM, WIN10 Prof. 64bit Nvidia Quadro M4000 Space Controller AIP2021
|
erstellt am: 05. Okt. 2020 13:45 <-- editieren / zitieren --> Unities abgeben: Nur für M4T
|
M4T Mitglied Konstrukteur
Beiträge: 35 Registriert: 26.03.2020 Inventor 2019 (Techn.Zeichner von 1997-2004; AutoCAD 70%, Inventor 30%; seit 03.2020 wieder aktiv am konstruieren)
|
erstellt am: 05. Okt. 2020 16:37 <-- editieren / zitieren --> Unities abgeben:
Zitat:
Wenn Du Deinen eigenen Helm mal ein wenig drehen würdest , dann würdest Du erkennen, dass nicht die Konstruktion schief im Raum liegt, sondern die Y-Achse.
Also ihr Lieben, ich bekomm ja schon fast ein schlechtes Gewissen weil ihr so viel Zeit damit verbringt mir zu Helfen aber warum auch immer das Problem falsch verstanden wird. Der einzige der mein Problem verstanden hat, ist Roger. @Thomas: Geniales Bild! Aber das Bauteil/Baugruppe liegt nicht schief im Raum! Das Modell ist korrekt am Koordinatensystem ausgerichtet (in dem Zusammenhang aber danke nochmal für den Hinweis, dass Himmel & Erde auf der XY Ebene und nicht XZ Ebene liegen sollte). @Manfred & @nightsta1k3r: Ich will auch nicht den ViewCube am Modell ausrichten. Der ViewCube ist für meine Fragestellung irrelevant @Burkhard: Danke für die Screenshots. Da kommen Erinnerungen an eine Inventorschulung in 2003 hoch (in 2004 habe ich aufgehört als Techn. Zeichner zu arbeiten & AutoCAD und Inventor zu nutzen). Damals wurde da gesagt dass man das so einstellen solle. Aber wie gesagt, darum geht es nicht. Also, mein Problem ist nicht so wichtig. Da ich zu Hause konstruiere, kann ich auch meine Frau bitten den Bildschirm in die Hand zu nehmen und immer so zu drehen, dass die Y Achse genau zur Zimmerdecke zeigt Thomas, VBA ist das richtige Werkzeug hierfür. Mit einer leicht abgewandelten Version des Codes von https://adndevblog.typepad.com/manufacturing/2014/11/rotate-camera-around-any-axis-any-angle.html kann ich nun die Ansicht um die vertikale Achse des Bildschirms drehen (Wie gesagt: NICHT um eine der drei Achsen des Korrdinatensystemes, sondern der aktuellen Ansicht am Bildschirm!). Aber ich schaffe es noch nicht, den Code so anzupassen, dass die Ansicht um die Achse zu drehen die senkreht auf dem Bildschirm steht. Liebe Grüße, Pete Code: Public Sub RotateLeft() Call Rotate_view("left", 90) End Sub Public Sub RotateRight() Call Rotate_view("right", 90) End SubPrivate Function Rotate_view(side As String, degree As Integer) 'https://adndevblog.typepad.com/manufacturing/2014/11/rotate-camera-around-any-axis-any-angle.html 'deactivated by PS - needed for ipt?!? 'Dim baseView As DrawingView 'Set baseView = ThisApplication.ActiveDocument.SelectSet(1) 'inserted by PS Dim baseView As View Set baseView = ThisApplication.ActiveView Dim tr As TransientGeometry Set tr = ThisApplication.TransientGeometry Dim c As Camera Set c = baseView.Camera ' Debug.Print c.PerspectiveAngle ' Debug.Print c.Eye.X ' Debug.Print c.Eye.Y ' Debug.Print c.Eye.Z Dim oldEye As Point Set oldEye = c.Eye.Copy Dim oldTarget As Point Set oldTarget = c.Target.Copy Dim oldUpVector As UnitVector Set oldUpVector = c.UpVector.Copy ' Get the Sheet's axis into the model space Dim sheetXInModel As Vector Select Case side 'edited by PS Case "right" Set sheetXInModel = tr.CreateVector(0, 1, 0) 'turn right Case "left" Set sheetXInModel = tr.CreateVector(0, -1, 0) 'turn left Case "up" Set sheetXInModel = tr.CreateVector(-1, 0, 0) 'turn up Case "down" Set sheetXInModel = tr.CreateVector(1, 0, 0) 'turn down End Select 'Call sheetXInModel.TransformBy(baseView.SheetToModelTransform) 'deactivated by PS (needed for sheet part?!?) ' Calculate rotation in the model ' around the Target and the Sheet X ' in model space Dim m As Matrix Set m = tr.CreateMatrix() 'inserted by PS Dim rotFactor As Single rotFactor = degree / 90 ' Set the rotation angle to 90 degrees ' Atn(1) = 45 degrees in radian Dim Rad90 As Double Rad90 = 2 * Math.Atn(1) '=> 90° 'Call m.SetToRotation(Rad90, sheetXInModel, oldTarget) 'deactivated by PS Call m.SetToRotation(Rad90 * rotFactor, sheetXInModel, oldTarget) 'inserted by PS ' Now we just have to transform the points and ' vectors Call oldEye.TransformBy(m) c.Eye = oldEye Call oldUpVector.TransformBy(m) c.UpVector = oldUpVector 'Call c.ApplyWithoutTransition 'deactivated by PS Call c.Apply 'inserted by PS End Function
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
M4T Mitglied Konstrukteur
Beiträge: 35 Registriert: 26.03.2020 Inventor 2019 (Techn.Zeichner von 1997-2004; AutoCAD 70%, Inventor 30%; seit 03.2020 wieder aktiv am konstruieren)
|
erstellt am: 05. Okt. 2020 20:54 <-- editieren / zitieren --> Unities abgeben:
Zitat:
Zum Rotieren um eine Achse (z.B. Y-Achse) kannst du Post 12 dir mal anschauen. [/B]
Danke EIBe 3D. Nicht zuletzt durch diesen link habe ich eine Funktion zusammengestellt, mit der man die Ansicht tatsächlich um die 3 Achsen des Bildschirmes drehen kann - nicht des Koordinatensystems! Jetzt fehlt mir nur noch eine Funktion um die Neigung der Y Achse in der aktuellen Ansicht zu messen - um sie dann entsprechend zu drehen Code: Public Sub rotme() Call RotateAroundDisplayAxis("X", 90) End SubPublic Sub RotateAroundDisplayAxis(ByVal axis As String, ByVal degree As Integer, Optional ByVal CW As Boolean = True) ' collected by PS 2020.10.05 ' This example simply rotates the view around an axis of the actual view - not the UCS! ' turning around the axis vertical to the screen from: http://ww3.cad.de/foren/ubb/Forum258/HTML/000587.shtml ' turning around the vertical & horizontal axis of the screen from: https://forums.autodesk.com/t5/inventor-customization/camera-upvector/td-p/757637 Dim oView As View Set oView = ThisApplication.ActiveView Dim oCamera As camera Set oCamera = oView.camera Select Case axis Case "Z" Dim ox, oy, oz As Double ox = oCamera.Eye.x - oCamera.Target.x oy = oCamera.Eye.y - oCamera.Target.y oz = oCamera.Eye.Z - oCamera.Target.Z Dim oNewUp As UnitVector Set oNewUp = ThisApplication.TransientGeometry.CreateUnitVector(ox, oy, oz) If CW Then 'rotate CW oCamera.UpVector = oNewUp.CrossProduct(oCamera.UpVector) Else 'rotate CCW oCamera.UpVector = oCamera.UpVector.CrossProduct(oNewUp) End If Case "X", "Y" Dim FPoint As Point2d 'rotation points Dim TPoint As Point2d Dim rVal As Double 'rotation values Dim yVal As Double Dim radV As Double radV = Math.Atn(1) / 2.25 'PS: Math.Atn(1) = 45° rVal = degree * -radV If CW Then 'rotate CW Select Case axis Case "X" Set FPoint = ThisApplication.TransientGeometry.CreatePoint2d(0, 0) Set TPoint = ThisApplication.TransientGeometry.CreatePoint2d(0, rVal) Case "Y" Set FPoint = ThisApplication.TransientGeometry.CreatePoint2d(0, 0) Set TPoint = ThisApplication.TransientGeometry.CreatePoint2d(rVal, 0) End Select Else 'rotate CCW Select Case axis Case "X" Set FPoint = ThisApplication.TransientGeometry.CreatePoint2d(0, rVal) Set TPoint = ThisApplication.TransientGeometry.CreatePoint2d(0, 0) Case "Y" Set FPoint = ThisApplication.TransientGeometry.CreatePoint2d(rVal, 0) Set TPoint = ThisApplication.TransientGeometry.CreatePoint2d(0, 0) End Select End If oCamera.ComputeWithMouseInput FPoint, TPoint, 0, kRotateViewOperation End Select oCamera.Apply oCamera.Fit End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Zebulon1861 Mitglied Rentner
Beiträge: 33 Registriert: 29.06.2020
|
erstellt am: 05. Okt. 2020 22:38 <-- editieren / zitieren --> Unities abgeben: Nur für M4T
Sorry Leuts, hat schon mal jemand außer mir das Geschreibsel des Threadsetters zusammengefasst und quer gelesen!? Und bitte, wenn dein Weib kognitiv in der Lage ist, auf Anweisung hin Monitor zu drehen, was laberst du hier herum? Prinzipiell geht es dir, so zu lesen, um ein VBA Automatismus der ein Konstrukt aus einer unbekannten Lage im Raum und zur Y Achse, automatisch, ohne zutun und ohne drücken eines Knöpfchens, zur Y Achse ausrichtet. Scheinbar liest hier keiner mehr diesen Schwachfug nach... Und lieber Manfred, mein Angebot steht. Ich fahre in der Zeit vom 11.10. bis 23.10. nach Laboe. Wir können uns gern mal treffen. Beste Grüße in die Runde ------------------ Alle Tage ist kein Sonntag... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Roland Schröder Moderator Dr.-Ing. Maschinenbau, Entwicklung & Konstruktion von Spezialmaschinen
Beiträge: 13408 Registriert: 02.04.2004 IV 2024
|
erstellt am: 05. Okt. 2020 23:09 <-- editieren / zitieren --> Unities abgeben: Nur für M4T
Moin! Zum Ausrichten der Ansicht nach der Senkrechten (welche Achse auch immer dafür gewählt wurde) gibt es das sehr einfache Mittel "Orbit mit Abhängigkeiten" aus dem Menü Ansicht, Gruppe Navigieren, unter "Orbit". Wenn das aktiv ist, rastet die am nächsten liegende Achse genau auf der Bildschirmsenkrechten ein, sobald man mit der Maus in den Orbit klickt, und das beibt auch so, wenn man dann mit der Maus die Ansicht fein einstellt. Und y nach oben zeigen zu lassen, ist gut, denn die Welt ist sehr viel größer als die DIN-Gegend. Beim Datenaustausch mit gar nicht so exotischen Ländern (wie z. B. USA), Branchen (wie z. B. Elektrotechnik) oder CAD-Programmen (wie z. B. Solidworks) stellt man fest, dass es dort überall genau so ist. ------------------ Roland www.Das-Entwicklungsbuero.de It's not the hammer - it's the way you hit! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rode.damode Mitglied Maschinenbauingenieur
Beiträge: 452 Registriert: 15.07.2011 Inventor 2025 ZBook15, i7 Quadro M2200 32GB
|
erstellt am: 06. Okt. 2020 00:54 <-- editieren / zitieren --> Unities abgeben: Nur für M4T
Hallo Pete Bisher hatte ich Dich ja verstanden. Nur jetzt komme ich nicht mehr mit. Dein Vorschlag mit dem "Orbit mit Abhängigkeiten" war doch zielführend für Deinen Wunsch, eine Achse beim Drehen dauernd senkrecht nach oben zeigen zu lassen. Du schreibst nun, dass Du nun per VBA um die senkrechte Achse zum Bildschirm drehen kannst, bzw. um alle 3 Achsen des Bildschirms. Nun, das geht doch ganz einfach mit dem "Orbit" (ohne Abhängigkeiten). Je nachdem wo Du da hinklickst, kannst Du um jede gewünschte Achse in Bezug zum Bildschirm drehen. Was fehlt Dir also noch? Oder hast du einfach nur Spass, eine fertige Funktion nachzuprogrammieren? Viele Grüße Roger Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
M4T Mitglied Konstrukteur
Beiträge: 35 Registriert: 26.03.2020 Inventor 2019 (Techn.Zeichner von 1997-2004; AutoCAD 70%, Inventor 30%; seit 03.2020 wieder aktiv am konstruieren)
|
erstellt am: 06. Okt. 2020 04:22 <-- editieren / zitieren --> Unities abgeben:
Zitat:
Du schreibst nun, dass Du nun per VBA um die senkrechte Achse zum Bildschirm drehen kannst, bzw. um alle 3 Achsen des Bildschirms. Was fehlt Dir also noch?Oder hast du einfach nur Spass, eine fertige Funktion nachzuprogrammieren?
Naja, ich möchte eigentlich immernoch die Funktion haben, nach einem Orbit mit Tastendruck die Achse die in den Himmel zeigt, exakt nach oben auszurichten. Dazu fehlen mir jetzt zwei Sachen. Aber ich will hier diesen Beitrag nicht noch mehr sprengen. Nun, du hast REcht; so lange das mit dem Orbit mit Abhängigkeiten funktioniert, hat das keine Dringlichkeit. Aber da ich für eine andere Sache (da geht es um Präsentationen) auch die Möglichkeit haben möchte die Ansicht um alle Achsen des Bildschirms (nicht des Koordinatensystems) zu drehen, bin ich happy die VBA Funktion zuusammengestellt zu haben - auch wenn das Drehen um die vertikale Achse zum Bildschirm mit Winkel <> 90° noch nciht funktioniert. Anyway, vielen Dank für eure Hilfe und mitdenken. Das war Klasse. Danke! PS: Vielen Dank Roland für deinen Hinweis. Das war mir nciht bekannt. Dann liegt das bei meinem Inventor wohl daran dass ich die engl. Version mit seinen Templates habe. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
EIBe 3D Mitglied Dipl. - Ing. (FH)
Beiträge: 267 Registriert: 24.01.2020 HP Z4 G4 Workstation Xeon 3,6 32GB Nvidia P2000 WIN10 SW2015 SP5.0 SW2017 ************* Inv2018 akt.SP
|
erstellt am: 06. Okt. 2020 08:05 <-- editieren / zitieren --> Unities abgeben: Nur für M4T
Zitat: Original erstellt von M4T:Jetzt fehlt mir nur noch eine Funktion um die Neigung der Y Achse in der aktuellen Ansicht zu messen - um sie dann entsprechend zu drehen
Schau dir mal ViewToModelSpace und das Gegenpart an (ggf. auch WorldToView) vielleicht kommst du damit weiter. Hab gerade keine Zeit mich selbst damit zu befassen, daher nur der kurze Hinweis. Grüße EIBe 3D Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KraBBy Mitglied Maschinenbau-Ingenieur
Beiträge: 720 Registriert: 19.09.2007 Inventor Professional 2020 WinX
|
erstellt am: 06. Okt. 2020 13:08 <-- editieren / zitieren --> Unities abgeben: Nur für M4T
ist das hier das gewünschte? Code: Private Sub y_UP() 'UpVector der aktuellen Ansicht verändern ' hier y-Koordinate ' KraBBy 06.10.2020 Dim TG As TransientGeometry Set TG = ThisApplication.TransientGeometry With ThisApplication.ActiveView.Camera '.Target = TG.CreatePoint(...) 'nicht nötig '.Eye = TG.CreatePoint(...) 'nicht nötig .UpVector = TG.CreateUnitVector(0, 1, 0) .Apply End With Set TG = Nothing 'Aufräumen End Sub
Bitte nicht böse sein, falls das komplett am Thema vorbei ging. Hab vielleicht nicht alle Beiträge vollständig verstanden. Das sind ja schon einige Beiträge... ------------------ Gruß KraBBy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Roland Schröder Moderator Dr.-Ing. Maschinenbau, Entwicklung & Konstruktion von Spezialmaschinen
Beiträge: 13408 Registriert: 02.04.2004 IV 2024
|
erstellt am: 06. Okt. 2020 14:05 <-- editieren / zitieren --> Unities abgeben: Nur für M4T
Zitat: Original erstellt von M4T: ...die engl. Version mit seinen Templates habe.
Eine "englische Version" gibt es nicht, jedenfalls nicht mehr, seit auch Inventor die Beschriftung der Funktionen in verschiedenen Sprachen als gesonderten Teil der Installation liefert. Ebenso ist es mit den Templates; es kommt nur drauf an, welche Dateien namens "Norm.*" in dem jeweils angemeldeten Vorlagen-Verzeichnis liegen. Die Einstellung, wo "oben" und "vorne" ist und welches die "home"-Ansicht sein soll, kommt nur aus dem jeweiligen Template (ipt oder iam) und ist je nach Sprach- und Norm-Version verschieden. Diese Einstellung kann auch jederzeit geändert werden; die Templates können editiert werden wie jede andere Datei. Logischerweise muss das dann für jedes Template, also ipt und iam, einzeln gemacht werden. ------------------ Roland www.Das-Entwicklungsbuero.de It's not the hammer - it's the way you hit! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
M4T Mitglied Konstrukteur
Beiträge: 35 Registriert: 26.03.2020 Inventor 2019 (Techn.Zeichner von 1997-2004; AutoCAD 70%, Inventor 30%; seit 03.2020 wieder aktiv am konstruieren)
|
erstellt am: 06. Okt. 2020 14:40 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von Roland Schröder: [B]Eine "englische Version" gibt es nicht, jedenfalls nicht mehr
Naja, zumindest war nach der Installation alles auf englisch, DIN Vorlagen gab es glaube keine, Einheiten auf inch etc. Nach Installation des language pack musste trotzdem noch eine ganze Menge angepasst werden und ich bekomm immer noch ständig irgendwelche Meldungen wegen Stildefinitionen wenn ich idws öffne. Aber das ist Thema für einen seperaten thread. Nicht hier Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
M4T Mitglied Konstrukteur
Beiträge: 35 Registriert: 26.03.2020 Inventor 2019 (Techn.Zeichner von 1997-2004; AutoCAD 70%, Inventor 30%; seit 03.2020 wieder aktiv am konstruieren)
|
erstellt am: 06. Okt. 2020 14:50 <-- editieren / zitieren --> Unities abgeben:
|
Roland Schröder Moderator Dr.-Ing. Maschinenbau, Entwicklung & Konstruktion von Spezialmaschinen
Beiträge: 13408 Registriert: 02.04.2004 IV 2024
|
erstellt am: 06. Okt. 2020 15:28 <-- editieren / zitieren --> Unities abgeben: Nur für M4T
|
M4T Mitglied Konstrukteur
Beiträge: 35 Registriert: 26.03.2020 Inventor 2019 (Techn.Zeichner von 1997-2004; AutoCAD 70%, Inventor 30%; seit 03.2020 wieder aktiv am konstruieren)
|
erstellt am: 06. Okt. 2020 15:34 <-- editieren / zitieren --> Unities abgeben:
|