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 ?
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)
Un grand merci
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
…désolé je suis complétement débutant
pouvez-vous nous mettre un imprim écran de ce qui pose problème avec les 5 faces? afin de mieux comprendre.
Bonjour,
Tu peux t’inspirer du sujet traité ICI sinon voir la macro jointe si cela te convient.
Cordialement,
dxf-V2.swp (64 Ko)
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.
…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
Même principe, vous faites une configuration par corps et les convertissez en tôlerie puis la macro fera le reste
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,
@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.
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)
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
MERCIIIIIIIIIIIIIIIIIIIIIIIIIII
SUPER !!!
GENIAL !!!
exactement ce que je voulais
@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