Macro dxf-conversie met de naam van de deeleigenschap

Hallo

Ik wil graag de onderstaande macro wijzigen om een eigenschap van het onderdeel als DXF-bestandsnaam te gebruiken. (in plaats van de hint toe te voegen)

 

Kun je me helpen, ik weet niet hoe ik macro's moet programmeren en ik heb 500 bestanden te verwerken

 

 

Sub hoofd()

Stel swApp = Toepassing.SldWorks in
Deel instellen = swApp.ActiveDoc

Als Part.GetType = swDocDRAWING Dan 'verif type document

    Set swModExt = Deel.Uitbreiding
    Stel Prop in = swModExt.CustomPropertyManager("")
    Deel.ForceRebuild3 Waar

    Stel swView = Part.GetFirstView in
    'De eerste weergave is het blad, ga door naar de volgende
    Stel swView in = swView.GetNextView
    Terugwinning van munten
    Stel swModel = swView.ReferencedDocument in
    Stel swModExt = swModel.Extension in
    
    
    Toewijzing van "Index" naar "Att"
    Dim RevTable als object
    Stel Prop in = swModExt.CustomPropertyManager("")
    Set RevTable = Part.GetCurrentSheet.RevisionTable
    Set custpropmgr = Part.Extension.CustomPropertyManager("")
    Att = ""    'initialiseert de Ind-variabele
    Att = RevTable.Text(0, 0)
    'Att = Part.GetCustomInfoValue("", "Revision") 'haalt de index van het plan op
    'boolstatus = Prop.Get3("Index", false, ValOut, Att)
    Als att = " " dan att = ""
    Als att = "hint" dan att = ""
    
    Volledig herstel van het pad
    swPathName = Deel.GetPathName
    Als swPathName = "" Dan
        swApp.SendMsgToUser ("Het tekenbestand is niet opgeslagen, doe het en begin opnieuw")
        Sub afsluiten
    Einde als
    
    padnaam = Mid(swPathName, 1, Len(swPathName) - 7)
    
    DXF-registratie
    swPathName = padnaam & Att + ".dxf" ' voegt _ind en.dxf" toe
    Set swModExt = Deel.Uitbreiding
    Deel.WeergaveZoomtofit2
    boolstatus = swModExt.SaveAs(swPathName, 0, 0, swExportPDFData, Fouten, Waarschuwingen) 'opslaan op dxf
    
    PDF-registratie
    
    swPathName = padnaam & Att + ".pdf" ' voegt _ind en .pdf toe"
    Set swModExt = Deel.Uitbreiding
    Deel.WeergaveZoomtofit2
    boolstatus = swModExt.SaveAs(swPathName, 0, 0, swExportPDFData, Fouten, waarschuwingen)
    
    
    
    Anders: swApp.SendMsgToUser ("Deze macro werkt alleen met een tekening")
    
Einde als

    
Einde Sub

 

Hallo

De eenvoudigste manier is om de BatchConverter-tool van myCADtools te gebruiken

U heeft naamgevingsregels die overeenkomen met uw behoeften.

 

Philippe

1 like

Hallo 

En over welke eigenschappen hebben we het dan???

1 like

Hallo

De naam van het dxf- en pdf-bestand moet overeenkomen met de BIO-eigenschap

 

 

Hallo

In je macro vervang je de regels:

Toewijzing van "Index" naar "Att"
Dim RevTable als object
Stel Prop in = swModExt.CustomPropertyManager("")
Set RevTable = Part.GetCurrentSheet.RevisionTable
Set custpropmgr = Part.Extension.CustomPropertyManager("")
Att = ""    'initialiseert de Ind-variabele
Att = RevTable.Text(0, 0)
'Att = Part.GetCustomInfoValue("", "Revision") 'haalt de index van het plan op
'boolstatus = Prop.Get3("Index", false, ValOut, Att)
Als att = " " dan att = ""
Als att = "hint" dan att = ""

Bij:

Stel Prop in = swModExt.CustomPropertyManager("")
Set custpropmgr = Part.Extension.CustomPropertyManager("")
att=""
att = Part.GetCustomInfoValue("", "BIO")

Vriendelijke groeten

1 like

Gebruik de codetag met behulp van de gemarkeerde knop:

Dit maakt de berichten veel leesbaarder...


boutoncode.png
1 like

Bedankt voor de info remrem, ik kende deze functie niet ....

1 like