Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Dxf Export Makro buggt nach Beendigung

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS
  
PLM TechnologieForum Hannover
Autor Thema:  Dxf Export Makro buggt nach Beendigung (411 mal gelesen)
JulianWStein
Mitglied


Sehen Sie sich das Profil von JulianWStein an!   Senden Sie eine Private Message an JulianWStein  Schreiben Sie einen Gästebucheintrag für JulianWStein

Beiträge: 2
Registriert: 09.07.2021

SWX 2019

erstellt am: 09. Jul. 2021 11:34    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Moin,

wenn ich mein Makro starte erstellt es mir wie gewünscht die Step-Datei und eine Dxf Datei vom Blech.
Nachdem das Makro beendet wurde, kann ich jedoch keine neue Datei öffnen.
Der Button funktioniert erst wieder wenn ich eine andere Datei öffne...

Hier einmal der Code:

Code:

Option Explicit

    Dim swApp                   As SldWorks.SldWorks
    Dim swModel                 As SldWorks.ModelDoc2
    Dim swPart                  As SldWorks.PartDoc
    Dim sModelName              As String
    Dim sName                   As String
    Dim sPath                   As String
    Dim bRebuild                As Boolean
    Dim bRet                    As Boolean
    Dim sRev                    As String
    Dim stepFilename            As String
    Dim dxfFilename             As String
    Dim oframe                  As SldWorks.Frame
    Dim varAlignment            As Variant
    Dim dataAlignment(11)       As Double
    Dim options                 As Long
    Dim swBody                  As Body2
    Dim varBodies               As Variant
    Dim Boolstat                As Boolean
    Dim i                       As Integer
   
Sub SaveAsStep()
 

    Set swApp = CreateObject("SldWorks.Application")
    Set swModel = swApp.ActiveDoc
    Set oframe = swApp.Frame
   
    If swModel Is Nothing Then
    swApp.SendMsgToUser2 "Kein(e) Teil/Baugruppe offen", swMbWarning, swMbOk
    Exit Sub
    End If
  
    If swModel.GetType = swDocDRAWING Then
    swApp.SendMsgToUser2 "Kein(e) Teil/Baugruppe offen", swMbWarning, swMbOk
    Exit Sub
    End If

    bRebuild = swModel.ForceRebuild3(True)
   
    sName = swModel.CustomInfo("PartNo")
    sRev = swModel.CustomInfo("Revision") 'Revision Property Name
   
sPath = "C:\Dokumente\" 'Dateipfad Ausgabeordner
stepFilename = sPath & sName & "-REV-" & sRev & ".step"

    swModel.SaveAs (stepFilename)
   
    If isBlocked(stepFilename) Then
        Status "Fehler beim Speichern als " & stepFilename
        MsgBox "Fehler!" & vbCrLf & sName & "-REV-" & sRev & ".step" & " konnte nicht gespeichert werden!" & vbCrLf & "Step-Datei existiert bereits!", vbCritical, "ERROR"
        Exit Sub
    End If
   
Set swPart = swModel
varBodies = swPart.GetBodies2(swBodyType_e.swSolidBody, False)

For i = 0 To UBound(varBodies)

Set swBody = varBodies(i)

If (swBody.IsSheetMetal) Then
       
    dxfFilename = sPath & sName & "-REV-" & sRev & ".dxf"

    sModelName = swModel.GetPathName

    Set swPart = swModel

       dataAlignment(0) = 0#
       dataAlignment(1) = 0#
       dataAlignment(2) = 0#
       dataAlignment(3) = 0#
       dataAlignment(4) = 0#
       dataAlignment(5) = 0#
       dataAlignment(6) = 0#
       dataAlignment(7) = 1#
       dataAlignment(8) = 0#
       dataAlignment(9) = 0#
       dataAlignment(10) = 0#
       dataAlignment(11) = 0#

        varAlignment = dataAlignment

        options = 5 ' This value determines what would be exported in the DXF/DWG file.

        swPart.ExportToDWG2 dxfFilename, sModelName, swExportToDWG_ExportSheetMetal, True, varAlignment, False, False, options, Null
   
Else

End If
Next i
Exit Sub
End Sub

Function isBlocked(filename As String) As Boolean
    On Error GoTo Fehler
    Open filename For Append As #1
    Close #1
    isBlocked = False
    On Error GoTo 0
    Exit Function
   
Fehler:
    isBlocked = True
    On Error GoTo 0
End Function

Sub Status(txt As String)
    If txt = "" Then Exit Sub
    oframe.SetStatusBarText ("SAVE (SLDPRT/SLDASM + STEP): " & txt)

End Sub


Ist da im Hintergrund noch was aktiv, was das Erstellen einer neuen Datei unterbindet?

[Diese Nachricht wurde von JulianWStein am 09. Jul. 2021 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

deckelmaho
Mitglied
Konstrukteur


Sehen Sie sich das Profil von deckelmaho an!   Senden Sie eine Private Message an deckelmaho  Schreiben Sie einen Gästebucheintrag für deckelmaho

Beiträge: 239
Registriert: 03.03.2020

SolidWorks 2023 SP5
Windows 10 64bit
Office 2019

erstellt am: 09. Jul. 2021 12:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für JulianWStein 10 Unities + Antwort hilfreich

Wird dir denn ein Fehler angezeigt?

------------------
HOMEPAGE | SWXTools.de - SWXHelper für SOLIDWORKS

KONTAKT | support@swxtools.de

FACEBOOK | facebook.com/SWXHelper

TWITTER | twitter.com/SWXTools

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

JulianWStein
Mitglied


Sehen Sie sich das Profil von JulianWStein an!   Senden Sie eine Private Message an JulianWStein  Schreiben Sie einen Gästebucheintrag für JulianWStein

Beiträge: 2
Registriert: 09.07.2021

SWX 2019

erstellt am: 09. Jul. 2021 12:30    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


2021-07-0912_28_22.png

 
Nein, SWX macht einfach nix.

Anbei den Button den ich meine.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

deckelmaho
Mitglied
Konstrukteur


Sehen Sie sich das Profil von deckelmaho an!   Senden Sie eine Private Message an deckelmaho  Schreiben Sie einen Gästebucheintrag für deckelmaho

Beiträge: 239
Registriert: 03.03.2020

SolidWorks 2023 SP5
Windows 10 64bit
Office 2019

erstellt am: 09. Jul. 2021 15:03    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für JulianWStein 10 Unities + Antwort hilfreich

Ich hab es jetzt mal probiert, bei mir läuft es sauber durch und ich kann auf auf "Neues Teil" drücken.
Ich bin überfragt. Es scheint also an deinem Setting zu liegen und nicht am Makro selbst.
Vielleicht hilft dir die Tatsache ja schon.

------------------
HOMEPAGE | SWXTools.de - SWXHelper für SOLIDWORKS
KONTAKT | support@swxtools.de
FACEBOOK | facebook.com/SWXHelper
TWITTER | twitter.com/SWXTools

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Christian_W
Ehrenmitglied V.I.P. h.c.
Konstrukteur (Dipl-Ing)


Sehen Sie sich das Profil von Christian_W an!   Senden Sie eine Private Message an Christian_W  Schreiben Sie einen Gästebucheintrag für Christian_W

Beiträge: 3189
Registriert: 04.04.2001

CSWP 12/2015<P>SWX2021sp5 Win10/11
(SWX2016, SWX2012)
proAlpha6.2e00/calinkV9
(Tactonworks)
(Medusa7, NesCAD2010,
solidEdge19)

erstellt am: 11. Jul. 2021 20:34    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für JulianWStein 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von JulianWStein:
... kann ich jedoch keine neue Datei öffnen.
Der Button funktioniert erst wieder wenn ich eine andere Datei öffne...
...

Versteh ich nicht, kannst keine neue Datei öffnen, aber wenn du es tust, funktioniert es wieder????
Zitat:

Code:

Sub SaveAsStep()
    ...
     swModel.SaveAs (stepFilename)
     If isBlocked(stepFilename) Then
     ...
Else

End If
Next i
Exit Sub
End Sub

Function isBlocked(filename As String) As Boolean
 ...
End Function

Sub Status(txt As String)
End Sub



Exit sub und dann gleich End sub??
Wenn man ein Makro einfach so aufruft, springt VBA gerne in die letzte (hinzugefügte) Sub bzw. Function.
Deshalb steht meist am Ende sub main ...
stolperst du gerade da drüber?

Gruß, CHristian

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2024 CAD.de | Impressum | Datenschutz