| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| 3DEXPERIENCE Conference, eine Veranstaltung am 16.10.2024
|
Autor
|
Thema: Makro um Oberflächenangaben einzufügen (9089 mal gelesen)
|
Olls Lai Lolli Mitglied Konstrukteur
Beiträge: 376 Registriert: 07.05.2009 MS Windows 10 Prof. Intel Xeon E5-1630 v 3 3.7 GHz 32 GB Ram Nvidia Quadro M4000 SWX 2019 x64 SP 5 PDM Enterprise 2019 SP 3
|
erstellt am: 02. Sep. 2011 19:58 <-- editieren / zitieren --> Unities abgeben:
Nabend, nach dem ich heute in ziemlich vielen Zeichnungen Oberflächenangaben einfügen durfte ging es mir recht schnell auf den nerv jedesmal von neuen alle Einstellungen zu setzen. Symbol auswählen, Ra ins erste Feld unter der Fahne und den Wert ins zweite Feld unter die Fahne. *Klick*Klick*Klick* Dann hab ich obersten Reiter "Stil" entdeckt, na siehste klar geht das einfacher... *freu*. Hurtig alle Zeichen der Reihe 3 als Stil abgelegt und gefreut wie blöd, aber nur bis zu nächsten Zeichnung, da waren alle Stile weg Dann bin ich auf die tollkühne Idee gekommen (nach erfolgreich besuchter Grundschulung für Makros) die Einstellarbeit auf zuzeichnen und mir halt für den Anfang vier Makros zu machen. Wenn es dann mal funktioniert hätte ich ja noch eine Auswahöoberfläche dazu basteln können und das ganze als Tastaturmakro ablegen. Aber so weit bin ich gar nicht gekommen. Das aufzeichnen hat gut geklappt. Nur war mir nicht klar, wann ich die Aufzeichnung beenden muss. Dann ist mir aber aufgefallen, dass "Beenden" bei aktiver Funktion ausgegraut ist. Als Funktion abgeschlossen, Auszeichnung beenedet und voller Spannung ausgeführt. Es funktioniert, nur...... es kommt kein Dialog wohin das Symbol soll, er wird einfach an den Nullpunkt geklatscht. Code: Dim swApp As ObjectDim Part As Object Dim boolstatus As Boolean Dim longstatus As Long, longwarnings As Long Sub main() Set swApp = _ Application.SldWorks Set Part = swApp.ActiveDoc Dim mySFSymbol As Object Set mySFSymbol = Part.Extension.InsertSurfaceFinishSymbol3(1, 0, 0.07224545690706, 0.1210140155444, 0, 0, 1, "", "1,6", "", "Ra", "", "", "") Dim myAnnotation As Object Set myAnnotation = mySFSymbol.GetAnnotation() End Sub
Kann man das Makro so anpassen, dass man das Zeichen gezielt plazieren kann? Gruß OLL Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andi Beck Ehrenmitglied V.I.P. h.c. Konstrukteur
Beiträge: 2580 Registriert: 02.10.2006 Firma: SW 2024-3.1 + PDM Prof. Windows 10 Pro 64bit, i9-11900 32 GbRAM, Quadro P2200 Home: SW 2023-5.0 Passungstabelle von Heinz Windows 11 Pro 64bit, i7-12700K, 32 GbRAM, GeForce GTX 1050Ti Samsung C34H892, 3440x1440 Pixel
|
erstellt am: 03. Sep. 2011 14:23 <-- editieren / zitieren --> Unities abgeben: Nur für Olls Lai Lolli
Hallo Oll, keine Antwort auf deine Makro-Frage, aber ein Tipp. Ich füge meine Oberflächenzeichen aus der Konstruktionsbibliothek ein. Über DesignLibrary - annotations habe ich einen direkten Zugriff darauf und füge sie mit der Maus an die gewünschte Position ein. Grüße, Andi ------------------ Hast du kein Problem? Such dir eins. ( Und löse es ) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Olls Lai Lolli Mitglied Konstrukteur
Beiträge: 376 Registriert: 07.05.2009 MS Windows 10 Prof. Intel Xeon E5-1630 v 3 3.7 GHz 32 GB Ram Nvidia Quadro M4000 SWX 2019 x64 SP 5 PDM Enterprise 2019 SP 3
|
erstellt am: 06. Sep. 2011 19:57 <-- editieren / zitieren --> Unities abgeben:
Hallo Andi, danke für deine Antwort, ist auch eine gute Idee, löst aber mein Problem nicht unbedingt. Mein Frage ist nur ein kleiner Auszug aus einer Idee. Wenn das klappt, dass man die Position im Makro bestimmen kann, will ich versuchen mit damit ein Makro zu basteln um die Sammel-Oberflächenzeichen über dem Zeichungskopf zu setzen. In der Makro Mania gibt es zwar dafür zwei Makros, aber das eine funktioniert bei mir nicht, und das andere entspricht nicht mehr der aktuellen Norm. (Ra wird nicht mehr aufs Dreieck geschrieben, sondern wie Rz unter die Fahne). Gleichzeitig mit den Oberflächenzeichen, soll auch noch gleich das Symbol für die Kantenbearbeitung eingefügt werden. Gruß OLL [Diese Nachricht wurde von Olls Lai Lolli am 06. Sep. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
dopplerm Ehrenmitglied V.I.P. h.c. Konstrukteur
Beiträge: 3627 Registriert: 11.02.2005 Win 10 SWX 2019 SP 5.0
|
erstellt am: 07. Sep. 2011 07:14 <-- editieren / zitieren --> Unities abgeben: Nur für Olls Lai Lolli
du solltest das programm beenden, wenn das symbol am curser hängt, so hatte ich es mal in einer alten firma oder die von dir getestete variante mit den favoriten, da musst aber in die vorlage deiner zeichnungen gehen die idee mit dem design library finde ich aber auch gut ja ich weiss, du verfolgst im moment ein anderes ziel lg martin ------------------ Bin jetzt auch unter Skype erreichbar , einfach nach Martin Doppler in Wien suchen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
McT Mitglied
Beiträge: 76 Registriert: 02.09.2003 XP64+CATIAV5R18 W764+SWX2012
|
erstellt am: 07. Sep. 2011 23:50 <-- editieren / zitieren --> Unities abgeben: Nur für Olls Lai Lolli
|
Olls Lai Lolli Mitglied Konstrukteur
Beiträge: 376 Registriert: 07.05.2009 MS Windows 10 Prof. Intel Xeon E5-1630 v 3 3.7 GHz 32 GB Ram Nvidia Quadro M4000 SWX 2019 x64 SP 5 PDM Enterprise 2019 SP 3
|
erstellt am: 08. Sep. 2011 09:07 <-- editieren / zitieren --> Unities abgeben:
Hallo McT, das ist ja super, dass du dein Makro auf den aktuellen Stand der Norm angepasst hast Das spart mir ne Menge Arbeit: Ich bin jetzt aber auf ein kleines Problem gestossen. Ich bekomm beim starten eine Fehlermeldung, dass der die voreingstellte Schriftart nicht findet. Ich hatte vorher schonmal eine ältere Version von deinem Makro probiert, da tratt der Fehler nicht auf. Da war aber auch beim download ein Verzeichnis "Font" dabei der den Font ISOCP enthalten hat. Irgendwie hab ich es dann doch geschafft das Makro zum laufen zu bringen, und hab dann auch ein OZ erzeugen können. Ist es gewollt dass bei unbearbeitet ohne Angabe noch das "Ra" unter der Fahne steht? Gruß OLL [Diese Nachricht wurde von Olls Lai Lolli am 08. Sep. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
McT Mitglied
Beiträge: 76 Registriert: 02.09.2003 XP64+CATIAV5R18 W764+SWX2012
|
erstellt am: 08. Sep. 2011 09:37 <-- editieren / zitieren --> Unities abgeben: Nur für Olls Lai Lolli
|
currie Mitglied Betriebsmittelkonstrukteur
Beiträge: 83 Registriert: 10.03.2005 WIN10 / SWX2020
|
erstellt am: 08. Sep. 2011 10:10 <-- editieren / zitieren --> Unities abgeben: Nur für Olls Lai Lolli
|
Olls Lai Lolli Mitglied Konstrukteur
Beiträge: 376 Registriert: 07.05.2009 MS Windows 10 Prof. Intel Xeon E5-1630 v 3 3.7 GHz 32 GB Ram Nvidia Quadro M4000 SWX 2019 x64 SP 5 PDM Enterprise 2019 SP 3
|
erstellt am: 08. Sep. 2011 11:02 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von McT: Sonstige Fehler am besten direkt per Mail melden.
gerne! Ein Punkt bereitet mir gerade noch ein bisschen Sorgen: Wie ermittelst du denn die Blattformate in dem Makro? Gehst du über die tatsächliche Blattgröße, oder liest du die SWX interne Blattnummer aus? Gruß OLL
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
businessbert Mitglied Konstruktion, Projektleitung, CadAdmin
Beiträge: 225 Registriert: 30.04.2009 SolidWorks Premium 2015 SP4 - SNL Windows 7 Prof. 64-bit Intel Xeon CPU E5-1620 3.50GHz NVIDIA Quadro K4200 16GB Ram Samsung SSD SM84 512GB
|
erstellt am: 08. Sep. 2011 11:32 <-- editieren / zitieren --> Unities abgeben: Nur für Olls Lai Lolli
Weihnachten ist heuer vorverlegt worden: SWFinish upgedatet! Besten, besten Dank! Dieses megatolle Makro hatte ich schon fast aufgegeben. leider kann man pro Thread nur 10Us vergeben... das wär mir glatt mein halbes Konto wert gewesen ------------------ Gruß Robert
Man soll sich nicht wundern, das die Katze genau dort Löcher in ihrem Fell hat wo sie ihre Augen hat. .-- . .-. / -.. . ..- - .-.. .. -.-. .... / ... .--. .-. .. -.-. .... - / .-. .. ... -.- .. . .-. - / ...- . .-. ... - .- -. -.. . -. / --.. ..- / .-- . .-. -.. . -. --.... [Diese Nachricht wurde von businessbert am 08. Sep. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andi Beck Ehrenmitglied V.I.P. h.c. Konstrukteur
Beiträge: 2580 Registriert: 02.10.2006 Firma: SW 2024-3.1 + PDM Prof. Windows 10 Pro 64bit, i9-11900 32 GbRAM, Quadro P2200 Home: SW 2023-5.0 Passungstabelle von Heinz Windows 11 Pro 64bit, i7-12700K, 32 GbRAM, GeForce GTX 1050Ti Samsung C34H892, 3440x1440 Pixel
|
erstellt am: 08. Sep. 2011 18:58 <-- editieren / zitieren --> Unities abgeben: Nur für Olls Lai Lolli
Zitat: Original erstellt von businessbert:
leider kann man pro Thread nur 10Us vergeben... das wär mir glatt mein halbes Konto wert gewesen
Hallo Robert, ne ne, du kannst 10 und 9 und 8 und 7 und............. Ü´s vergeben. Das gibt auch ne Menge. Grüße, Andi ------------------ Hast du kein Problem? Such dir eins. ( Und löse es ) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
McT Mitglied
Beiträge: 76 Registriert: 02.09.2003 XP64+CATIAV5R18 W764+SWX2012
|
erstellt am: 08. Sep. 2011 19:56 <-- editieren / zitieren --> Unities abgeben: Nur für Olls Lai Lolli
Hab nochmal nachgebessert. Ich hoffe nun hält's wieder für die nächsten Jahre ;-) Wenn nicht, Mail. * Bei Schriftartenfehler: In INI-Datei prüfen, ob die eingestellte Schriftart existiert und gegebenenfalls korrigieren. * Fehler 2010 -> wird nun in Sprache der Menschen ausgegeben, sollte ein fehlendes Blattformat oder so was sein. * Formaterkennung? -> erfolgt anhand SWX-Blatt-IDs (7=A4 usw.) ODER über benutzerdefinierte Formate. Siehe Anleitung. Gruß, McT Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Olls Lai Lolli Mitglied Konstrukteur
Beiträge: 376 Registriert: 07.05.2009 MS Windows 10 Prof. Intel Xeon E5-1630 v 3 3.7 GHz 32 GB Ram Nvidia Quadro M4000 SWX 2019 x64 SP 5 PDM Enterprise 2019 SP 3
|
erstellt am: 13. Okt. 2011 11:18 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von Olls Lai Lolli:...In der Makro Mania gibt es zwar dafür zwei Makros, aber das eine funktioniert bei mir nicht, und das andere entspricht nicht mehr der aktuellen Norm. (Ra wird nicht mehr aufs Dreieck geschrieben, sondern wie Rz unter die Fahne)....
ist mir ja jetzt schon fast peinlich, öhmmm gerade ich der am lautesten geschriehen hat weg nicht mehr nach aktueller Norm und so, muss jetzt mal vorsichtig fragenn ob noch jemand das Makro nach altem Stand hat (Zahlenwert auf dem Dreiecke)? Ich hab ein Kunden bei dem passt die neue Norm nicht ins Schriftfeld, und muss deshalb die alte nehmen. Gruß OLL Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
GunnarHansen Mitglied Engineer
Beiträge: 756 Registriert: 16.09.2009
|
erstellt am: 24. Nov. 2011 13:53 <-- editieren / zitieren --> Unities abgeben: Nur für Olls Lai Lolli
|
Olls Lai Lolli Mitglied Konstrukteur
Beiträge: 376 Registriert: 07.05.2009 MS Windows 10 Prof. Intel Xeon E5-1630 v 3 3.7 GHz 32 GB Ram Nvidia Quadro M4000 SWX 2019 x64 SP 5 PDM Enterprise 2019 SP 3
|
erstellt am: 25. Nov. 2011 06:55 <-- editieren / zitieren --> Unities abgeben:
Hallo, nur ganz kurz, sollte eigentlich schon auf der Autobahn sein :-( In der Zip Datei die du runter geladen hast ist ein "Manual.pdf" dabei, da ist erklärt wie du deinen Einfügepunkt manipulieren kannst. Der Ausreiser bei deinem Beispiel kann ich mir nur so erklären. Das vom Makro erzeugte OZ mit 1,6 hat nichts mit dem OS am Bauteil zu tun. Das OZ vor der Klammer wurde im Auswahlmenü des Makros als allgemeine Bearbeitung festgelegt. Wie hast du denn das OZ mit Ra 1.6 am Bauteil erzeugt? Warum hängt da die Schrift auf der Linie? Gruß OLL Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
GunnarHansen Mitglied Engineer
Beiträge: 756 Registriert: 16.09.2009
|
erstellt am: 25. Nov. 2011 09:18 <-- editieren / zitieren --> Unities abgeben: Nur für Olls Lai Lolli
Hallo OLL Ah, na klar. Ich hatte nicht den Wert in der Auswahlmenu richtig angegeben. (Bild) Dieser Wert muss natuerlich unik sein, oder? Wenn ich zB 2,5 statt 1,6 eingebe funzts. Danke. Die OZ Symbole habe ich "standdard" SWX eigefuegt. Aber so sieht es offentsichtlich aus, wenn das auf den Kopf steht..... Nicht schoehn. Kann man da was machen?: Glaube es ist besser die OZ nicht umzukehren umd dann mit "leader" machen. Mit dem Basispunkten will ich jetzt mal basteln. Danke nochmal Gruss Gunnar Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
T. Steffen Mitglied Konstrukteur
Beiträge: 339 Registriert: 27.03.2002 Windows 10 x64 SOLIDWORKS 2021 SP4.1 HP Z4 G4 Workstation 32GB RAM NVIDIA Quadro P2200
|
erstellt am: 25. Nov. 2011 11:33 <-- editieren / zitieren --> Unities abgeben: Nur für Olls Lai Lolli
Hallo zusammen Habe das Makro gerade erst entdeckt und finde es genial. Gibt es eine Obergrenze wieviele Methoden definiert werden können? Bei mir werden immer nur die ersten 5 angezeigt. Nummer 6 & 7 werden als leerer Eintrag angezeigt. Gruss Tom Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
McT Mitglied
Beiträge: 76 Registriert: 02.09.2003 XP64+CATIAV5R18 W764+SWX2012
|
erstellt am: 25. Nov. 2011 17:51 <-- editieren / zitieren --> Unities abgeben: Nur für Olls Lai Lolli
|
T. Steffen Mitglied Konstrukteur
Beiträge: 339 Registriert: 27.03.2002
|
erstellt am: 29. Nov. 2011 09:41 <-- editieren / zitieren --> Unities abgeben: Nur für Olls Lai Lolli
Zitat: Original erstellt von McT: Am besten mal den Wert "count" erhöhen... Gruß, McT
Hallo McT Das nützt leider auch nichts. Ich kann den Wert unter "Count" erhöhen oder verringern wie ich will, es werden immer nur 5 Einträge angezeigt... Gruss Tom Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Olls Lai Lolli Mitglied Konstrukteur
Beiträge: 376 Registriert: 07.05.2009 MS Windows 10 Prof. Intel Xeon E5-1630 v 3 3.7 GHz 32 GB Ram Nvidia Quadro M4000 SWX 2019 x64 SP 5 PDM Enterprise 2019 SP 3
|
erstellt am: 15. Feb. 2014 14:47 <-- editieren / zitieren --> Unities abgeben:
Hallo, hat SwFinish schon jemand mit SWX2013 zum laufen gebracht? Ich bekommen folgenden Fehler: Code: Run-time error '713':Application-defined or object-defined error
Gruß OLL
[Diese Nachricht wurde von Olls Lai Lolli am 15. Feb. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HenryV Mitglied Konstrukteur, Engineering
Beiträge: 817 Registriert: 18.05.2005 SolidWorks 2022 x64 SP5.0 Dell Precision 5820 Intel Xeon W-2125 4x4GHz NVIDIA Quadro P2000 5GB 32GB RAM 2x Dell U2412M, 24" TFT Windows 10 Enterprise x64 22H2 Microsoft 365 E5 Microsoft Visual Studio Enterprise 2022
|
erstellt am: 17. Feb. 2014 16:48 <-- editieren / zitieren --> Unities abgeben: Nur für Olls Lai Lolli
|
Olls Lai Lolli Mitglied Konstrukteur
Beiträge: 376 Registriert: 07.05.2009 MS Windows 10 Prof. Intel Xeon E5-1630 v 3 3.7 GHz 32 GB Ram Nvidia Quadro M4000 SWX 2019 x64 SP 5 PDM Enterprise 2019 SP 3
|
erstellt am: 07. Apr. 2014 20:04 <-- editieren / zitieren --> Unities abgeben:
Problem gefunden! Swfinish funktioniert nur dann, wenn auf dem Rechner ein 32 Bit Office Paket installiert ist! Wenn man die 64 Bit Version von Office installiert, fehlt die FM20.dll Es bringt auch nichts diese Datei von einem anderen Rechner ins entsprechende Verzeichnis zu kopieren und zu registrieren. Erst nach dem ich Office 64 Bit deinstalliert habe und die 32 Bit drüber gebügelt, hat das Makro wie erwartet funktioniert. Gruß OLL
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cncustomz Mitglied
Beiträge: 7 Registriert: 12.11.2014 Solidworks 2017 SP5
|
erstellt am: 31. Okt. 2018 12:54 <-- editieren / zitieren --> Unities abgeben: Nur für Olls Lai Lolli
Hallo an alle ich stehe eigentlich gerade vor dem selben Problem wie der Themenersteller. Die SWX API Hilfe verrät auch, dass die Position für die Oberflächenangabe nur ausgewertet wird, wenn ein "Leadertype" (also ein Bezugspfeil) aktiviert ist. Ohne diesen landet das Symbol immer in der Ecke der Zeichnung. Das SWFinish Tool habe ich mir angeschaut, das ist aber nicht ganz das was ich will. Ich benötige definitiv nachher ein Icon in der Symbolleiste, welches mir 3 leere Oberflächensymbole an definierten Positionen per Makro darstellt. Die leeren Oberflächensymbole werden dann von dem Zeichnungsersteller beliebig gefüllt. Da das SWFinish beweist, dass es möglich sein muss das Symbol an eine definierte Stelle zu bringen würde ich mich freuen, wenn wir vielleicht doch eine VBA basierte Lösung hier finden. Mein Ausgangscode per aufgezeichnetem Makro sieht genauso aus wie beim Themenersteller. Was ist nun noch nötig um definierte Positionen auf der Zeichnung an zu steuern? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ralf Tide Moderator -
Beiträge: 4999 Registriert: 06.08.2001 Sehr seltsame Dinge passiern <Klaus Lage - Toy Story> .-)
|
erstellt am: 31. Okt. 2018 16:53 <-- editieren / zitieren --> Unities abgeben: Nur für Olls Lai Lolli
Zitat: Original erstellt von cncustomz: Hallo an alleich stehe eigentlich gerade vor dem selben Problem wie der Themenersteller. Die SWX API Hilfe verrät auch, dass die Position für die Oberflächenangabe nur ausgewertet wird, wenn ein "Leadertype" (also ein Bezugspfeil) aktiviert ist. Ohne diesen landet das Symbol immer in der Ecke der Zeichnung.
Ich bin mir nicht sicher ob es hilft, aber... Hast Du schon mal die "0" durch eine "3" (oder auch swUNDERLINED) ersetzt? Code: Set mySFSymbol = Part.Extension.InsertSurfaceFinishSymbol3(1, swUNDERLINED, 0.1, 0.1, 0, 0, 1, "", "1,6", "", "Ra", "", "", "")
Damit sitzt das Symbol bei mir mitten auf der A4 Zeichnung. Das swUNDERLINED ist laut Dokumentation for parts only. Ist aber irgendwie blöd wenn Dokumentation und Funktion nicht übereinstimmen. Auf welchen Fehler soll man sich verlassen? Den in der Dokumentation oder den in der Funktion? Oder lese ich das falsch? Oder ist das kein Fehler , sondern ein Feature? ------------------
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |