Eksport wielokrotności dwg...?

Witam
Otrzymałem plik .sldprt ze złożoną częścią i 40 konfiguracjami.
Muszę wyodrębnić cały dwg z kilku elementów (w sumie 5 lub 200 dwg),
Jak zautomatyzować zadanie?
Z góry dziękuję.
Kolejne pytanie: jak ustawić Solidworks jako domyślny eksport dfx/dwg do dfx/dwg?
:wink:

Witam

W załączeniu znajduje się makro, które znalazłem i zmodyfikowałem z pomocą grupy, aby wyodrębnić wszystkie pliki DWG z konfiguracji, ale części muszą być wykonane z blachy, aby działało. Makro przyjmuje nazwę konfiguracji.

Dim swApp As Object
Option Explicit
Sub main()
'Déclarations :
Dim swApp                   As SldWorks.SldWorks
Dim swModel                 As SldWorks.ModelDoc2
Dim config                  As SldWorks.Configuration
Dim vConfNameArr            As Variant
Dim sConfigName             As String
Dim i                       As Long
Dim bShowConfig             As Boolean
Dim bRebuild                As Boolean
Dim bRet                    As Boolean
Dim FilePath                As String
Dim PathSize                As Long
Dim PathNoExtension         As String
Dim NewFilePath             As String
Dim Value_                 As String
Dim ResolvedValOut          As String
Dim cusPropMgr              As SldWorks.CustomPropertyManager
Dim wasResolved             As Boolean
Dim Error As Long
Set swApp = CreateObject("SldWorks.Application") 'Lancement de SW
Set swModel = swApp.ActiveDoc 'Récuperation du modèle actif dans SW

vConfNameArr = swModel.GetConfigurationNames 'Création de la liste des configurations
For i = 0 To UBound(vConfNameArr) 'Boucle la liste : de l'élément 0 jusqu'au nombre d'élément dans la liste (Ubound)
    Set config = swModel.GetActiveConfiguration
    Set cusPropMgr = config.CustomPropertyManager
    sConfigName = vConfNameArr(i) 'Recupère l'élément N°i de la liste
    bShowConfig = swModel.ShowConfiguration2(sConfigName) 'Affiche la configuration
    Error = cusPropMgr.Get5("TYPE", True, Value_, ResolvedValOut, wasResolved) 'Récupère la valeur de la proriété "" dans la variable "Value_"
    bRebuild = swModel.ForceRebuild3(False) 'Reconstruction du modèle
    FilePath = swModel.GetPathName 'Récupère le chemin du fichier SW
    PathSize = Strings.Len(FilePath) 'Compte le nombre de caractères du chemin
    
        PathNoExtension = Strings.Left(FilePath, PathSize - 6) 'Récupère le nom de la pièce en enlevant .Sldrt
        NewFilePath = Left(FilePath, InStrRev(FilePath, "\")) & "" & (sConfigName) & ".DWG" 'Remplace le nom par Type + Lg + Nom de la config (sans Flat pattern).dwg
        bRet = swModel.ExportFlatPatternView(NewFilePath, 0) 'Exporte le déplié
    
Next i 'Passe à la prochaine config
End Subb

export_dwg_famille_de_piece - Kobra Ac z linią zagięcia .swp (29.5 KB)

3 polubienia

Wielkie dzięki. :slightly_smiling_face:
Co jednak zrobić z elementami, które nie są wykonane z blachy? Bo w "moim" rysunku jest 5 ścian, dla których muszę wyodrębnić DWG, ale tutaj eksportowana jest tylko ta utworzona w blasze... Próbowałem przekonwertować inne elementy na blachę, ale eksportuje tylko 1 :frowning:
… przepraszam, jestem kompletnym początkującym :roll_eyes:

Czy możesz pokazać nam sitodruk, na czym polega problem z 5 bokami? w celu lepszego zrozumienia.

1 polubienie

Witam
Możesz zainspirować się tematem poruszanym TUTAJ , w przeciwnym razie zobacz załączone makro, jeśli Ci odpowiada.

Pozdrowienia
dxf-V2.swp (64 KB)

To jest rodzaj części i potrzebuję dwg każdej części dla wszystkich konfiguracji

Bez blaszanego korpusu niestety nie ma cudu. Oprócz ręcznego sposobu dla każdej części w 20 konfiguracjach...
O ile mi wiadomo, nie ma makra, aby wybrać kilka twarzy do wyeksportowania w dxf w kilku konfiguracjach.

1 polubienie

… z jednej strony jest mi dobrze, o ile robi wszystkie konfiguracje (mam około czterdziestu) ... Uruchomienie makra 4 razy bardzo mi odpowiada :wink:

1 polubienie

Ta sama zasada, robisz konfigurację według ciała i konwertujesz je na blachę, a następnie makro zrobi resztę

1 polubienie

5 ciał, więc uruchamiając 5 razy makro podane powyżej, wyświetlając tę jedną treść za każdym razem, gdy musi to zrobić, należy ją uruchomić w 5 różnych folderach, w przeciwnym razie pliki ulegną awarii w miarę przechodzenia.
Pozdrowienia

1 polubienie

@d. Roger nie, jeśli zrobi konfigurację według ciała i przekonwertuje je na blachę; Musi go uruchomić tylko raz, gdy makro zostanie uruchomione w pomieszczeniu i przekonwertuje konfiguracje.

1 polubienie

Witaj @igor_simar ,

Makro Załącznik twierdzi, że eksportuje wybrane powierzchnie płaskie części jedna po drugiej, w formacie DXF lub DWG.
Wyeksportowane dokumenty są umieszczane w podfolderze oryginalnej części o tej samej nazwie.
Nazwa każdego dokumentu jest tworzona przez sekwencję nazw oryginalnej części, bryły, konfiguracji i wybranej powierzchni.

Pozdrowienia
ExportFaceToDxfDwg.swp (114 KB)

3 polubienia

Witam @tous
Moim zdaniem po konwersji na blachę możliwe jest przeglądanie folderu spłaszczeń o tej samej konfiguracji
Ten guru wykonał świetną robotę Ex

1 polubienie

Po prostu dodaj to, aby poprosić o eksport aktywnej konfiguracji lub wszystkich konfiguracji

1 polubienie

DZIĘKUJĘIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
SUPER!!!
WIELKI!!!
dokładnie to, czego chciałem :wink:

@m_blt
Wypróbowałem kod i nie działa


Jeśli mogę, wydaje mi się, że nazwa pliku zawiera znaki niedozwolone przez system Windows, więc twarz może istnieć w jednej konfiguracji, a nie w innej
Pozdrowienia