| | |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| | |
 | Wechsel von CATIA V5 auf 3DEXPERIENCE CATIA - Warum es sich lohnt, ein Fachartikel
|
|
Autor
|
Thema: VBA in Solidworks... Anfängerfrage (1136 mal gelesen)
|
Thorondor Mitglied Industriemechaniker

 Beiträge: 12 Registriert: 01.10.2009 Core i7 920 Quadro 1800 6 GB Ram Windows Vista 64 Bit
|
erstellt am: 17. Dez. 2009 13:45 <-- editieren / zitieren --> Unities abgeben:         
Hi Solidworksler, möchte ein kleine Makro schreiben um mir etwas die Arbeit zu erleichtern. Ich möchte ein Makro welches nacheinander bestimmte Behfehle ausführt, damit das später auch funktioniert wollte ich am Anfang, eine Ausgewählte Skizze in "Makrozeichnung" umbenennen... dann im Makro mit "Makrozeichnung" arbeiten... und am Ende die Datei wieder zurück umbenenen. Bevor das Makro ausgeführt wird makiere ich die Zielzeichnung... jetzt läuft das Makro... es soll die Eigenschafften öffnen (ist ja kein problem) und dann den bereits makierten namen Kopieren, damit ich ihn am Ende wieder einfügen kann. Allerdings habei ich keinen funktionierende Copy Anweisung gefunden. Habe schon SelectionCopy usw. probiert, ohne erfolg. Also gebe ich das problem an Euch weiter  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nahe Ehrenmitglied
    
 Beiträge: 1764 Registriert: 18.01.2001 arbeite mit: Dell Precision 7750 i7 2,6 GHz 6 Kerne 32GB RAM 512GB SSD NVIDIA Quadro RTX 4000 ------------------------ SWX-2020 SP5.0 EPDM ---------------- Windows 10 ---------------- VB.net VB VBA ein wenig Swift am Mac
|
erstellt am: 17. Dez. 2009 14:07 <-- editieren / zitieren --> Unities abgeben:          Nur für Thorondor
|
Thorondor Mitglied Industriemechaniker

 Beiträge: 12 Registriert: 01.10.2009 Core i7 920 Quadro 1800 6 GB Ram Windows Vista 64 Bit
|
erstellt am: 17. Dez. 2009 14:45 <-- editieren / zitieren --> Unities abgeben:         
also schritt für schritt... Ausgangssituation : Skizze ist Makiert 1. Das Makro geht in die Eigenschaften der Skizze 2. Kopiert den ursprünglichen Namen 3. Bennent die Skize in "Makroskizze" um . . es folgen diverse Solidworksfunktionen die mit "Makroskizze" Arbeiten . X. Bennent die Skizze wieder in ihren alten Namen um Ziel ist es das Makro auf jede Skizze anwenden zu können. Die diversen Arbeitsschritte beziehn sich von daher immer auf die "Makroskizze". Ich habe sonst das Problem das im Makro ja die namen der Objekte stehen müssen mit der es Arbeite, deshalb benenne ich die Skizze bevor das Makro abläuft um. Das Umbenennen soll aber auch automatisch Ablaufen. grüße aus Hamburg Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Baumjäger Mitglied CAD/PDM Administrator
 
 Beiträge: 339 Registriert: 21.06.2006 SW2017 - S5.0 AutoCAD Mechanical 2018 Win10 Intel Xeon E3-1240 V2 3,4GHz 16GB RAM NVIDIA Quadro 4000
|
erstellt am: 17. Dez. 2009 15:24 <-- editieren / zitieren --> Unities abgeben:          Nur für Thorondor
HI, Du kannst dir das umbennenen der Skizze sparen. Man kann das so machen: Skizze anwählen mit linksklick. Dann Makro starten. Man kann ein Makro dazu bringne auzulesen was gerade markiert ist. Schau dir mal in der Hilfe z.b. das an: Get Selected Objects and Types Example (VB) Es gibt einen Haufen Beispiele in der HIlfe die dir bei sowas sicherlich weiterhelfen! viele Grüße Andy 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: 17. Dez. 2009 15:25 <-- editieren / zitieren --> Unities abgeben:          Nur für Thorondor
Hallo Thorondor, ich bin mir auch noch nicht so sicher, was du eigentlich machst und wo das Problem nun ist. Aber das kann daran liegen, dass ich dirkt eine bestimmte Vorstellung davon habe, wie ich die Aufgabe angehen würde und mir nicht vorstellen kann, wie es anders gehen sollte  Zitat: Original erstellt von Thorondor: Ich habe sonst das Problem das im Makro ja die namen der Objekte stehen müssen mit der es Arbeite, deshalb benenne ich die Skizze bevor das Makro abläuft um.
 Das wäre aber übel, wenn ich für Makros immer die echten Namen der Objekte kennen müsste, dann könnte ich praktisch nie allgemein gültige Makros schreiben. Vielleicht wäre es einfacher du lädst mal deinen Code hoch oder kopierst den gesamten Quelltext hier rein und schreibst dazu, was das Makro machen soll (also die Funktion als solches), vielleicht gibt es eine andere Herangehensweise für deine Aufgabe, die ohne hart verdrahtete Bezeichnungen auskommt. 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 |
Thorondor Mitglied Industriemechaniker

 Beiträge: 12 Registriert: 01.10.2009 Core i7 920 Quadro 1800 6 GB Ram Windows Vista 64 Bit
|
erstellt am: 18. Dez. 2009 08:22 <-- editieren / zitieren --> Unities abgeben:         
ich gebe euch mal die Liste die ich Ausführen wollte. Hatte erst geplannt es mit Makro Aufzeichnen zu machen, und mir Klick für Klick aufgeschrieben. Makro 1. Skizze ist ausgewählt ! 2. "Planare Oberfläche" erstellen 3. die gerade erstellte "Oberfläche Ebene" anwählen 4. "Verbiegen" -Triade Koordinatensystem 1 -keine harten Kanten -Trimmebene 1 von Skizze Austragungsgrenzen -Trimmebene 2 von Skizze Austragungsgrenzen -Radius 100 -Maximale Genauigkeit 5. doppleklick des erstellten "Verbiegen" 6. Gleichung bei Winkelbemassung Hinzufügen 7. Verknüpfung zum Grundmaß (D4@Skizze1) herstellen 8. Alle gerade verbogenen Flächen anwählen 9. "Verbiegen" -Triade Koordinatensystem 2 -keine harten Kanten -Trimmebene 1 von Skizze Austragungsgrenzen -Trimmebene 2 von Skizze Austragungsgrenzen -Winkel 360 -Maximale Genauigkeit 11. Ordner Anlegen mit Namen "Fläche Umwickeln" mit steigender Nummer Also Fläche Umwickeln 1, Fläche Umwickeln 2 usw ich hoffe Ihr könnt mir helfen. Werde mir wohl auch ein gutes Buch über VBA besorgen müssen. Meine Programmierzeit ist einige Jaher her. versteh nur die hälfte des VBA Codes.
grüße aus hamburg und ein schönes Wochenende ! [Diese Nachricht wurde von Thorondor am 18. Dez. 2009 editiert.] 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. Dez. 2009 09:14 <-- editieren / zitieren --> Unities abgeben:          Nur für Thorondor
Hallo Thorondor, Zitat: Original erstellt von Thorondor: [B]Hatte erst geplannt es mit Makro Aufzeichnen zu machen, und mir Klick für Klick aufgeschrieben.
Kannst du versuchen, aber ist in den meisten Fällen nicht von Erfolg gekrönt. Manchmal hat man Glück und kann ein paar API Calls aus dem generierten Makro lesen, die man dann selbst nachschlägt und versucht in sein Makro einzubinden. Das was du da vorhast ist schon etwas anspruchsvollere Programmierung, selbst die Stichworte dazu rauszusuchen, die du dann nachschlagen und zusammenfügen musst dürfte schnell ein paar Viertelstunden kosten. Von daher übersteigt das bei weitem das, was zumindest ich hier im Brett dazu helfen kann. Zitat: Original erstellt von Thorondor: Werde mir wohl auch ein gutes Buch über VBA besorgen müssen. Meine Programmierzeit ist einige Jaher her. versteh nur die hälfte des VBA Codes.
Wenn du da Einsteigen willst unbedingt. Und am Besten einen VBA und einen SolidWorks API Kurs gleich noch dazu. Oder einige (Frei)zeit und Spaß am Selbstlernen  Bei deinem Vertriebspartner solltest du ein API Buch bekommen können, das Trainingsmanual zum "normalen" API Kurs. Ggf. haben die auch was eigenes. Dann kannst du hier im Brett, auf meiner Hilfeseite in der MakroMania und Makrotauschbörse und natürlich auf http://www.mysldworks.de jede Menge Beispielcode für alles mögliche finden, vielleicht reicht das ja auch schon als Anfang zum Lernen. 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 |