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?
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)
Hartelijk dank
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
… sorry dat ik een complete beginner ben
Kunt u ons een zeefdruk geven van wat het probleem is met de 5 zijden? om het beter te begrijpen.
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)
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.
… 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
Zelfde principe, je maakt een configuratie per lichaam en zet ze om in plaatwerk en dan doet de macro de rest
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
@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.
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)
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
BEDANKTIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
SUPER!!!
GROOT!!!
precies wat ik wilde
@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