Makro-DXF-Konvertierung mit Teileeigenschaftsname

Hallo

Ich möchte das folgende Makro so ändern, dass eine Eigenschaft des Teils als DXF-Dateiname verwendet wird. (anstatt den Hinweis hinzuzufügen)

 

Können Sie mir helfen, ich weiß nicht, wie man Makros programmiert und ich habe 500 Dateien zu verarbeiten

 

 

Sub main()

Legen Sie swApp = Application.SldWorks fest
Set Part = swApp.ActiveDoc

If Part.GetType = swDocDRAWING Then 'verif Typ Dokument

    Festlegen von swModExt = Part.Extension
    Set prop = swModExt.CustomPropertyManager("")
    Part.ForceRebuild3 Wahr

    Festlegen von swView = Part.GetFirstView
    "Die erste Ansicht ist das Blatt, gehen Sie zur nächsten über
    Legen Sie swView = swView.GetNextView fest
    Rückgewinnung von Münzen
    Festlegen von swModel = swView.ReferencedDocument
    Legen Sie swModExt = swModel.Extension fest
    
    
    Zuordnung von "Index" zu "Att"
    RevTable als Objekt dimmen
    Set prop = swModExt.CustomPropertyManager("")
    Set RevTable = Part.GetCurrentSheet.RevisionTable
    Set custpropmgr = Part.Extension.CustomPropertyManager("")
    Att = ""    'initialisiert die Variable Ind
    att = RevTable.Text(0, 0)
    'att = Part.GetCustomInfoValue("", "Revision") 'ruft den Index des Plans ab
    'boolstatus = Prop.Get3("Index", falsch, ValOut, Att)
    Wenn att = " " dann att = ""
    Wenn att = "Hinweis" dann att = ""
    
    Vollständige Wiederherstellung des Pfads
    swPathName = Teil.GetPathName
    Wenn swPathName = "" Dann
        swApp.SendMsgToUser ("Die Zeichnungsdatei wird nicht gespeichert, bitte tun Sie es und beginnen Sie von vorne")
        Sub beenden
    Ende, wenn
    
    Pfadname = Mitte(swPfadname, 1, Len(swPfadname) - 7)
    
    DXF-Registrierung
    swPathName = Pfadname & Att + ".dxf" ' fügt _ind und.dxf hinzu"
    Festlegen von swModExt = Part.Extension
    Teil.ViewZoomtofit2
    boolstatus = swModExt.SaveAs(swPathName, 0, 0, swExportPDFData, Fehler, Warnungen) 'in dxf speichern
    
    PDF-Registrierung
    
    swPathName = Pfadname & Att + ".pdf" ' fügt _ind und .pdf" hinzu
    Festlegen von swModExt = Part.Extension
    Teil.ViewZoomtofit2
    boolstatus = swModExt.SaveAs(swPfadname, 0, 0, swExportPDFData, Fehler, Warnungen)
    
    
    
    Ansonst: swApp.SendMsgToUser ("Dieses Makro funktioniert nur mit einer Zeichnung")
    
Ende, wenn

    
Ende Sub

 

Hallo

Am einfachsten ist es, das BatchConverter-Tool von myCADtools zu verwenden

Sie haben Benennungsregeln, die Ihren Anforderungen entsprechen .

 

Philippe

1 „Gefällt mir“

Hallo 

Und von welchen Eigenschaften sprechen wir???

1 „Gefällt mir“

Hallo

Der Name der DXF- und PDF-Datei muss mit der BIO-Eigenschaft übereinstimmen

 

 

Hallo

In Ihrem Makro ersetzen Sie die Zeilen:

Zuordnung von "Index" zu "Att"
RevTable als Objekt dimmen
Set prop = swModExt.CustomPropertyManager("")
Set RevTable = Part.GetCurrentSheet.RevisionTable
Set custpropmgr = Part.Extension.CustomPropertyManager("")
Att = ""    'initialisiert die Variable Ind
att = RevTable.Text(0, 0)
'att = Part.GetCustomInfoValue("", "Revision") 'ruft den Index des Plans ab
'boolstatus = Prop.Get3("Index", falsch, ValOut, Att)
Wenn att = " " dann att = ""
Wenn att = "Hinweis" dann att = ""

Bis:

Set prop = swModExt.CustomPropertyManager("")
Set custpropmgr = Part.Extension.CustomPropertyManager("")
att=""
att = Part.GetCustomInfoValue("", "BIO")

Herzliche Grüße

1 „Gefällt mir“

Bitte verwenden Sie das Code-Tag über die hervorgehobene Schaltfläche:

Dadurch werden die Beiträge viel besser lesbar...


boutoncode.png
1 „Gefällt mir“

Vielen Dank für die Info remrem, ich kannte diese Funktion nicht....

1 „Gefällt mir“