Witam
Czy można wyeksportować widok zespołu w programie . DWG? (Przyjeżdżam z częścią, ale nie z zespołem)
Dziękuję
Miłego dnia
Witam
Czy można wyeksportować widok zespołu w programie . DWG? (Przyjeżdżam z częścią, ale nie z zespołem)
Dziękuję
Miłego dnia
Witam
Musiałbyś tymczasowo zapisać swój zespół w PART, aby móc go wyeksportować w formacie DWG.
Właściwie, na razie przeglądam układ.
Ale chciałem wiedzieć, czy jest szybszy.
Chyba, że coś przeoczyłeś, nie sądzę.
Poczekaj na inną odpowiedź.
poprzez rysunek ;-)
po prostu zapisz zespół jako część i wybierz wszystkie komponenty, a następnie traktuj tę nową część jak każdą tradycyjną część (eksport do DXF, DWG)
@+ ;-)
W zasadzie to jest to, co już robię^^
Nie ma więc nic prostszego niż to, prosto z montażu.
Dziękuję za odpowiedzi ;)
Witam
Aby uniknąć wszystkich tych kroków, możesz również utworzyć małe makro, które automatyzuje transformację asm do prt, a następnie eksportuje go do DWG, wystarczy jedno kliknięcie, aby osiągnąć to, czego chcesz.
Do wykonania kopii zapasowej asm w prt jest to proste Part.Saveas3(nomprt, 0, 0) do zrobienia, a do eksportu w DWG powinieneś być w stanie użyć makra : http://help.solidworks.com/2016/english/api/sldworksapi/export_part_to_dwg_example_vb.htm
Pozdrowienia
Poprzednie makro używa funkcji "ExportFlatPatternView", która jest przestarzała i przenosi tylko widok z przodu, to używa funkcji zastępczej "ExportToDWG2" i pozwala utworzyć plik DWG każdego widoku, myślę, że będzie to bardziej zgodne z tym, co chcesz zrobić.
Pozdrowienia
Dziękuję bardzo
Nigdy nie używałem Makro, czy możesz mi to wyjaśnić w dwóch słowach?
Dziękuję
Witam
Z której wersji oprogramowania korzystasz? Biblioteki załadowane w moim makrze są przeznaczone dla SW2017.
W oprogramowaniu możesz wykonać: Narzędzia / Makro / Nowy i skopiować poniższy kod, aby zastąpić ten, który jest automatycznie zapisywany w nowym makrze, następnie ładujesz zestaw testowy w oprogramowaniu i na koniec wykonujesz F5 w oknie Visual Basic.
Pozdrowienia
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
Witam, nagrywam całość w pokoju, a następnie robię dwg.
Pozdrowienia
Jestem w 2016 sp3
Witam
Tam właśnie vba trochę mnie denerwuje ...
Spróbuj wymienić linie:
"Jeżeli dokument jest dokumentem
Jeśli swModel.GetType = swDocPART Then
"Eksportujemy go w formacie DWG
Eksport DWG
Zakończ jeżeli:
przez:
"Jeżeli dokument jest dokumentem
Jeśli swModel.GetType = swDocPART Then
"Eksportujemy go w formacie DWG
ExportDWG swModel
Zakończ jeżeli:
Następnie linia:
Eksport podrzędny DWG
Przez:
Sub ExportDWG(swModel As SldWorks.ModelDoc2)
I znowu wiersz (ten w Sub ExportDWG(.....):
Ustaw swModel = swApp.ActiveDoc
Przez:
'Ustaw swModel = swApp.ActiveDoc
Załaduj zestaw, a następnie uruchom makro za pomocą F5
Pozdrowienia
W jaki sposób mogę uzyskać to samo makro dla samych części?
Mam sposób na samą modyfikację makra, aby się nauczyć
Witam
Dla samych części jest to to samo makro, ponieważ w tym przekształcam asm w prt, a następnie uruchamiam transformację do dwg na prt, więc ładujesz część, a następnie uruchamiasz makro i zwykle otrzymujesz 6 DWG utworzonych w folderze Windows części, Przynajmniej dla mnie to też działa.
Pozdrowienia
Bardzo dziękuję za pomoc ;)