Hallo
Is het mogelijk om een weergave van een assemblage te exporteren in . DWG? (Ik kom aan met een onderdeel, maar niet met een montage)
Bedankt
Fijne dag
Hallo
Is het mogelijk om een weergave van een assemblage te exporteren in . DWG? (Ik kom aan met een onderdeel, maar niet met een montage)
Bedankt
Fijne dag
Hallo
U zou uw assemblage tijdelijk in GEDEELTELIJK moeten opslaan om deze in DWG te kunnen exporteren.
Sterker nog, op dit moment ben ik de lay-out aan het doornemen.
Maar ik wilde weten of er een snellere was.
Tenzij je iets gemist hebt, denk ik van niet.
Wacht op een ander antwoord.
door middel van een tekening ;-)
sla het geheel gewoon op als een onderdeel en selecteer alle componenten, behandel dit nieuwe onderdeel vervolgens als elk traditioneel onderdeel (exporteren naar DXF, DWG)
@+ ;-)
Kortom, dat is wat ik al aan het doen ben^^
Eenvoudiger dan dat wordt het dus niet, rechtstreeks uit de montage.
Bedankt voor je antwoorden;)
Hallo
Om al deze stappen te vermijden, kunt u ook een kleine macro maken die de transformatie van de asm naar prt automatiseert en deze vervolgens naar DWG exporteert, het kost u slechts één klik om te bereiken wat u wilt.
Voor de back-up van de asm in prt is het een eenvoudige Part.Saveas3(nomprt, 0, 0) te doen en voor de export in DWG moet je in staat zijn om de macro te gebruiken : http://help.solidworks.com/2016/english/api/sldworksapi/export_part_to_dwg_example_vb.htm
Vriendelijke groeten
De vorige macro maakt gebruik van de functie "ExportFlatPatternView" die is afgeschaft en alleen het vooraanzicht overdraagt, deze maakt gebruik van de vervangingsfunctie "ExportToDWG2" en stelt u in staat om een DWG van elke weergave te maken, ik denk dat het meer in lijn zal zijn met wat u wilt doen.
Vriendelijke groeten
Hartelijk dank
Ik heb de macro nooit gebruikt, kun je het me in twee woorden uitleggen?
Bedankt
Hallo
Welke versie van SW gebruik je? De bibliotheken die in mijn macro zijn geladen, zijn voor SW2017.
In SW kunt u doen: Extra / Macro / Nieuw en kopieer de onderstaande code om degene te vervangen die automatisch in de nieuwe macro wordt geschreven, vervolgens laadt u een testassemblage in SW en ten slotte doet u F5 in het Visual Basic-venster.
Vriendelijke groeten
Dim swApp As Object
Public swModel As SldWorks.ModelDoc2
Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Sub main()
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set Part = swApp.ActiveDoc
Dim myModelView As Object
Set myModelView = Part.ActiveView
myModelView.FrameState = swWindowState_e.swWindowMaximized
'on récupére le document actif
Set swModel = swApp.ActiveDoc
If Not swModel Is Nothing Then
'on récupére l'emplacement du fichier
stPath = swModel.GetPathName
'on récupére le nombre de caractére jusqu'au . de l'extension
lgFichier = InStrRev(stPath, ".", -1, vbTextCompare) - 1
'on récupére le chemin sans l'extention
If lgFichier > 0 Then
stPath = Left(stPath, lgFichier)
End If
'si le document est un assemblage
If swModel.GetType = swDocASSEMBLY Then
'on créer le SLDPRT
longstatus = Part.SaveAs3(stPath + ".sldprt", 0, 0)
'On ferme le SDLASM
swApp.CloseDoc swModel.GetTitle
'On ouvre le SLDPRT
Set swModel = swApp.OpenDoc6(stPath + ".sldprt", 1, 0, "", longstatus, longwarnings)
End If
'si le document est une pièce
If swModel.GetType = swDocPART Then
'On l'exporte en DWG
ExportDWG
End If
End If
End Sub
Sub ExportDWG()
Dim swPart As SldWorks.PartDoc
Dim sModelName As String
Dim sPathName As String
Dim varAlignment As Variant
Dim dataAlignment(11) As Double
Dim varViews As Variant
Dim dataViews(5) As String
Dim options As Long
Set swModel = swApp.ActiveDoc
sModelName = swModel.GetPathName
sPathName = swModel.GetPathName
sPathName = Left(sPathName, Len(sPathName) - 6)
sPathName = sPathName + "dwg"
Set swPart = swModel
dataAlignment(0) = 0#
dataAlignment(1) = 0#
dataAlignment(2) = 0#
dataAlignment(3) = 1#
dataAlignment(4) = 0#
dataAlignment(5) = 0#
dataAlignment(6) = 0#
dataAlignment(7) = 1#
dataAlignment(8) = 0#
dataAlignment(9) = 0#
dataAlignment(10) = 0#
dataAlignment(11) = 1#
varAlignment = dataAlignment
dataViews(0) = "*En cours"
dataViews(1) = "*Face"
dataViews(2) = "*Droite"
dataViews(3) = "*Gauche"
dataViews(4) = "*Dessus"
dataViews(5) = "*Arrière"
varViews = dataViews
swPart.ExportToDWG2 sPathName, sModelName, swExportToDWG_ExportAnnotationViews, False, varAlignment, False, False, 0, varViews
End Sub
Hallo, ik neem het hele ding op in de kamer en dan maak ik een dwg.
Vriendelijke groeten
Ik ben in 2016 sp3
Hallo
Dat is waar de vba me een beetje irriteert ...
Probeer de regels te vervangen:
"Indien het document een document is
Als swModel.GetType = swDocPART Dan
'We exporteren het in DWG
DWG exporteren
Einde als
bij:
"Indien het document een document is
Als swModel.GetType = swDocPART Dan
'We exporteren het in DWG
ExporterenDWG swModel
Einde als
Dan de regel:
Sub ExportDWG
Bij:
Sub ExportDWG(swModel As SldWorks.ModelDoc2)
En weer de regel (die in de Sub ExportDWG(.....):
Stel swModel = swApp.ActiveDoc in
Bij:
'Stel swModel = swApp.ActiveDoc in
Laad uw assemblage en start vervolgens de macro met F5
Vriendelijke groeten
Hoe kan ik dezelfde macro krijgen voor de onderdelen alleen?
Ik heb een manier om de macro alleen aan te passen om te leren
Hallo
Voor de onderdelen alleen is het dezelfde macro, want in deze transformeer ik de asm in prt, dan start ik de transformatie naar dwg op de prt, dus je laadt een onderdeel, dan start je de macro en je krijgt normaal gesproken de 6 DWG gemaakt in de Windows-map van het onderdeel, Voor mij werkt het in ieder geval ook.
Vriendelijke groeten
Heel erg bedankt voor je hulp;)