SolidWorks API: Bericht uitschakelen: Wilt u het vervangen?

Hallo

 

Ik heb een macro gemaakt waarmee ik de DXF van de tekeningen in een directory kan genereren.

Als de DXF echter al bestaat, heb ik een dialoogvenster dat wordt geopend met het bericht:

"Het bestand "MyFile" bestaat al, wil je het vervangen?

Is er een methode om het bestand te vervangen zonder dat u elke keer op ja hoeft te klikken als het bestand al bestaat?

 

Bij voorbaat dank,

Gautier

Hallo

Afhankelijk van de gebruikte methode lijkt het mij dat de "stille" optie het probleem kan oplossen

 

Om te proberen

Cdlt

Hallo

U zou de functie "SaveAs3" moeten kunnen gebruiken, hier is een voorbeeld van een macro:

Sub main()

    Dim swApp As SldWorks.SldWorks
    Dim swmodel As SldWorks.ModelDoc2
    Dim stPath As String
    Dim lgFichier As Long
    Dim blretval As Boolean
    Dim Errors As Long
    Dim Warnings As Long
    
    
    Set swApp = Application.SldWorks

    Set Part = swApp.ActiveDoc
    Dim myModelView As Object
    Set myModelView = Part.ActiveView
    myModelView.FrameState = swWindowState_e.swWindowMaximized
    
    Set swApp = Application.SldWorks
    
    'on récupére le document actif
    Set swmodel = swApp.ActiveDoc
    
    If Not swmodel Is Nothing Then
       'on vérifie que le fichier est enregisté
        If swmodel.GetPathName = "" Then
            MsgBox "Veuillez enregistrer votre document avant de lancer la macro", vbInformation
            End
        Else
            '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
        End If

        'si le document est une mise en plan
        If swmodel.GetType = swDocDRAWING Then
            'on créer le DXF
            Dim nameDXF As String
            nameDXF = stPath & "_drw.DXF"
            blretval = swmodel.SaveAs3(nameDXF, 0, 0)
            
            MsgBox "Traitement terminé"

        End If

    End If

End Sub

 

Vriendelijke groeten

Hallo

 

Dank u voor uw antwoorden. d.roger Ik gebruik al de SaveAs3 functie:

"longstatus = swModel.SaveAs3(nom_Fichier & " EXT. DXF", 0, 0)"

Be.adl, ik zocht naar de functie om op te nemen met de optie Stil en deze code werkt:

longstatus = swModel.Extension.SaveAs(nom_Fichier & " EXT. DXF", swSaveAsOptions_Silent, 0, swExportPDFData, nErrors, nWarnings)

 

Met de optie "swSaveAsOptions_Silent" kunt u het bericht uitschakelen.

 

Dank u voor uw antwoorden.

 

Gautier.