| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
 | SOLIDWORKS Grundlagen, ein Seminar am 19.05.2025
|
Autor
|
Thema: API Makro Vorstellung: Prüfbericht, Prüfzeichnung und Erstmusterzeichnung (7917 mal gelesen)
|
coolio1975 Mitglied

 Beiträge: 19 Registriert: 14.12.2012 ------------------------ SWX-2012 SP3.0 CATIA V5 ------------------------ Windows 7 64 bit DELL T3500 Workstation Xeon W3680 (6-Kern) 3.33 GHz 12GB RAM ------------------------ NVIDIA Quadro FX 3800
|
erstellt am: 30. Jan. 2013 13:30 <-- editieren / zitieren --> Unities abgeben:         
Hallo zusammen, anbei stelle ich euch mein erstes Makro zum Erstellen von Prüfberichte, Prüfzeichnung und Erstmusterzeichnungen zu Verfügung. Das Makro wurde in einem Excel Sheet erstellt. Um das Makro zu testen, muss Solidworks geöffnet und eine Zeichnung geladen sein. Außerdem muss sich in demselben Ordner, wie die Excel Datei, der Block, zum Einfügen befinden. Die Funktion Kopf ausfüllen wird bei euch nicht funktionieren, da die Textfelder eurer Zeichnung den Spezifischen Namen haben müssen wie sie abgefragt werden. Ich möchte euch das Makro zu Verfügung stellen, da mir hier im Forum viel Unterstützung geboten wurde. Außerdem haben vielleicht andere, API versiertere, auch Interesse an diesem Projekt und helfen dieses Makro zu ergänzen, zu vervollständigen und zu verbessern. Falls Ihr also Änderungen vornehmt, bitte ich euch dies hier mitzuteilen. Und bei Fragen einfach fragen. Nun bin ich gespannt auf eure Rückmeldungen ;-) [Diese Nachricht wurde von coolio1975 am 30. Jan. 2013 editiert.]
[Diese Nachricht wurde von coolio1975 am 30. Jan. 2013 editiert.] [Diese Nachricht wurde von coolio1975 am 30. Jan. 2013 editiert.] [Diese Nachricht wurde von coolio1975 am 30. Jan. 2013 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bk.sc Ehrenmitglied V.I.P. h.c. Konstrukteur Sondermaschinenbau

 Beiträge: 2800 Registriert: 18.07.2012 -Solid Works 2019 SP5 -Pro Engineer WF 3
|
erstellt am: 30. Jan. 2013 17:56 <-- editieren / zitieren --> Unities abgeben:          Nur für coolio1975
Hallo coolio, für die Idee / Umsetzung und vor allem Bereitstellung hier gibt es schonmal Ü´s von mir. Kleine Kritikpunkte: 1. MIN und MAX wird ignoriert und die Allgemeinttoleranz angesetzt. 2. Grundlegend also Prüftechnisch irrelevant wird mit aufgelistet und mit Allgemeinttoleranz ausgegeben. 3. Ein Grundlegender Durchmesser wird als Länge aufgeführt. Das Makro hat noch Potenzial ist aber ein guter Ausgangspunkt um es für andere Dinge zu missbrauchen . Gruß Bernd ------------------ --- Man muß nicht alles wissen, man muß nur wissen wo es steht --- Staatlich anerkannte Deutschniete  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nahe Ehrenmitglied
    
 Beiträge: 1790 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: 31. Jan. 2013 08:05 <-- editieren / zitieren --> Unities abgeben:          Nur für coolio1975
Hallo coolio da hast Du ganz schön Arbeit reingesteckt! Ich hab mich vor einiger Zeit auch mit dem Thema beschäftigt. Hab das dann aber mal auf Eis gelegt, weil es zur Zeit nicht möglich ist mit "getnameforselection" den Bemaßungsnamen einer Bemaßung zu bestimmen, wenn die Bemaßung in einem Detail einer Schnittansicht ist. Damals hatte ich einen etwas anderen Ansatz: Funktion-1 nur Blöcke mit den Namen der Bemaßungen einfügen Funktion-2 Blöcke durchlaufen und erst dann das Maß und die Toleranz auswerten (das hat, meiner Meinung nach, den Vorteil, dass Du flexibel bist, wenn sich Maße ändern) Meine "Verbesserungsvorschläge" und Fragen Form/Lagetoleranzen sollten in den Prüfplan mit aufgenommen werden Wir verwenden öfters Bemaßungen ohne Maßwert um Bezüge für die Form- Lagetoleranzen ranzuhängen. d.h. Bemaßungen ohne Maßwert sollten keinen Prüfpunkt erhalten ebenso Maße in Klammer Wie ist die Vorgehen, wenn sich Maße ändern? Alles löschen und neu setzen? Wenn ja, drum mein Ansatz wie oben beschrieben, weil es ev. bei einer großen Zeichnung mühsam ist alle Prüfpunkte wieder manuell zu verschieben um Überdeckungen zu vermeiden. PS lass Dich bitte von meiner Kritik nicht entmutigen, es ist ein tolles Makro! Ich hab nur mal aufgeschrieben, was mir so eingefallen ist und was ich schon erlebt hab, nachdem ich ein Makro geschrieben habe und gedacht hatte, jetzt ist es fertig. Aber nur solange bis meine Kollegen es in die Finger bekamen
------------------ Grüße Heinz Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
coolio1975 Mitglied

 Beiträge: 19 Registriert: 14.12.2012 ------------------------ SWX-2012 SP3.0 CATIA V5 ------------------------ Windows 7 64 bit DELL T3500 Workstation Xeon W3680 (6-Kern) 3.33 GHz 12GB RAM ------------------------ NVIDIA Quadro FX 3800
|
erstellt am: 31. Jan. 2013 09:27 <-- editieren / zitieren --> Unities abgeben:         
@bk.scZitat: 1. MIN und MAX wird ignoriert und die Allgemeinttoleranz angesetzt.
Da hast Du Recht, min. max. wird bei uns nicht benutzt. Aber allgemein der Umgang mit der Toleranzart ist in diesem Makro noch lange nicht perfekt, wir arbeiten daran ;-) Zitat: 2. Grundlegend also Prüftechnisch irrelevant wird mit aufgelistet und mit Allgemeinttoleranz ausgegeben.
Die Art Grundlegend war mir so noch nicht bekannt und wird bei uns auch nicht benutzt. Dürfte aber kein Problem sein diese Maße auszuschließen (swDim .GetToleranceType = ?)Zitat: 3. Ein Grundlegender Durchmesser wird als Länge aufgeführt.
Das ist wiederum seltsam, muss ich mal reproduzieren. @nahe
Zitat: Funktion-2 Blöcke durchlaufen und erst dann das Maß und die Toleranz auswerten (das hat, meiner Meinung nach, den Vorteil, dass Du flexibel bist, wenn sich Maße ändern)
Bei meinem Makro wird in jeden Block der zugehörige Maß Name, Koordinaten, Maß, Block Name etc. als unsichtbares Attribut geschrieben. So hat man die Möglichkeit den Block eindeutig dem Maß zuzuweisen. Falls ein Maß gelöscht wird, den Block entfernen oder wenn das Maß verschoben wird kann der Block neu Positioniert werden. Außerdem könnten neu hinzugefügte Maße so erkannt und neu gestempelt werden. Zitat: Form/Lagetoleranzen
allgemein der Umgang mit der Toleranzart ist in diesem Makro noch lange nicht perfekt, wir arbeiten daran ;-) Vielen Dank für eure Kritik! Ich werde versuchen die Punkte, so weit als möglich, umzusetzen! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nahe Ehrenmitglied
    
 Beiträge: 1790 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: 31. Jan. 2013 10:55 <-- editieren / zitieren --> Unities abgeben:          Nur für coolio1975
das mit dem Maß löschen und Block löschen ist mir schon klar. Die Frage ist eben, wie geht man vor, wenn sich ein Maß und/oder eine Toleranz ändert? Dann musst Du so wie ich es im Moment verstehe so, dass Du alle Blöcke löschen musst und die Blöcke neu setzen musst, da die Maße und Toleranzen im Block stecken. Der Ansatz mit den geteilten Funktionen bietet, meiner Meinung nach, den Vorteil, dass bei Maß und/oder Toleranzänderungen nichts an den Blöcken geändert werden muss. Aber es ist sicher so, dass wenn Du 5 Leute fragst wie sie es gern hätten, min. 4 verschiedene Meinungen bekommst ------------------ Grüße Heinz Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
coolio1975 Mitglied

 Beiträge: 19 Registriert: 14.12.2012 ------------------------ SWX-2012 SP3.0 CATIA V5 ------------------------ Windows 7 64 bit DELL T3500 Workstation Xeon W3680 (6-Kern) 3.33 GHz 12GB RAM ------------------------ NVIDIA Quadro FX 3800
|
erstellt am: 31. Jan. 2013 11:46 <-- editieren / zitieren --> Unities abgeben:         
Wenn sich ein Maß ändert: In den Attributen jedes einzelnen Blocks werden die benötigten Infos abgelegt (siehe Bild). Durch die Attribute ist die Zuordnung zu jedem Maß möglich. 
Beispiel: Maß RD1@Zeichnung1... Ändert sich von 50mm auf 49mm, erhält eine Toleranz und wird an einer anderen Position abgelegt. Nun durchläuft man alle Maße und sucht den zugehörigen Block (Maß Name steht ja in den Attributen). Und kann dann die anderen Maß Eigenschaften (Toleranz, Maß, Position!) mit den Attributen in dem dazu gehörigem Block vergleiche, Anpassen, NEU Positionieren (nebenbei noch das neue Maß in die Excel Tabelle schreiben). Deine Variante, den Block nach dem Maß zu benennen funktioniert natürlich auch aber du hast ja nachher für jedes Maß einen eigenen Block. Das heißt bei 555 Maßen hast Du in Deinem Feature Baum mindestens 555 Blöcke! Wo jetzt die vor / Nachteile liegen kann ich nicht genau erkenne, die Möglichkeiten sind jedenfalls dieselben. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
coolio1975 Mitglied

 Beiträge: 19 Registriert: 14.12.2012 ------------------------ SWX-2012 SP3.0 CATIA V5 ------------------------ Windows 7 64 bit DELL T3500 Workstation Xeon W3680 (6-Kern) 3.33 GHz 12GB RAM ------------------------ NVIDIA Quadro FX 3800
|
erstellt am: 31. Jan. 2013 11:57 <-- editieren / zitieren --> Unities abgeben:         
|
nahe Ehrenmitglied
    
 Beiträge: 1790 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: 31. Jan. 2013 12:36 <-- editieren / zitieren --> Unities abgeben:          Nur für coolio1975
Hallo nochmals ich hab nur eine Blockdefinition die ein Attribut enthält das auf das Maß verweist und eines das den Typ definiert. (siehe Bild) Der Vorteil dabei ist, dass wenn sich Maße ändern, ich den Block nicht "angreifen" muss, weil der eben nur einen Verweis auf die Bemaßung enthält und keine Werte und ich nicht darauf achten muss, was zu vergessen. Nochmals: ich will Dir nur meinen Ansatz und meine Gedanken zu dem Thema mitteilen!
------------------ Grüße Heinz Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
coolio1975 Mitglied

 Beiträge: 19 Registriert: 14.12.2012 ------------------------ SWX-2012 SP3.0 CATIA V5 ------------------------ Windows 7 64 bit DELL T3500 Workstation Xeon W3680 (6-Kern) 3.33 GHz 12GB RAM ------------------------ NVIDIA Quadro FX 3800
|
erstellt am: 31. Jan. 2013 13:10 <-- editieren / zitieren --> Unities abgeben:         
|
nahe Ehrenmitglied
    
 Beiträge: 1790 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: 31. Jan. 2013 18:34 <-- editieren / zitieren --> Unities abgeben:          Nur für coolio1975
Hallo die Maße und Toleranzen werden erst ausgewertet, wenn der Erstmusterprüfbericht erstellt wird. Wenn sich ein Maß ändert, wird einfach ein neuer Erstmusterprüfbericht erstellt, ohne das der Block geändert werden muss. Der Bericht wird in eine Word-Datei gespeichert.
------------------ Grüße Heinz Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jörg W Mitglied Maschinenbautechniker und CAD Admin
   
 Beiträge: 1232 Registriert: 12.07.2001 Win 10 64bit SW2018 SP5 HP z240 16GB Ram Quadro P1000
|
erstellt am: 01. Feb. 2013 11:56 <-- editieren / zitieren --> Unities abgeben:          Nur für coolio1975
Hallo coolio1975, Ich finde es toll wenn sich jemand so viel Arbeit macht und das Ergebnis hier zur Verfügung stellt. Dafür erst mal ein großes Lob an dich. Wir waren vor 2 Jahren ein Tool an suchen mit dem wir unsere EMPBs dirkt aus Solid Works raus erstellen können. Ich habe damals INRETO mit Solid Works 2010 gestestet. Mittlerweile haben wir die Version 2012 in Einsatz. Es ist sehr flexibel und echt günstig. Vieleicht kannst Du ja da noch einige Ideen sammeln
------------------ Pfürti Jörg W www.hydac.com / Waleska Webdesign / CAD.de Hilfeseite / CAD.de Stammtisch Saar Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nahe Ehrenmitglied
    
 Beiträge: 1790 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: 04. Feb. 2013 08:32 <-- editieren / zitieren --> Unities abgeben:          Nur für coolio1975
|
coolio1975 Mitglied

 Beiträge: 19 Registriert: 14.12.2012 ------------------------ SWX-2012 SP3.0 CATIA V5 ------------------------ Windows 7 64 bit DELL T3500 Workstation Xeon W3680 (6-Kern) 3.33 GHz 12GB RAM ------------------------ NVIDIA Quadro FX 3800
|
erstellt am: 13. Feb. 2013 10:15 <-- editieren / zitieren --> Unities abgeben:         
Hy, Inreto ist mir bekannt. Kosten sind auch i.O. aber bei einer floating Lizenz zu hoch und unverhältnismäßig! Zu Inreto hätte ich da noch ein, zwei Fragen: Kann man damit auch Form und Lagetoleranzen bearbeiten? Wie werden die / wie funktioniert die Block Ausrichtung? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nahe Ehrenmitglied
    
 Beiträge: 1790 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: 13. Feb. 2013 15:09 <-- editieren / zitieren --> Unities abgeben:          Nur für coolio1975
|
coolio1975 Mitglied

 Beiträge: 19 Registriert: 14.12.2012 ------------------------ SWX-2012 SP3.0 CATIA V5 ------------------------ Windows 7 64 bit DELL T3500 Workstation Xeon W3680 (6-Kern) 3.33 GHz 12GB RAM ------------------------ NVIDIA Quadro FX 3800
|
erstellt am: 14. Feb. 2013 08:49 <-- editieren / zitieren --> Unities abgeben:         
|
GULBIdesign Mitglied Konstrukteur
 Beiträge: 5 Registriert: 13.12.2017 SolidWorks 2013, Inventor 2015
|
erstellt am: 21. Dez. 2017 11:36 <-- editieren / zitieren --> Unities abgeben:          Nur für coolio1975
Hallo, auch wenn dieser Betrag schon etwas älter ist hat er mir sehr geholfen! Weil wir zur Zeit noch auf SW2013 arbeiten und schnell eine Lösung für Prüfberichte brauchten, hab ich mir diese Datei zu Nutzen gemacht und möchte hier meine Erkenntnisse weitertragen. Ich habe die Macros etwas erweitert und einige Funktionen zusammengefasst (u. a. wird eine PDF der aktuellen Drawing exportiert und in einem definierten Ordner gespeichert). Neue Funktionen: Alle Macros und Button sind bearbeitbar, nichts ist gesperrt. Speichert das aktuelle SolidWorks-Zeichnungs-Blatt als PDF-Datei und eine Kopie der Excel unter dem Namen: "PB_(DATUM)_(Zeichnungsnummer).pdf" in einem definiertem Ordner. ... ' Pad an der die Datei gespeichert werden soll c_Path = "C:\..." Vorbedingungen: Der Ordner c_Path = " muss existieren. Wenn nicht ist dieser zu erstellen oder der Code zu einem existierenden Ordner zu ändern! Die Benutzerdefinierten Eigenschaften müssen definiert sein. Was ich jetzt noch gerne geändert hätte - aber leider nicht hinbekommen habe - ist die Erstmusterprüfung mit der Serienprüfung zu vereinen. Weiß vielleicht jemand wie es funktionieren kann, dass zuerst die Prüfmaße in die Tabelle eingetragen werden und in den Bemerkungen dann "Prüfmaß" steht und dann der Rest der Tabelle mit den restlichen Maßen ausgefüllt wird?
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AFuchs88 Mitglied Konstrukteur
 Beiträge: 4 Registriert: 20.03.2017 Windows 10 (1703) Solidworks 2017 SP 3 Keytech 13.1.2.238
|
erstellt am: 15. Feb. 2018 17:39 <-- editieren / zitieren --> Unities abgeben:          Nur für coolio1975
Hallo zusammen, ich habe das Makro von GULBIdesign vor zwei Wochen ausprobiert und es hat sehr gut funktioniert. Habe dann zwischenzeitlich die Benutzerdefinierten Eigenschaften, die in die Excel eingetragen werden etwas angepasst (Im Modul "ModulPruefprotokoll02"). Was damals auch funktioniert hat. Leider funktioniert heute das Makro nicht mehr...^^ Neben der leicht veränderten Version führt auch eine völlig unveränderte Version (noch einmal heruntergeladen und ausgeführt) zu einem Laufzeitfehler '13' Typen unverträglich. Der Debugger meldet den Fehler z.B. im Modul "DelAllBlock01" in der Zeile "For i = 0 To UBound (vBlockDef)" Wie gesagt, das Makro lief vor zwei Wochen. Eine Änderung in diesem Modul oder an irgendwelchen Zuweisung habe ich nicht gemacht. Hab jetzt ne Weile versucht den Fehler selbst zu beheben, bin aber nicht weiter gekommen. Weiß jemand was da das Problem sein könnte? (Seit ich das Makro das letzte Mal verwendet hatte, habe ich auf meinem Rechner die Windows und Office-Updates vom letzten Patchday eingefügt. Sonst ist der Softwarestand der selbe: Solidworks 2017 SP 3, Office 2016, Win 10 (1703)) Danke schon mal im Voraus! ------------------ Viele Grüße Alex [Diese Nachricht wurde von AFuchs88 am 15. Feb. 2018 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
elmarklammer Mitglied Engineer

 Beiträge: 34 Registriert: 19.12.2002 SW 2017 SP5, NVIDIA M4000, BOXX W4170 INTEL CORE I7-4770K WIN 7 PRO
|
erstellt am: 16. Feb. 2018 09:13 <-- editieren / zitieren --> Unities abgeben:          Nur für coolio1975
|
GULBIdesign Mitglied Konstrukteur
 Beiträge: 5 Registriert: 13.12.2017 SolidWorks 2013, Inventor 2015
|
erstellt am: 16. Feb. 2018 09:52 <-- editieren / zitieren --> Unities abgeben:          Nur für coolio1975
Hallo, leider kann ich den Fehler auch nicht nachvollziehen aber vielleicht hilft meine neue Version. Ich habe alles nochmals überarbeitet, vereinfacht und endlich den Prüfbericht mit Erstmuster vereinigen können. Außerdem funktioniert jetzt das Obere und untere Abmaß zusammen mit Winkel. Eine kleine Anleitung als PDF liegt bei  Auf der rechten Seite des Excel-Prüfberichts befinden sich jetzt nur noch 2 Befehlsbuttons. 1. Button: o
alle Zelleninhalte der Excel werden gelöscht o
aus den Benutzerdefinierten Eigenschaften der Zeichnung wird der Kopf des Berichtes ausgefüllt + aktuelles Datum + Benutzer o
der Layer Erstmuster in der SW-Zeichnungsdatei wird erstellt und eingeblendet o
die Maße in der SW-Zeichnung werden erkannt o
Prüfstempelsymbole werden skaliert, grob in die Nähe der Bemaßung gesetzt, mit Inhalt (Nummerierung) gefüllt und rot eingefärbt o
die Maße der Zeichnung werden den Tabellenzellen des Excel-Prüfberichts zugeordnet und oberes und unteres Abmaß nach DIN ISO 2768-1 m werden ausgerechnet. o
in der Zeichnung werden als Prüfmaß gekennzeichnete Maße erkannt und im Excel-Prüfbericht unter Bemerkung so benannt. 2 Button: o
das aktuelle SolidWorks-Zeichnungs-Blatt wird als PDF-Datei unter dem Namen "PB(Teilenummer)_(Zeichnungsnummer)_ (DATUM).pdf" an 2 im Makro zu definierenden Stellen auf den Server gespeichert. o
die beiden erstellten PDFs werden geöffnet. Ach ja, außerdem werden die Buttons in den exportierten Excel-Dateien nun ausgeblendet.
[Diese Nachricht wurde von GULBIdesign am 16. Feb. 2018 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AFuchs88 Mitglied Konstrukteur
 Beiträge: 4 Registriert: 20.03.2017 Windows 10 (1703) Solidworks 2017 SP 3 Keytech 13.1.2.238
|
erstellt am: 16. Feb. 2018 10:44 <-- editieren / zitieren --> Unities abgeben:          Nur für coolio1975
Hallo zusammen, danke für das Update. Leider hab ich auch mit dieser Version das selbe Problem. Das Makro hinter dem ersten Button läuft auf einen Laufzeitfehler 13, Typen unverträglich". In Zeile 69 "For i = 0 To UBound(vBlockDef)". Damit das Makro (überhaupt) bei mir (an)läuft muss ich auch den Verweis für die SW 2017 Extensibility Type Libery setzen (ich hatte sw 2013 nie auf dem Rechner installiert) Das Makro welche die PDF erzeugt funktioniert hingegen super  @Elmar: Wie prüfe ich das nach ob die Blockinstanz vorhanden ist? Danke schonmal!  ------------------ Viele Grüße Alex [Diese Nachricht wurde von AFuchs88 am 16. Feb. 2018 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
elmarklammer Mitglied Engineer

 Beiträge: 34 Registriert: 19.12.2002 SW 2017 SP5, NVIDIA M4000, BOXX W4170 INTEL CORE I7-4770K WIN 7 PRO
|
erstellt am: 16. Feb. 2018 12:02 <-- editieren / zitieren --> Unities abgeben:          Nur für coolio1975
Hi, Die for I = 0 to Ubound Schleife durchläuft vorhandene Blocks. Falls keine Vorhanden sind dann kann das einen Laufzeitfehler zur Folge haben. Einfach in der Zeichnung nach schauen ob ein Sketch block vorhanden ist bevor du das Makro durchläufst. Oder einfach ein zwei Blocks manuel einfügen. Du kannst auch das Makro schrittweise ausführen. Einfach F8 drücken und das Makro wird Linie für Linie manuel ausgeführt. Elmar ------------------ elmar Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AFuchs88 Mitglied Konstrukteur
 Beiträge: 4 Registriert: 20.03.2017 Windows 10 (1703) Solidworks 2017 SP 3 Keytech 13.1.2.238
|
erstellt am: 16. Feb. 2018 15:33 <-- editieren / zitieren --> Unities abgeben:          Nur für coolio1975
Hi, es scheint tatsächlich daran gelegen zu haben, dass wenn nicht bereits ein Block in der Zeichnung vorhanden ist, das Makro auf den Fehler läuft. Habs jetzt in paar Mal getestet bei Zeichnungen mit vorhandem Block und jetzt läuft es super. @GULBIdesign: Kannst du mir sagen, welches Modul im Makro für das herrausschreiben "nur" der Prüfmaße verantwortlich ist? Ich würde das Makro gern so benutzen, dass mir auf der Prüfzeichnung nur die Prüfmaße gekennzeichnet werden. Aber erstmal vielen Dank für die Hilfe, das tolle Makro und die super Anleitung! ------------------ Viele Grüße Alex Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
GULBIdesign Mitglied Konstrukteur
 Beiträge: 5 Registriert: 13.12.2017 SolidWorks 2013, Inventor 2015
|
erstellt am: 16. Feb. 2018 16:11 <-- editieren / zitieren --> Unities abgeben:          Nur für coolio1975
Aber klar, da habe ich auch lange drauf herum gebissen  Ich habe diese Funktion nicht gelöscht nur "ausgeschaltet". Im Modul muss dazu nichts geändert werden. Rechte Maus taste auf den ersten Button (siehe Bilder) -> Makro zuweisen -> Bearbeiten und in alle beiden Button Typen "Pruefmuster" schreiben. ... Sub CommandButton1_Click() Typ = "Pruefmuster"Pruefprotokoll02 (Typ) End Sub Sub CommandButton2_Click() Typ = "Pruefmuster" ... In "ModulPruefprotokoll02" spricht der Befehl swDim.SystemValue die Prüfmaße an. Soll in den Bemerkungen nicht mehr Prüfmaß stehen muss dort dies hier gelöscht werden: ... ' Bei Prüfmaß in Bemerkungen "Prüfmaß!" schreiben If swDispDim.Inspection = 1 Then Range(Cells(Nr + 13, 14), Cells(Nr + 13, 14)).Value = "Prüfmaß!" End If ... [Diese Nachricht wurde von GULBIdesign am 16. Feb. 2018 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |