| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| PLM TechnologieForum Leipzig |
Autor
|
Thema: *.prt, *.asm und *.drw-Dateien direkt über Button mit voreingestelltem Filter öffnen (6020 mal gelesen)
|
Arnaud Mitglied Dipl.-Ing. Konstruktion
Beiträge: 11 Registriert: 28.07.2004 SWX 2003 SP 4.0, WIN2000 SP4, Pentium 4 2.4 GHz, Quadro FX 500/600 PCI, DirectX 7, 1 GB Ram
|
erstellt am: 29. Jul. 2004 13:20 <-- editieren / zitieren --> Unities abgeben:
Hallo, 99% der zu öffnenden Dateien in SW sind bei mir .prt, .drw und .asm-Dateien. Leider gibt es in SW nur den 'Öffnen'-Befehl und man muss dann in der Dialog-Box den entsprechenden Filter einstellen. Gibt es eine Möglichkeit dieses über Macros zu realisieren? Ich hätte gerne drei Buttons in den Symbolleisten die mir jeweils die Dialogbox mit den richtigen Filtern öffnen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
T. Steffen Mitglied Konstrukteur
Beiträge: 339 Registriert: 27.03.2002
|
erstellt am: 29. Jul. 2004 14:14 <-- editieren / zitieren --> Unities abgeben: Nur für Arnaud
|
u.clemens Mitglied Konstrukteur
Beiträge: 964 Registriert: 04.07.2000 engineer's law o cheap o fast o good check only two !
|
erstellt am: 29. Jul. 2004 17:02 <-- editieren / zitieren --> Unities abgeben: Nur für Arnaud
Zitat: Original erstellt von Arnaud: Gibt es eine Möglichkeit dieses über Macros zu realisieren? Ich hätte gerne drei Buttons in den Symbolleisten die mir jeweils die Dialogbox mit den richtigen Filtern öffnen.
Du schreibst Dir für alle 3 Fälle jeweils ein makro und legst es auf jeweils einen Button. In dem Makro mußt Du: 1. MSCommonDialogControl (comdlg32.ocx) einbinden - Einfügen/Komponeten... 2. eine UserForm einfügen 3. Darauf das Steuerelement CommonDialog einfügen 4. im Code bei UserForm_Initialize folgende Befehle aufrufen CommonDialog1.Filter = "SolidWorks-Parts (*.sldprt) |*.sldprt" CommonDialog1.FilterIndex = 1 CommonDialog1.ShowOpen 5. nach Rückkehr aus dem CommonDialog mit dem gewählten Dateinamen den gewöhnlichen sldWorks.OpenDoc6-Befehl aufrufen. 6. Fehlermöglichkeiten abfangen (keine Datei gewählt, ...)
------------------ mfg uc Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Arnaud Mitglied Dipl.-Ing. Konstruktion
Beiträge: 11 Registriert: 28.07.2004
|
erstellt am: 29. Jul. 2004 18:33 <-- editieren / zitieren --> Unities abgeben:
|
Lutz Federbusch Ehrenmitglied V.I.P. h.c. Dipl.-Ing. Maschinenbau
Beiträge: 3094 Registriert: 03.12.2001 alle SW seit 97+ AutoCAD2016-2022 ERP ProAlpha + CA-Link Intel Core i7-7820K 32GB Win10x64 Quadro K5000 SpacePilot
|
erstellt am: 30. Jul. 2004 09:40 <-- editieren / zitieren --> Unities abgeben: Nur für Arnaud
|
Lutz Federbusch Ehrenmitglied V.I.P. h.c. Dipl.-Ing. Maschinenbau
Beiträge: 3094 Registriert: 03.12.2001 alle SW seit 97+ AutoCAD2016-2022 ERP ProAlpha + CA-Link Intel Core i7-7820K 32GB Win10x64 Quadro K5000 SpacePilot
|
erstellt am: 30. Jul. 2004 09:42 <-- editieren / zitieren --> Unities abgeben: Nur für Arnaud
|
Arnaud Mitglied Dipl.-Ing. Konstruktion
Beiträge: 11 Registriert: 28.07.2004
|
erstellt am: 30. Jul. 2004 11:39 <-- editieren / zitieren --> Unities abgeben:
Hallo Lutz, super! Genau das was ich brauche, habe es auch schon für Baugruppen und Zeichnungen kopiert. Allerdings machte es etwas Probleme mit dem Trennzeichen '|' bzw. vbNullchar. Habe folgende Zeilen (replace-Befehl) noch eingefügt damit er den Filterstring akzeptiert: Filter = "Teil (*.sldprt) |*.sldprt" VertName.lpstrFilter = Replace(Filter, "|", vbNullChar) Gruß a.k. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
danuberacer Mitglied
Beiträge: 466 Registriert: 24.07.2004 SWX 2018X64 SP0.1 Computer mit Bildschirm, Tastatur und Maus
|
erstellt am: 30. Jul. 2004 13:17 <-- editieren / zitieren --> Unities abgeben: Nur für Arnaud
hi Ich wollte mich da auch dranhängen, aber es geht nicht. Ich kriege zwar den Datei-Öffnen-Dialog wo unten dann sldprt ausgewählt ist, aber ich sehe trotzdem alle Dateien. Was mache ich falsch? Ich kann zwar dann eine sldprt Datei öffnen, bei Auswahl ener sldasm passiert nix (also muss der Filter ja schon in Ansätzen greifen). Danke für eure Hilfe [Diese Nachricht wurde von danuberacer am 30. Jul. 2004 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Silbermann Mitglied CAD-Ausbilder
Beiträge: 70 Registriert: 14.06.2004 HP xw6000 Xeon 3,0 GHz 1024MB Quadro4 980 XGL
|
erstellt am: 30. Jul. 2004 13:39 <-- editieren / zitieren --> Unities abgeben: Nur für Arnaud
|
Arnaud Mitglied Dipl.-Ing. Konstruktion
Beiträge: 11 Registriert: 28.07.2004
|
erstellt am: 30. Jul. 2004 13:51 <-- editieren / zitieren --> Unities abgeben:
@danuberacer: Die Lösung des Problems findest du einen Post über dir :-) Hier aber nun das geänderte Makro in Auszügen: .. .. Dim Filter As String . . ' Datei-Öffnen-Dialog . . Filter = "Teil (*.sldprt) |*.sldprt" VertName.lpstrFilter = Replace(Filter, "|", vbNullChar) diese beiden obigen Zeilen ersetzen folgende Zeile: VertName.lpstrFilter = "alte SolidWorks-Teile (*.prt) |*.prt" Gruß a.k. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Silbermann Mitglied CAD-Ausbilder
Beiträge: 70 Registriert: 14.06.2004 HP xw6000 Xeon 3,0 GHz 1024MB Quadro4 980 XGL
|
erstellt am: 30. Jul. 2004 13:58 <-- editieren / zitieren --> Unities abgeben: Nur für Arnaud
So, jetzt hab' ich es doch geschafft. Hier die geänderte Version. Ich würde das Makro aber gerne so aufbauen, dass man zwischen Bauteil, -gruppe und Zeichnung wählen kann, also dass das Makro drei Bereiche hat, die ich dann über den jeweiligen Knopf in der Menüleiste ansprechen kann. Leider fehlt mir da aber, wie schon gesagt, das Know-How. ??? Also wenn ich die Menüleiste für die Makros einrichte, dann kann ich sagen, wo die Makro-Datei (z.B. oeffnen.swp) liegt und kann auch angeben, welche Methode (hier: deleteproperties.Main) verwendet werden soll. Darüber müsste man dann doch eine Datei mit drei Methoden, jeweils zum Öffnen von Bauteil, -gruppe und Zeichnung ansprechen können und wählt dann die entsprechende Methode für den Knopf aus, oder verlange ich da schon wieder zuviel? Gruß Thorsten Tja, da war ich wohl zu langsam, liegt vielleicht am Wocheende
[Diese Nachricht wurde von Silbermann am 30. Jul. 2004 editiert.]
[Diese Nachricht wurde von Silbermann am 30. Jul. 2004 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
danuberacer Mitglied
Beiträge: 466 Registriert: 24.07.2004 SWX 2018X64 SP0.1 Computer mit Bildschirm, Tastatur und Maus
|
erstellt am: 30. Jul. 2004 14:07 <-- editieren / zitieren --> Unities abgeben: Nur für Arnaud
|
Lutz Federbusch Ehrenmitglied V.I.P. h.c. Dipl.-Ing. Maschinenbau
Beiträge: 3094 Registriert: 03.12.2001 alle SW seit 97+ AutoCAD2016-2022 ERP ProAlpha + CA-Link Intel Core i7-7820K 32GB Win10x64 Quadro K5000 SpacePilot
|
erstellt am: 30. Jul. 2004 14:15 <-- editieren / zitieren --> Unities abgeben: Nur für Arnaud
|
T. Steffen Mitglied Konstrukteur
Beiträge: 339 Registriert: 27.03.2002
|
erstellt am: 30. Jul. 2004 14:29 <-- editieren / zitieren --> Unities abgeben: Nur für Arnaud
Hallo an alle zusammen Das funktioniert soweit tadellos. Es wäre natürlich super wenn der SWX Datei-Öffnen Dialog angezeigt würde, der auf der rechten Seite die Vorschau hat und in der linken Leiste die Favoriten. Weiss nicht ob das möglich ist... Gruss Tom. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Arnaud Mitglied Dipl.-Ing. Konstruktion
Beiträge: 11 Registriert: 28.07.2004 SWX 2003 SP 4.0, WIN2000 SP4, Pentium 4 2.4 GHz, Quadro FX 500/600 PCI, DirectX 7, 1 GB Ram
|
erstellt am: 02. Aug. 2004 15:59 <-- editieren / zitieren --> Unities abgeben:
So... habe jetzt für alle drei Dateitypen (*.sldprt, *.sldasm und *.slddrw) das jeweilige Macro sowie auch zu jedem Macro ein entsprechendes Icons für die Symbolleiste erstellt (siehe Anhang). Macht sich in der Symbolleiste sehr gut :-) Gruß a.k. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Arnaud Mitglied Dipl.-Ing. Konstruktion
Beiträge: 11 Registriert: 28.07.2004
|
erstellt am: 17. Aug. 2004 21:45 <-- editieren / zitieren --> Unities abgeben:
Hallo Tom, mit dem original SWX-Datei-Öffnen-Dialog könnte man dann sogar auch noch die zu ladende Konfiguration auswählen. Hab lange gesucht und dennoch nichts gefunden Vielleicht kennt jemand die API-Funktion Gruß a.k. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
JR Mitglied Konstrukteur
Beiträge: 106 Registriert: 21.10.2003 Alibre Design Expert V26 Keyshot 11.2
|
erstellt am: 18. Aug. 2004 07:52 <-- editieren / zitieren --> Unities abgeben: Nur für Arnaud
Hallo Arnaud, in den Makros in der ZIP-Datei wird die Methode OpenDoc2() zum Öffnen benutzt. Mittlerweile gibt es die Methode OpenDoc6(), wobei der 4. Parameter die Konfiguration angibt. Code:
' Definition aus der API-Hilfe retval = SldWorks.OpenDoc6 ( filename, type, options, configuration, &Errors, &Warnings )
Gruss Jörn
[Diese Nachricht wurde von JR am 18. Aug. 2004 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |