| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| SPS |
Autor
|
Thema: Macro zum Splitten des Dateinamens (1053 / mal gelesen)
|
user Mitglied CAD Anwender
Beiträge: 102 Registriert: 27.03.2001 Solidworks Windows 10 Pro 11th Gen Intel(R) Core(TM) i7-11700@2.50GHz 8 Kerne
|
erstellt am: 28. Okt. 2022 07:58 <-- editieren / zitieren --> Unities abgeben:
Hallo Zusammen es geht um die Trennung des Zeichnungsnamens im Schriftfeld wir haben bis jetzt mit Inventor gearbeitet und seit einer Woche arbeiten wir mit Solidworks. für Inventor haben wir ein Macro (siehe Bilder). Unsere Zeichnungsnamen sehen wie folgt aus "50012345.01.01.001_Handlauf 80 x 40 x 3.2x2500" nun soll der Name nach dem Unterstrich getrennt werden. Die Nummer unter Zeichnungsnummer und der eigentliche Name in die Benenung. Leider hab ich so gut wie keine Ahnung von Macroprogrammierung. kann da vielleich jemand helfen. ------------------ Tschüß user Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Heiko Soehnholz Ehrenmitglied V.I.P. h.c. Dipl.-Ing. (FH) Maschinenbau
Beiträge: 5463 Registriert: 03.07.2002 SOLIDWORKS 2001 - 2024SP0.1 Elite AE Award 2023 SOLIDWORKS Premium, Simu, Flow, Plastics, Composer, MBD, Inspection, PDMP, Visualize, TopsWorks, DPS Tools, JobBox, MacroSheet, etc. Passungstabelle von Heinz WIN10x64 22H2 | HP ZBook 17 Fury G8
|
erstellt am: 28. Okt. 2022 08:14 <-- editieren / zitieren --> Unities abgeben: Nur für user
|
user Mitglied CAD Anwender
Beiträge: 102 Registriert: 27.03.2001 Solidworks Windows 10 Pro 11th Gen Intel(R) Core(TM) i7-11700@2.50GHz 8 Kerne
|
erstellt am: 28. Okt. 2022 10:08 <-- editieren / zitieren --> Unities abgeben:
|
Ralf Tide Moderator -
Beiträge: 4978 Registriert: 06.08.2001 Sehr seltsame Dinge passiern <Klaus Lage - Toy Story> .-)
|
erstellt am: 28. Okt. 2022 10:45 <-- editieren / zitieren --> Unities abgeben: Nur für user
Zitat: Original erstellt von user: Danke schonmal mit dem Tipp Jobbox. Aber leider kann ich nicht den Namem auf dem Schriftfeld nicht trennen oder ich habs einfach noch nicht gefunden
Hallo user, mit der Jobbox lässt sich das nicht ohne weitere Arbeit machen. Du musst Dir zunächst statt dem Dateinamen zwei Eigenschaftsnamen ausdenken (z.B. Name1, Name2). Mit der Jobbox trennst Du jetzt den Dateinamen an der passenden Stelle und befüllst damit Name1 und Name2. Jetzt musst Du noch Deine Zeichnungsvorlage bzw. das Blattformat anpassen und an der Stelle wo der ausgelesene Dateiname angezeigt wird die beiden Eigenschaften Name1 und Name2 platzieren. Das Blattformat sinnvollerweise separat abspeichern Jetzt kannst Du mit der Jobbox nochmal bei allen Zeichnungen das Blattformat tauschen...(und wenn das nicht geht, findet Heiko bestimmt auch noch eine Lösung - hier im Forum gibts dazu auch noch Links zu Makros ) HTH Ralf ------------------
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
riesi Mitglied CAD-Admin
Beiträge: 1073 Registriert: 06.05.2002 SWX Premium 2020-Sp5
|
erstellt am: 28. Okt. 2022 11:35 <-- editieren / zitieren --> Unities abgeben: Nur für user
InStr ist die gesuchte Funktion: Code:
Sub test() Dim zusammengestzterName As String zusammengestzterName = "465465_Super Wichtig" Dim UnderScorePos As Long UnderScorePos = InStr(zusammengestzterName, "_") Dim linkerString, rechterString As String linkerString = Left(zusammengestzterName, UnderScorePos - 1) rechterString = Right(zusammengestzterName, Len(zusammengestzterName) - UnderScorePos) End Sub
Wenn der Unterstrich auch in der Nummer vokommt, bist Du besser mit Regex dran. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HenryV Mitglied Konstrukteur, Engineering
Beiträge: 813 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: 28. Okt. 2022 12:19 <-- editieren / zitieren --> Unities abgeben: Nur für user
Hallo User Ich hab dein Inventor-Makro einmal für SolidWorks umgeschrieben. (Und dazu noch ein paar Fehlerabfragen mit eingebaut.) Code: Dim swApp As SldWorks.ISldWorks Dim swModelDoc As SldWorks.IModelDoc2 Dim swDrawDoc As SldWorks.IDrawingDoc Dim cusPropMgr As SldWorks.ICustomPropertyManagerPublic Sub SplitProperties() Set swApp = Application.SldWorks Set swModelDoc = swApp.ActiveDoc If (swModelDoc.GetType <> swDocDRAWING) Then swApp.SendMsgToUser ("Funtioniert nur bei Zeichnungen.") Else Set swDrawDoc = swModelDoc 'Anzeigenamen hohlen Dim Hauptname As String Hauptname = swModelDoc.GetTitle ' Debug.Print "Hauptname: " & Hauptname Dim Zeichnungsnummer As String Dim Zeichnungsname As String Dim UnterstrichPos As Integer Dim BindestrichPos As Integer 'Zeichnungsnummer extrhieren UnterstrichPos = VBA.InStr(1, Hauptname, "_") If UnterstrichPos = 0 Then swApp.SendMsgToUser ("Dateiname muss einen ""_"" enthalten") Exit Sub End If Zeichnungsnummer = VBA.Left(Hauptname, UnterstrichPos - 1) 'Zeichnungsname extrhieren und falls vorhanden Blattname wegschneiden BindestrichPos = VBA.InStrRev(Hauptname, "-") If BindestrichPos = 0 Then BindestrichPos = VBA.Len(Hauptname) + 1 End If Zeichnungsname = VBA.Mid(Hauptname, UnterstrichPos + 1, BindestrichPos - UnterstrichPos - 2) ' Debug.Print "Zeichnungsnummer: " & Zeichnungsnummer ' Debug.Print "Zeichnungsname: " & Zeichnungsname 'In benutzerdefinierte Eigenschaften eintagen (Felder: Zeichnungsnummer, Zeichnungsname) Set cusPropMgr = swDrawDoc.Extension.CustomPropertyManager("") cusPropMgr.Add3 "Zeichnungsnummer", swCustomInfoType_e.swCustomInfoText, Zeichnungsnummer, swCustomPropertyAddOption_e.swCustomPropertyDeleteAndAdd cusPropMgr.Add3 "Zeichnungsname", swCustomInfoType_e.swCustomInfoText, Zeichnungsname, swCustomPropertyAddOption_e.swCustomPropertyDeleteAndAdd 'Neuaufbau swDrawDoc.ForceRebuild3 True End If End Sub
Gruss Andreas ------------------ 21 ist nur die halbe Antwort. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Heiko Soehnholz Ehrenmitglied V.I.P. h.c. Dipl.-Ing. (FH) Maschinenbau
Beiträge: 5463 Registriert: 03.07.2002 SOLIDWORKS 2001 - 2024SP0.1 Elite AE Award 2023 SOLIDWORKS Premium, Simu, Flow, Plastics, Composer, MBD, Inspection, PDMP, Visualize, TopsWorks, DPS Tools, JobBox, MacroSheet, etc. Passungstabelle von Heinz WIN10x64 22H2 | HP ZBook 17 Fury G8
|
erstellt am: 28. Okt. 2022 13:15 <-- editieren / zitieren --> Unities abgeben: Nur für user
|
Holger.S Mitglied Konstrukteur
Beiträge: 490 Registriert: 01.10.2004
|
erstellt am: 01. Nov. 2022 07:53 <-- editieren / zitieren --> Unities abgeben: Nur für user
Ich weis, das hilft jetzt dem Fragenden nicht. Aber warum so ein Dateinamen, reicht da nicht einfach die Nummer und der Rest kommt in die Eigenschaften? Punkte und Leerzeichen im Dateinamen sind auch von der ETV nicht gern gesehen, genau wie ä, ö, ü und derlei Sonderzeichen. Die Bilder: Dateieigenschaften von SWX, wie komme rufe ich die auf und die Eingabemöglichkeit beim Arbeiten mit dem PDM beim z.B. Speichern in der Datenbank. ------------------ Wer nichts verändern will, wird auch das verlieren, was er bewahren möchte. (Gustav Heinemann) www.vn-biker.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
user Mitglied CAD Anwender
Beiträge: 102 Registriert: 27.03.2001 Solidworks Windows 10 Pro 11th Gen Intel(R) Core(TM) i7-11700@2.50GHz 8 Kerne
|
erstellt am: 01. Nov. 2022 09:16 <-- editieren / zitieren --> Unities abgeben:
|
Heiko Soehnholz Ehrenmitglied V.I.P. h.c. Dipl.-Ing. (FH) Maschinenbau
Beiträge: 5463 Registriert: 03.07.2002 SOLIDWORKS 2001 - 2024SP0.1 Elite AE Award 2023 SOLIDWORKS Premium, Simu, Flow, Plastics, Composer, MBD, Inspection, PDMP, Visualize, TopsWorks, DPS Tools, JobBox, MacroSheet, etc. Passungstabelle von Heinz WIN10x64 22H2 | HP ZBook 17 Fury G8
|
erstellt am: 01. Nov. 2022 09:24 <-- editieren / zitieren --> Unities abgeben: Nur für user
|
Holger.S Mitglied Konstrukteur
Beiträge: 490 Registriert: 01.10.2004
|
erstellt am: 01. Nov. 2022 10:00 <-- editieren / zitieren --> Unities abgeben: Nur für user
@Heiko Soehnholz Auch ohne PDM kann man über die Dateieigenschaften alles abdecken, dazu gibt es ja auch den Reiter "Benutzerdefinierte Eigenschaften", war bei uns eigentlich auch erst ohne PDM geplant. Das macht hinterher den einstieg in ein PDM noch einfacher, da alle Informationen schon in der Datei enthalten sind. Auch die Stücklistenausgabe ,über Excel, kann dann zur Weiterverarbeitung alle Informationen beinhalten. Das sollte nur ein Denkanstoß sein, um sich nicht fest zu fahren und eventuell doppelte Arbeit zu vermeiden. Wie immer, alles kann, nichts muss. ------------------ Wer nichts verändern will, wird auch das verlieren, was er bewahren möchte. (Gustav Heinemann) www.vn-biker.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
user Mitglied CAD Anwender
Beiträge: 102 Registriert: 27.03.2001 Solidworks Windows 10 Pro 11th Gen Intel(R) Core(TM) i7-11700@2.50GHz 8 Kerne
|
erstellt am: 01. Nov. 2022 11:38 <-- editieren / zitieren --> Unities abgeben:
|
user Mitglied CAD Anwender
Beiträge: 102 Registriert: 27.03.2001 Solidworks Windows 10 Pro 11th Gen Intel(R) Core(TM) i7-11700@2.50GHz 8 Kerne
|
erstellt am: 01. Nov. 2022 11:40 <-- editieren / zitieren --> Unities abgeben:
|
Holger.S Mitglied Konstrukteur
Beiträge: 490 Registriert: 01.10.2004
|
erstellt am: 01. Nov. 2022 12:19 <-- editieren / zitieren --> Unities abgeben: Nur für user
Zitat: Original erstellt von user: Hallo Holger, wo hast du denn das nette Eigenschaftfenster her. wer hat denn euch das programmiert? Das gibt es nämlich nicht in SW oder?
Das Eigenschaftsfenster habe ich selbst erstellt. Das Werkzeug dazu ist unter "Solidworks Werkzeuge 20XX zu finden" siehe Bild. Dort kann man die Attribute recht komfortabel erstellen. Es ist auch möglich Listen usw. zu hinterlegen. Die Templates die entstehen kann man in der Register Taskansicht (Rechts) einblenden lassen und ausfüllen. Mit ein wenig Probieren fuchst man sich da durch. ------------------ Wer nichts verändern will, wird auch das verlieren, was er bewahren möchte. (Gustav Heinemann) www.vn-biker.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Heiko Soehnholz Ehrenmitglied V.I.P. h.c. Dipl.-Ing. (FH) Maschinenbau
Beiträge: 5463 Registriert: 03.07.2002 SOLIDWORKS 2001 - 2024SP0.1 Elite AE Award 2023 SOLIDWORKS Premium, Simu, Flow, Plastics, Composer, MBD, Inspection, PDMP, Visualize, TopsWorks, DPS Tools, JobBox, MacroSheet, etc. Passungstabelle von Heinz WIN10x64 22H2 | HP ZBook 17 Fury G8
|
erstellt am: 01. Nov. 2022 13:07 <-- editieren / zitieren --> Unities abgeben: Nur für user
|
Christian_W Ehrenmitglied V.I.P. h.c. Konstrukteur (Dipl-Ing)
Beiträge: 3189 Registriert: 04.04.2001 CSWP 12/2015<P>SWX2021sp5 Win10/11 (SWX2016, SWX2012) proAlpha6.2e00/calinkV9 (Tactonworks) (Medusa7, NesCAD2010, solidEdge19)
|
erstellt am: 02. Nov. 2022 17:30 <-- editieren / zitieren --> Unities abgeben: Nur für user
Zitat: Original erstellt von Heiko Soehnholz: Also hast du dir noch nicht das von mir verlinkte Video zum Thema "Eigenschaften" angesehen...
Selber damit beschäftigen ist ja sowas von "Old School" ... oder so Schönen Feierabend Heiko und lass dich nicht entmutigen ! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
user Mitglied CAD Anwender
Beiträge: 102 Registriert: 27.03.2001 Solidworks Windows 10 Pro 11th Gen Intel(R) Core(TM) i7-11700@2.50GHz 8 Kerne
|
erstellt am: 04. Nov. 2022 09:03 <-- editieren / zitieren --> Unities abgeben:
Hallo Holger, ich hab mich mittlerweile auch mit dem Video beschäftigt und bin dabei mir was zurecht zu basteln. bei deinem Bild hast du die Typen angelegt aber mit den Werten dafür komme ich nicht klar. Könntest du mir das mal noch erklären? ------------------ Tschüß user Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Holger.S Mitglied Konstrukteur
Beiträge: 490 Registriert: 01.10.2004
|
erstellt am: 04. Nov. 2022 17:55 <-- editieren / zitieren --> Unities abgeben: Nur für user
Welche Typen meinst du? Ich mache nur im Modell schonmal klar um was für ein Teil es sich handelt. Muss es gefertigt werden, ist es ein Norm oder Kaufteil. Das ist für die Beschaffung relevant. ------------------ Wer nichts verändern will, wird auch das verlieren, was er bewahren möchte. (Gustav Heinemann) www.vn-biker.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
user Mitglied CAD Anwender
Beiträge: 102 Registriert: 27.03.2001 Solidworks Windows 10 Pro 11th Gen Intel(R) Core(TM) i7-11700@2.50GHz 8 Kerne
|
erstellt am: 07. Nov. 2022 08:35 <-- editieren / zitieren --> Unities abgeben:
|