Export dwg multiples...?

Bonjour,
j’ai reçu un fichier .sldprt avec une pièce complexe et 40 configurations.
Je dois extraire tous les dwg de plusieurs éléments (5 soit 200 dwg en tout),
comment faire pour automatiser la tâche ?
Merci d’avance.
Autre question : comment faire pour que lors d’une exportation dfx/dwg Solidworks mette par défaut le dwg eu lieu du dxf ?
:wink:

Bonjour,

ci-joint une macro que j’avais trouvé et modifiée avec l’aide du groupe pour extraire tous les dwg des configurations mais les pièces doivent être en tôlerie pour que ça fonctionne. La macro reprend le nom de la configuration.

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 - Ac cobra avec ligne de plis .swp (29,5 Ko)

3 « J'aime »

Un grand merci :slightly_smiling_face:
Mais comment faire avec les éléments qui ne sont pas en tôlerie ? car dans « mon » dessin il y a 5 faces pour lesquelles je dois extraire les dwg mais ici seul celle crée en tôlerie est exportée… j’ai essayer de convertir les autres éléments en tôlerie mais il n’exporte que 1 :frowning:
…désolé je suis complétement débutant :roll_eyes:

pouvez-vous nous mettre un imprim écran de ce qui pose problème avec les 5 faces? afin de mieux comprendre.

1 « J'aime »

Bonjour,
Tu peux t’inspirer du sujet traité ICI sinon voir la macro jointe si cela te convient.

Cordialement,
dxf-V2.swp (64 Ko)

Voilà le genre de pièce et il me faut les dwg de chaque pièces pour toutes les configurations

Sans corps en tôlerie malheureusement pas de miracle. A part la façon manuelle pour chaque pièce sur les 20 configs…
Pas de macro à ma connaissance pour choisir plusieurs face à exporter en dxf dans plusieurs configs.

1 « J'aime »

…pour une face ça me va du moment qu’il fait toutes les configurations (j’en ai une quarantaine) … lancer 4 fois la macro me va très bien :wink:

1 « J'aime »

Même principe, vous faites une configuration par corps et les convertissez en tôlerie puis la macro fera le reste

1 « J'aime »

5 corps donc en lançant 5 fois la macro fournie plus haut en affichant qu’un corps à chaque fois ça doit le faire, c’est à lancer dans 5 dossiers différents sinon les fichiers vont s’écraser au fur et à mesure.
Cordialement,

1 « J'aime »

@d.roger non s’il fait une configuration pas corps et les convertis en tôlerie ; il n’a besoin que de la lancé une fois la macro car elle se lance dans la pièce et convertie les configurations.

1 « J'aime »

Bonjour @igor_simar ,

La macro jointe prétend exporter une à une les faces planes sélectionnées d’une pièce, au format DXF ou DWG .
Les documents exportés sont placés dans un sous-dossier de la pièce initiale, portant le même nom.
Le nom de chaque document est formé de l’enchaînement des noms de la pièce d’origine, du corps, de la configuration et de la face sélectionnée.

Cordialement,
ExportFaceToDxfDwg.swp (114 Ko)

3 « J'aime »

Bonjour @tous
A mon avis, après avoir converti en tole, il est possible de parcourir le dossier des mises à plat de la même configuration
Ce guru à fait un excellent job Ex

1 « J'aime »

Y’a qu’ajouter ceci pour demander lexport de la configuration active ou bien toute les configs

1 « J'aime »

MERCIIIIIIIIIIIIIIIIIIIIIIIIIII
SUPER !!!
GENIAL !!!
exactement ce que je voulais :wink:

@m.blt
J’ai essayer le code et ça marche pas


Si je me permets, il me semble que le nom du fichier comporte des caractères non permet par windows, aussi la face peut exister dans une config et pas dans autre
Cordialement