Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  SolidWorks
  Dateinamen spliten und als Konfigigurationsspezifische Eigenschaft setzen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS
  
7 Tipps für die Konstruktion von Kunststoffteilen und Spritzgussformen, ein Webinar am 27.06.2025
Autor Thema:  Dateinamen spliten und als Konfigigurationsspezifische Eigenschaft setzen (392 mal gelesen)
gearloose7
Mitglied
Techniker


Sehen Sie sich das Profil von gearloose7 an!   Senden Sie eine Private Message an gearloose7  Schreiben Sie einen Gästebucheintrag für gearloose7

Beiträge: 119
Registriert: 26.08.2010

Windows 10 x64 Pro
NVidia Quadro irgendwas
SWX2022 SP5

erstellt am: 24. Aug. 2023 14:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo liebe Gemeinde,


Ich würde mal wieder eure Hilfe benötigen.
Ich habe ein Makro, dass mir den Dateinamen nach dem Schema "Materialnummer - Bezeichnung.sldxxx" (z.B. 0123-00-001A - Grundrahmen.sldprt) in Materialnummer und Bezeichnung auftrennt und diese Werte in den Dateieigenschaften als Benutzerdefiniert anlegt (z.B. Materialnummer(als Text) / 01232-00-001A & Bezeichnung(als Text) / Grundrahmen). So weit so gut.
Jetzt möchte ich diese Werte nicht als benutzerdefiniert anlegen lassen sondern als Konfigurationsspezifisch.

Kann mir bitte jemand meinen Code anpassen oder mir sagen was ich ändern muss um dies zu erreichen?
habe versuchsweise die "swCustomInfoType_e.swCustomInfoText" in "swConfigInfoType_e.swCustomInfoText" geändert. Hat leider nicht funktioniert   .
Habe keine Ahnung von API. Immer nur dry and error ....  

Vielen dank schon mal.
lg
gearloose

############################################################################################
'******************************************************************************
'*** Diese Makro zerlegt den Dateinamen in Materialnummer und Bezeichnung
'*** und schreibt diese Werte in die Dateieigenschaften
'******************************************************************************


Dim swApp As SldWorks.ISldWorks
Dim swModelDoc As SldWorks.IModelDoc2
Dim swDrawDoc As SldWorks.IDrawingDoc
Dim cusPropMgr As SldWorks.ICustomPropertyManager


Public Sub SplitProperties()

  
    Set swApp = Application.SldWorks
    Set swModelDoc = swApp.ActiveDoc
  
    If (swModelDoc.GetType = swDocDRAWING) Then
      swApp.SendMsgToUser ("Funtioniert nicht bei Zeichnungen!")
    Else

        ' Set swDrawDoc = swModelDoc
        Set swModelDoc = swApp.ActiveDoc
       
      
        'Anzeigenamen holen
        Dim HauptnameLang As String
        Dim Hauptname As String
        Dim Bauteilnummer As String
        Dim Bezeichnung1 As String
        Dim UnterstrichPos As Integer
        Dim BindestrichPos As Integer
        Dim PunktPos As Integer
       
'        HauptnameLang = swModelDoc.GetTitle
        HauptnameLang = swModelDoc.GetPathName
For i = Len(HauptnameLang) To 1 Step -1
    If Mid(HauptnameLang, i, 1) = "\" Then
        Hauptname = Mid(HauptnameLang, i + 1, Len(HauptnameLang) - i - 7)
        Exit For
    End If
Next i
'        MsgBox (Hauptname)
'        Debug.Print "Hauptname:        " & Hauptname
      
        'Bauteilnummer extrahieren
        UnterstrichPos = VBA.InStr(1, Hauptname, " - ")
        If UnterstrichPos = 0 Then
              swApp.SendMsgToUser ("Dateiname muss nach der Materialnummer "" - "" enthalten!")
              Exit Sub
        End If
        Bauteilnummer = VBA.Left(Hauptname, UnterstrichPos - 1)

        'Bezeichnung 1 extrahieren
        Bezeichnung1 = VBA.Mid(Hauptname, UnterstrichPos + 3)
      
        'In benutzerdefinierte Eigenschaften eintragen (Felder: Materialnummer, Bezeichnung)
        Set cusPropMgr = swModelDoc.Extension.CustomPropertyManager("")
        cusPropMgr.Add3 "Materialnummer", swCustomInfoType_e.swCustomInfoText, Bauteilnummer, swCustomPropertyAddOption_e.swCustomPropertyDeleteAndAdd
        cusPropMgr.Add3 "Bezeichnung", swCustomInfoType_e.swCustomInfoText, Bezeichnung1, swCustomPropertyAddOption_e.swCustomPropertyDeleteAndAdd

       
        'Neuaufbau
        swModelDoc.ForceRebuild3 True
    End If
  
End Sub
#####################################################################

edit: Es ist immer nur eine (1) Konfiguration enthalten mit dem Namen "Standard". Ist glaub ich wichtig und macht das vermutlich einfacher .. 
lG

[Diese Nachricht wurde von gearloose7 am 24. Aug. 2023 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

ad_man
Mitglied
freiberuflicher Entwicklungsing. (Fahrzeugtechnik, CSWP, CPPA))


Sehen Sie sich das Profil von ad_man an!   Senden Sie eine Private Message an ad_man  Schreiben Sie einen Gästebucheintrag für ad_man

Beiträge: 1487
Registriert: 20.12.2003

SolidWorks 2024 SP5 mit Enterprise PDM , Windows 11, Dell Precision 3660, i7-12700K, 96 GB DDR-Ram, Quadro RTX A4000

erstellt am: 24. Aug. 2023 14:57    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für gearloose7 10 Unities + Antwort hilfreich

Hallo gearloose,

du musst dann den Konfigurationsname anstelle des Leerstrings in die
folgende Zeile einfügen:

Code:
Set cusPropMgr = swModelDoc.Extension.CustomPropertyManager("")

wird zu:

Code:
Set cusPropMgr = swModelDoc.Extension.CustomPropertyManager("Standard")

Dann sollte es in den konfigurationsspezifischen Eigenschaften stehen.

------------------
==========
Gruß
Andreas
==========

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

gearloose7
Mitglied
Techniker


Sehen Sie sich das Profil von gearloose7 an!   Senden Sie eine Private Message an gearloose7  Schreiben Sie einen Gästebucheintrag für gearloose7

Beiträge: 119
Registriert: 26.08.2010

Windows 10 x64 Pro
NVidia Quadro irgendwas
SWX2022 SP5

erstellt am: 24. Aug. 2023 16:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Andreas,


soooo einfach .... wenn man's weiß...

Vielen Dank. Problem gelöst.
lg
Bernhard

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2025 CAD.de | Impressum | Datenschutz