| |  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS | | |  | Konstruktionsleiter-Forum 2025, eine Veranstaltung am 15.10.2025
|
Autor
|
Thema: Aktualisieren der Standardansichten per Makro. Ansichten ausrichten API (5172 mal gelesen)
|
alex.mann Mitglied

 Beiträge: 14 Registriert: 22.02.2010 SWX 2008 Excel 2007
|
erstellt am: 16. Mai. 2010 16:36 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich sitze schon ein paar Stunden dran ohne Erfolg und im Internet konnte ich bisher nichts finden. Wie können die Standardansichten per Makro gewechselt werden? Z. B. das Objekt auf die Isometrische Ansicht ausrichten > das Dialogfeld „Ausrichtung Ansicht“ mit der Leertaste (Space Bar) aufrufen > die Ansicht „*Oben“ wählen > und auf „Aktualisieren der Standardansichten“ klicken. Außer dem ersten (Part.ShowNamedView2 “*Isometrisch“, 1) werden die restlichen Schritte von dem Makro-Rekorder leider nicht aufgezeichnet. Sowohl in der API-Hilfe als auch im SldWorks-VBA-Objektkatalog habe ich keinen relevanten Parameter finden können, vielleicht sind diese erst in SWX  2009 bzw. 2010 vorhanden. Wie kann so eine Makro-Aufnahme bzw. das Aufzeichnen der Mausklicks dennoch erzwungen und per Makroausführung dieselben Schritte reproduziert werden? Hat jemand von euch eine Lösung?
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Joscha P. Mitglied Staatl. gepr. Techniker
 
 Beiträge: 216 Registriert: 06.05.2010 SWX 2011 SP4 EPDM 2011 SP4 Microsoft Windows 7 Professional SP1 64 Bit Intel Xeon CPU W3550 @ 3,07 GHz 3,06 GHz 12 GB RAM
|
erstellt am: 17. Mai. 2010 08:44 <-- editieren / zitieren --> Unities abgeben:          Nur für alex.mann
Guten Morgen, also wenn ich dich richtig verstanden habe, willst du per Knopfdruck die Standardansichten wechseln. Dafür brauchst du kein Makro, sondern kannst die mit [strg]+1-9 druchschalten. Ich hoffe ich konnte dir weiterhelfen. mfg Joscha ------------------ Geduld ist die Gunst nur langsam wütend zu werden! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andreas1964 Mitglied Programmierer

 Beiträge: 39 Registriert: 14.11.2005
|
erstellt am: 17. Mai. 2010 09:45 <-- editieren / zitieren --> Unities abgeben:          Nur für alex.mann
Zitat:
Dialogfeld „Ausrichtung Ansicht“ mit der Leertaste (Space Bar) aufrufen > die Ansicht „*Oben“ wählen > und auf „Aktualisieren der Standardansichten“ klicken. Außer dem ersten (Part.ShowNamedView2 “*Isometrisch“, 1) werden die restlichen Schritte von dem Makro-Rekorder
Das ist richtig, mehr braucht es ja auch nicht um die Ansicht zu wechseln. Zitat:
leider nicht aufgezeichnet. Sowohl in der API-Hilfe als auch im SldWorks-VBA-Objektkatalog habe ich keinen relevanten Parameter finden können, vielleicht sind diese erst in SWX 2009 bzw. 2010 vorhanden. Wie kann so eine Makro-Aufnahme bzw. das Aufzeichnen der Mausklicks dennoch erzwungen und per Makroausführung dieselben Schritte reproduziert werden?
Gar nicht, es werden nie Tasten aufgezeichnet und Mausklicks schon gar nicht, denn das würde nie funktionieren. Stell Dir vor das Fenster ist mal nicht maximiert, dann würde ein Mausklick an der Stelle X ggf. noch nicht mal in das Fenster treffen, geschweige denn den Button einer Symbolleiste... die ja auch mal hier mal da sein kann. Die Aufzeichnung eines Makro innerhalb einer Application funktioniert relativ einfach, die ausgeführte Routine führt ganz einfach den Befehl RecordMacro aus und übergibt einen String an den Makrorekorder, welcher den Aufruf der Routine samt Parameter quasi protokolliert. Hast Du MS-Excel? Plaziere diese Sub mal in ein normales Modul: Sub Test() Application.RecordMacro "Part.ShowNamedView2 ""*Isometrisch"", 1" End Sub Kehre zur Oberfläche zurück, starte den Makrorekorder, drück Alt-F8 und führe das Makro Test aus, stoppe den Makrorekorder und schau Dir das erzeugte Makro an. Ich häng Dir mal ein kleines Makro dran mit dem man ein Teil um dessen Achsen drehen kann. Das geht schon ab SW2005. Wenn Du Dir die Hilfe zu RotateAboutAxis anschaust wirst Du bestimmt weiter kommen. Falls Du es benutzen möchtest: Ich habe an Anlehung an die normale Ansichtsrotation (z.B. "Shift-Pfeil rechts" dreht um Bildschirm-Y 90°) mir die Tastenkombinationen "Strg-Shift-Pfeil rechts" usw. usw. alle auf das Main-Makro gelegt und in dem Makro schaue ich dann wie die Drehung erfolgen soll. So braucht man nicht für jede Taste ein eigenes Makro-File. Andreas. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
alex.mann Mitglied

 Beiträge: 14 Registriert: 22.02.2010 SWX 2008 Excel 2007
|
erstellt am: 17. Mai. 2010 15:50 <-- editieren / zitieren --> Unities abgeben:         
Vielen Dank euch Joscha und Andreas,  Joscha ich benutze für diesen Zweck ein Bediengerät mit zugewiesenen Tastaturkürzeln und von mir zugeordneten Tasten der Tastatur. Joscha und Andreas ich habe keinerlei Probleme von Ansicht zu Ansicht zu wechseln und das mache ich erfolgreich sogar über ein Makro, aber nur in bestimmten Fällen. Es geht in diesem Beitrag aber um etwas anderes. Der Titel lautet „Aktualisieren der Standardansichten per Makro“ (nicht von Ansicht zu Ansicht wechseln/umschalten sondern diese aktualisieren/also überschreiben). Erst, wenn die Standardansichten überschieben werden, können diejenigen Dokumente, in denen die Objekte verkehrt orientiert sind, richtig dargestellt werden (unabhängig davon, ob die drei Hauptebenen verkehrt oder richtig sind, diese werden anschließend ebenso per Makro passend umbenannt). Entschuldige Andreas, ich habe meine Frage mit der „Aufzeichnen der Mausklicks“ leider ungünstig formuliert, dabei habe ich das Aufzeichnen der Befehle der angeklickten Schaltflächen gemeint. Dass das Makro Mausgestik und Klicks nicht blind nachahmen soll ist klar. Es gibt für jeden Schritt eine interne Kennung, der ein Befehl zugeordnet werden kann. Die Schaltfläche „Aktualisieren der Standardansichten“ des Dialogfeldes „Ansichten ausrichten“ ist ein Befehl. Es geht nur darum zu erfahren, wie dieser (Befehl „Aktualisieren der Standardansichten“ als VBA-Schnittstelle) über einem Makro ausgeführt werden kann. Voraussetzung ist dafür natürlich, dass solche Befehle in dem API von SWX überhaupt vorhanden sind. Das ist eigentlich meine Frage hier an alle. ShowNamedView2 wäre der erste Schritt, der die Ansicht ausrichtet und für die Aktualisierung präpariert. Der zweite Befehl soll nun die Standardansichten richtig aktualisieren. Wie heißt dieser und gibt überhaupt so einen? Wenn mich dennoch keiner versteht, schlage ich euch vor, folgendes zu probieren: das Objekt z. B. auf die Isometrische Ansicht ausrichten > das Dialogfeld „Ausrichtung Ansicht“ mit der Leertaste (Space Bar) aufrufen > die Ansicht „*Oben“ wählen > und auf „Aktualisieren der Standardansichten“ klicken. Dreht ihr nun das Objekt wie gewöhnlich mit eurem 3DConnexion bzw. einem anderen Bediengerät (aber nicht bloß mit der Maus!) oder mit den üblichen Tastaturkürzeln und ihr habt mich dann wohl verstanden . Ansonsten ist es doch etwas verwirrend nachzuvollziehen, was der Alex so alles hierum meint. Vielen Dank euch für jede Hilfe. In Englischen Foren war ich leider auch nicht fündig. PS: Die Tasten können übrigen mit SendKeys Befhel aufgezeichnet werden und das ist ausführliche im Tutorial von Stefan Berlitz beschrieben. Es gibt seit langer Zeit diverse Programme, gerne mit Virus verfeinert, um die Mausbewegungen aufzuzeichnen und bei Bedarf die Aufgaben zu automatisieren. Dann passiert das, was Andreas angesprochen hat und schlimmer. So einen Tool habe ich zuletzt vor 6 Jahren benutzt und nie mehr. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)

 Beiträge: 8756 Registriert: 02.03.2000 SunZu sagt: Analysiere die Vorteile, die du aus meinem Ratschlag ziehst. Dann gliedere deine Kräfte entsprechend und mache dir außergewöhnliche Taktiken zunutze.
|
erstellt am: 18. Mai. 2010 08:08 <-- editieren / zitieren --> Unities abgeben:          Nur für alex.mann
Hallo Alex, ich kenne leider auch keinen Weg, die Standardansichten per API neu auszurichten. Du kannst dir zwar mit ModelDoc2::NameView eigene Ansichten (Ausrichtungen) anlegen, aber wenn du die Namen der Standardansichten dabei benutzt kommen sehr seltsame Nebeneffekte zu stande, lieber sein lassen  Es gibt sogar mit ModelDoc2::ViewOrientationUndo einen API Call, mit dem man das (interaktive) Verändern der Standardausrichtungen rückgängig machen kann, aber diese erst mal zu setzen - scheint bewusst nicht per API vorgesehen zu sein (oder ich finde es nicht). Hast du mal direkt an den API Support geschrieben oder in den SolidWorks eigenen Foren gefragt (da antworten öfter direkt SolidWorks Leute), zumindest sollten die in der Lage sein dir sicher sagen zu können, ob es eine solche Funktion überhaupt gibt. Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de Stefans SolidWorks Blog Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
alex.mann Mitglied

 Beiträge: 14 Registriert: 22.02.2010 SWX 2008 Excel 2007
|
erstellt am: 20. Mai. 2010 17:43 <-- editieren / zitieren --> Unities abgeben:         
Hallo Stefan, ich habe bedauerlicherweise eine enttäuschende Nachricht von SolidWorks API-Support erhalten: „Dieser Befehl wird bei uns oft nachgefragt, aber ist noch nicht umgesetzt“. Es sind immer diejenigen Sachen noch nicht umgesetzt, die ich hier im Forum stelle. DOCH Aber eines ist erfreulich. Ab v. 2009 ist die ganze Problematik, die mich, seit ich SolidWorks habe sehr quält, endlich mal erkannt und erfolgreich umgesetzt. Das kann kein Konstrukteur nachvollziehen, dass die Triade zu dem Model ausgerichtet werden soll. Dies habe ich vorgestern in einem Bericht auf der SolidWorks-Website gelesen. ENDLICH!!!!!!!!!. Also bald folgt „bye, bye SolidWorks 2008!“. Aha, habe ich euch neugierig gemacht? Was soll denn die Kleinigkeit? Eine Hausaufgabe an alle: ratet mal wozu es so wichtig ist. Kleine Anregungspunkte: Zeigt die Z-Achse in Weltkoordinaten wirklich zur deinen Nase nach „vorne“? Oder zum Himmel nach „oben“? Wie bitte, „da ist egal“? Nein Konstrukteure, überhaupt nicht egal. Endlich, dass nach über 30 Jahren CAD das Problem erkannt wird. Ich sage nur eines: Bis SolidWorks 2008 “was it not possible to orientate and change the Reference Triad tot the model geometry.” Nun schaut ihr wie das nach 10-15 Jahren plötzlich allen wichtig wird und keiner kann sich vorstellen, dass über 25 Jahren in 3D so lange verkehrt konstruiert und einfach so mit allen alten Gewohnheit von 2D-CAD-Systeme abgeleitet wurde. Es gibt bis SWX v. 2008 kein Zurück: wenn ein sehr komplexes Mehrkörperteil-Dokument erstellt und das Model nachträglich zu der Referenztriade (zu dem internen Koordinatensystemmatrix) ausrichtet werden soll – hier hat man einfach großes Pech. Das Dokument muss derart bearbeitet werden, bis du erschöpft bist. Ich höre schon, jemand sagt da „hallöchen, und wozu denkst de dass das Feature „Körper/Verschieben/kopieren“ geschaffen wurde?“ Dem lächele ich freundlich ins Gesicht und antworte nett: „Genieße das“ (wie bin ich nicht denn selber drauf gekommen?). Z-Achse ist immer nach oben ausgerichtet (im CAD wäre dies sowohl die Ebene Oben als auch die Ansicht Oben)! Und keinesfalls nach unten, nach rechts, nach links und nach schräg. Das sind elementare Grundlagen seit über Jahrzehnten. Wenn einer die Welt doch andersrum betrachtet werden möchte oder soll, kann er sich dennoch umdrehen. Er kann und darf aber keinesfalls behaupten, dass die Z-Achse zur Erd-Mitte zeigt oder sonstiger Blödsinn. DANKE EUCH DESSAULT SYSTEM. IHR HABT EINEN GROSSEN VORTSCHRITT GEMACHT. DAS IST EIN ERNST GROSSER VORTSCHRITT UND WENIGER DIE NEUEN FEATURES. Alle alle alte SWX -Dokumene können nun in v. 2009 sekundenschnell zu dem internen Koordinatensystemmatrix ausgerichtet werden! CAM und die Weiterverarbeitung grüst es!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Press play on tape Ehrenmitglied Konstrukteur und sonst nix!
    
 Beiträge: 1945 Registriert: 30.04.2007 Creo Elements Direct Modeling 17
|
erstellt am: 20. Mai. 2010 19:06 <-- editieren / zitieren --> Unities abgeben:          Nur für alex.mann
Hallo Alex, es ist ja echt okay wenn man mal etwas frust abläst und andere Querlesende aufklärt aber ganz ehrlich ich hab nichts verstanden Könntest Du vielleicht: - genauer erklären warum Du Weltkoordinaten brauchst(gab es übrigens schon in Autocad2000)
- genauer erklären wie man zu der internen Koordinatensystemmatrix ausrichtet
Du kannst Dir ja denken, daß wenn ich so Frage ich garantiert noch nie ein Modell anders ausgerichtet habe, auch wenn es noch so seltsam ausgerichtet war. gruß Heiko Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
sonti Mitglied dipl. Masch.-Ing.
   
 Beiträge: 1175 Registriert: 26.01.2007 Solid Works 2017 SP5 Inventor 2015 Windows 10 SWX (mein Liebling)
|
erstellt am: 21. Mai. 2010 07:49 <-- editieren / zitieren --> Unities abgeben:          Nur für alex.mann
Hallo Wenn ich das gelesene richtig interpretiere  , sollte man jede einzelne Station für jeden Einzelnen nach seinen Wünschen einstellen können.  Ich hoffe nur das die einzelnen Stationen bis zur neuen SWX  Version arbeitsbereit sind. Sonti Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)

 Beiträge: 8756 Registriert: 02.03.2000 SunZu sagt: Analysiere die Vorteile, die du aus meinem Ratschlag ziehst. Dann gliedere deine Kräfte entsprechend und mache dir außergewöhnliche Taktiken zunutze.
|
erstellt am: 21. Mai. 2010 10:55 <-- editieren / zitieren --> Unities abgeben:          Nur für alex.mann
@alex: Aber es freut mich für dich, dass du dich freust, warum auch immer  Zitat: Original erstellt von sonti: [...] sollte man jede einzelne Station für jeden Einzelnen nach seinen Wünschen einstellen können
Aber bitte nicht mit so vielen Optionen, das verwirrt nur  Ciao, Stefan PS: ich hab das auch noch nie gebraucht, ein Modell neu zu re-orientieren, aber das mag an anderen philosophischen Sichtweise liegen ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de Stefans SolidWorks Blog Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andreas1964 Mitglied Programmierer

 Beiträge: 39 Registriert: 14.11.2005
|
erstellt am: 21. Mai. 2010 11:28 <-- editieren / zitieren --> Unities abgeben:          Nur für alex.mann
Das Problem der Orientierung kommt oft wenn man ein Teil mit einem weiteren Programm weiterverarbeiten möchte. Als Gedankenbeispiel nehmen wir mal den rechten Zylinderblock eines V8-Motor's, dessen Bohrung nach rechts oben verläuft wenn man vom Kühler aus schaut. Wenn ich den Zylinderblock nun auf eine CNC-Maschine aufspanne, dann lege ich die Anschraubfläche parallel zum Tisch und senkrecht zum Tisch verläuft die Z-Achse der Maschine. Exportiere ich also die CAD-Daten in mein CAM, dann liegt so gesehen die Z-Achse schief und ich muss das Teil reorientieren, was bei 4 oder 5 Achsen-Bearbeitung je nach CAM-System und Maschinen-Postprozessor leider unumgänglich ist. Eins der Dinge an die Konstrukteure z.B. nie denken ist das man im CAM auch ein Rohteil hat/braucht und in meinem CAM brauche ich dieses in der gleichen Orientierung wie das Fertigteil. Oft wird dieses Rohteil nicht in der gleichen Lage wie das Fertigteil (wenn überhaupt) konstruiert, damit habe ich schon 2 Teile die ich drehen und positionieren muss. Nicht selten hat man aber z.B. auch Schweißkonstruktionen die sich aus vielen Teilen zusammensetzen... Andreas. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |