Konwersja makra dxf z nazwą właściwości części

Witam

Chciałbym zmodyfikować poniższe makro, aby użyć właściwości części jako nazwy pliku DXF. (zamiast dodawać podpowiedź)

 

Czy możesz mi pomóc, nie wiem jak programować makra i mam 500 plików do przetworzenia

 

 

Sub main()

Ustaw swApp = Application.SldWorks
Ustaw część = swApp.ActiveDoc

Jeśli Part.GetType = swDocDRAWING Then 'verif type document

    Ustaw swModExt = Part.Extension
    Set Prop = swModExt.CustomPropertyManager("")
    Part.ForceRebuild3 Prawda

    Ustaw swView = Part.GetFirstView
    "Pierwszy widok jest arkuszem, przejdź do następnego
    Ustaw swView = swView.GetNextView
    Odzyskiwanie monet
    Ustaw swModel = swView.ReferencedDocument
    Ustaw swModExt = swModel.Extension
    
    
    Przyporządkowanie od 'Indeks' do 'Att'
    Dim RevTable jako obiekt
    Set Prop = swModExt.CustomPropertyManager("")
    Ustaw RevTable = Part.GetCurrentSheet.RevisionTable
    Set custpropmgr = Part.Extension.CustomPropertyManager("")
    Att = ""    'inicjalizuje zmienną Ind
    Att = RevTable.Text(0, 0)
    'Att = Part.GetCustomInfoValue("", "Revision") 'pobiera indeks planu
    'boolstatus = Prop.Get3("Indeks", false, ValOut, Att)
    Jeśli Att = " " Then Att = ""
    Jeśli att = "Wskazówka" to att = ""
    
    Odzyskiwanie pełnej ścieżki
    swPathName = Nazwa_Części.NazwaŚcieżki_Użytkownika
    Jeśli swPathName = "" Następnie
        swApp.SendMsgToUser ("Plik rysunku nie jest zapisywany, zrób to i zacznij od nowa")
        Wyjdź z subwoofera
    Zakończ jeżeli:
    
    pathname = Mid(swNazwa_ścieżki, 1, Len(nazwa_ścieżki) - 7)
    
    Rejestracja DXF
    swPathName = ścieżka & Att + ".dxf" ' dodaje _ind and.dxf"
    Ustaw swModExt = Part.Extension
    Part.ViewZoomtofit2
    boolstatus = swModExt.SaveAs(swPathName, 0, 0, swExportPDFData, Błędy, Ostrzeżenia) 'zapisz w dxf
    
    Rejestracja w formacie PDF
    
    swPathName = ścieżka & Att + ".pdf" ' dodaje _ind i .pdf"
    Ustaw swModExt = Part.Extension
    Part.ViewZoomtofit2
    boolstatus = swModExt.SaveAs(swPathName, 0, 0, swExportPDFData, Błędy, Ostrzeżenia)
    
    
    
    Else: swApp.SendMsgToUser ("To makro działa tylko z rysunkiem")
    
Zakończ jeżeli:

    
Koniec subwoofera

 

Witam

Najprostszym sposobem jest użycie narzędzia BatchConverter z myCADtools

Masz reguły nazewnictwa, które odpowiadają Twoim potrzebom.

 

Philippe

1 polubienie

Witam 

A o jakich właściwościach mówimy???

1 polubienie

Witam

Nazwa pliku dxf i pdf musi być zgodna z właściwością BIO

 

 

Witam

W makrze należy zamienić wiersze:

Przyporządkowanie od 'Indeks' do 'Att'
Przyciemnij RevTable jako obiekt
Set Prop = swModExt.CustomPropertyManager("")
Ustaw RevTable = Part.GetCurrentSheet.RevisionTable
Set custpropmgr = Part.Extension.CustomPropertyManager("")
Att = ""    'inicjalizuje zmienną Ind
Att = RevTable.Text(0, 0)
'Att = Part.GetCustomInfoValue("", "Revision") 'pobiera indeks planu
'boolstatus = Prop.Get3("Indeks", false, ValOut, Att)
Jeśli Att = " " Then Att = ""
Jeśli att = "Wskazówka" to att = ""

Przez:

Set Prop = swModExt.CustomPropertyManager("")
Set custpropmgr = Part.Extension.CustomPropertyManager("")
Att=""
Att = Part.GetCustomInfoValue("", "BIO")

Pozdrowienia

1 polubienie

Użyj znacznika kodu, korzystając z podświetlonego przycisku:

Dzięki temu posty są o wiele bardziej czytelne...


boutoncode.png
1 polubienie

Dziękuję za info remrem, nie znałem tej funkcji ....

1 polubienie