Export dwg veelvouden...?

Hallo
Ik heb een .sldprt bestand ontvangen met een complex onderdeel en 40 configuraties.
Ik moet alle dwg uit verschillende elementen halen (5 of 200 dwg in totaal),
Hoe automatiseer ik de taak?
Bij voorbaat dank.
Nog een vraag: hoe zorg je ervoor dat Solidworks standaard de dfx/dwg-export naar de dfx/dwg maakt?
:wink:

Hallo

Bijgevoegd is een macro die ik had gevonden en aangepast met behulp van de groep om alle DWG's uit de configuraties te halen, maar de onderdelen moeten van plaatwerk zijn om het te laten werken. De macro krijgt de naam van de configuratie.

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 met .swp vouwlijn (29.5 KB)

3 likes

Hartelijk dank :slightly_smiling_face:
Maar wat doe je met de elementen die niet van plaatstaal zijn? Omdat er in "mijn" tekening 5 gezichten zijn waarvoor ik de DWG's moet extraheren, maar hier wordt alleen degene die in plaatwerk is gemaakt geëxporteerd... Ik heb geprobeerd de andere elementen om te zetten in plaatwerk, maar het exporteert er maar 1 :frowning:
… sorry dat ik een complete beginner ben :roll_eyes:

Kunt u ons een zeefdruk geven van wat het probleem is met de 5 zijden? om het beter te begrijpen.

1 like

Hallo
U kunt zich laten inspireren door het behandelde onderwerp HIER, anders zie de bijgevoegde macro als het u uitkomt.

Vriendelijke groeten
dxf-V2.swp (64 kB)

Dit is het soort onderdeel en ik heb de dwg van elk onderdeel nodig voor alle configuraties

Zonder een plaatstalen behuizing is er helaas geen wonder. Afgezien van de handmatige manier voor elk onderdeel op de 20 configuraties...
Voor zover ik weet geen macro om meerdere gezichten te kiezen om in dxf in verschillende configuraties te exporteren.

1 like

… aan de ene kant vind ik het prima, zolang het maar alle configuraties doet (ik heb er ongeveer veertig) ... Het 4 keer uitvoeren van de macro past heel goed bij mij :wink:

1 like

Zelfde principe, je maakt een configuratie per lichaam en zet ze om in plaatwerk en dan doet de macro de rest

1 like

5 lichamen dus door het starten van 5 keer de macro hierboven door het weergeven van dat ene lichaam elke keer dat het moet doen, het moet worden gestart in 5 verschillende mappen anders zullen de bestanden crashen als je gaat.
Vriendelijke groeten

1 like

@d.Roger: nee, als hij een configuratie per carrosserie maakt en deze omzet in plaatwerk; Het hoeft het maar één keer te starten, de macro wordt gestart in de kamer en converteert de configuraties.

1 like

Hallo @igor_simar ,

De bijlagemacro beweert de geselecteerde vlakke vlakken van een onderdeel één voor één te exporteren, in DXF- of DWG-indeling.
De geëxporteerde documenten worden in een submap van het originele onderdeel geplaatst, met dezelfde naam.
De naam van elk document wordt gevormd door de volgorde van de namen van het originele onderdeel, de hoofdtekst, de configuratie en het geselecteerde vlak.

Vriendelijke groeten
ExportFaceToDxfDwg.swp (114 kB)

3 likes

Hallo @tous
Naar mijn mening is het na het omzetten naar plaatwerk mogelijk om door de map met afvlakking van dezelfde configuratie te bladeren
Deze goeroe heeft geweldig werk geleverd Ex

1 like

Voeg dit gewoon toe om te vragen om de export van de actieve configuratie of alle configuraties

1 like

BEDANKTIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
SUPER!!!
GROOT!!!
precies wat ik wilde :wink:

@m_blt
Ik heb de code geprobeerd en het werkt niet


Als ik mag, lijkt het mij dat de bestandsnaam tekens bevat die niet zijn toegestaan door Windows, dus het gezicht kan in de ene configuratie bestaan en niet in de andere
Vriendelijke groeten