Suite van genummerde platen lasergesneden

Ik moet een reeks genummerde platen laten snijden met een laser, ik ben op zoek naar een oplossing om de DXF op solidworks automatisch te genereren, bij voorbaat dank

Hallo;

U zou in staat moeten zijn om uw bulkexports uit te voeren met de " Solidworks Task Scheduler"

Anders denk ik dat er al wat macro's rondslingeren op het forum ...

Bijvoorbeeld de macro van @js_1207

Transcriptie hieronder:

Option Explicit

Private Const BIF_RETURNONLYFSDIRS As Long = &H1
Private Const BIF_DONTGOBELOWDOMAIN As Long = &H2
Private Const BIF_RETURNFSANCESTORS As Long = &H8
Private Const BIF_BROWSEFORCOMPUTER As Long = &H1000
Private Const BIF_BROWSEFORPRINTER As Long = &H2000
Private Const BIF_BROWSEINCLUDEFILES As Long = &H4000
Private Const MAX_PATH As Long = 260

Function BrowseFolder(Optional Caption As String, Optional InitialFolder As String) As String

Dim SH As Shell32.Shell
Dim F As Shell32.Folder

Set SH = New Shell32.Shell
Set F = SH.BrowseforFolder(0&, Caption, BIF_RETURNONLYFSDIRS, InitialFolder)
If Not F Is Nothing Then
    If F = "Desktop" Then
        BrowseFolder = Environ("USERPROFILE") & "\Desktop"
    Else
        BrowseFolder = F.Items.Item.Path
    End If
End If

End Function

Sub main()
Dim swApp        As SldWorks.SldWorks
Dim swmodel      As SldWorks.ModelDoc
Dim sFileName    As String
Dim Path         As String
Dim nErrors      As Long
Dim nWarnings    As Long
Dim swPart       As SldWorks.PartDoc
Dim PartNoDes    As String
Dim stPath As String
Dim lgFichier As Long
Dim blretval As Boolean


    Set swApp = Application.SldWorks
  '  Set swExportPDFData = swApp.GetExportFileData(1)
  
    
    Path = BrowseFolder("Select a Path/Folder")
    If Path = "" Then
        MsgBox "Please select the path and try again"
        End
    Else
    Path = Path + "\"
    End If
         
    sFileName = Dir(Path & "*.sldprt")
    Do Until sFileName = ""
        Set swmodel = swApp.OpenDoc6(Path + sFileName, swDocPART, swOpenDocOptions_Silent, "", nErrors, nWarnings)
        Set swmodel = swApp.ActiveDoc
        Set swPart = swApp.ActiveDoc
           
                   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 pièce
        If swmodel.GetType = swDocPART Then
           'on créer le déplié
            blretval = swmodel.ExportFlatPatternView(stPath & ".DXF", 1)
            'on créer le DXF
            blretval = swmodel.SaveAs3(stPath & ".DXF", 0, 0)
        End If
           
             swApp.QuitDoc swPart.GetPathName
        Set swPart = Nothing
        Set swmodel = Nothing
        sFileName = Dir
    Loop

MsgBox "All Done"
End Su

Vriendelijke groeten

2 likes

Dit is wat ik vond in de archieven:
Door bijvoorbeeld de methode van Lynk te volgen:

Vervolgens te exporteren via taakplanner cf-methode @Maclane of via macro of batchconverter (proefversie van een maand te downloaden)
En deze een beetje gedetailleerder:

Of zonder SW:

MyCADtools-link voor het proefhulpprogramma Batchconverter:

… Aanvullende reactie @sbadenis :grin:
Ik zorg voor de *.dxf en jij zorgt dan voor de nummering...?

1 like