Aperçu du DXF créé dans macro

Bonjour, 

 

Tout d'abord j'éspère être dans la bonne section et m'en excuse si ce n'est pas le cas, je débute seulement sur le forum.

 

Ma question est la suivante, je possède une macro qui enregistre ma pièce en format dxf dans un emplacement que je spécifie dans la macro. 

Jusque là tout vas bien, mais j'aimerais y ajouter un petit plus:

Je voudrais qu'à la fin de l'execution de cette macro on ai un aperçu du dxf créé.

De la même manière en fait que lorsque l'on fait enregistrer sous ; .dxf etc.. En faisant cette manip nous avons un aperçut du DXF créé.

 

Au cas où cela pourrait servir, je vous met ci-dessous ma macro en copie:

Cela pourrait peut-être aussi servir pour l'intégration de l'aperçut dans la macro.

Si quelq'un aurait une idée, je suis preneur. J'ai eu beau cherché je n'arrive rien à trouver...

 


Sub main()
    Dim swApp As SldWorks.SldWorks
    Dim swmodel As SldWorks.ModelDoc2
    Dim stPath As String
    Dim lgFichier As Long
    
    Dim sReference As String
    Dim blretval As Boolean
    Dim Errors As Long
    Dim Warnings As Long
    
    Set swApp = Application.SldWorks
    'récup du 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 ", vbInformation
            End
        Else
            'on récupére l'emplacement du fichier
            stPath = swmodel.GetPathName
            
            
            
            stPath = swmodel.GetPathName 'recupere le nom complet du document actif
            
          
            sReference = Mid(stPath, InStrRev(stPath, "\") + 1) 'Récupère tout ce qui se situe après le dernier \
            
        
            
            sReference = Left(sReference, Len(sReference) - 7) 'Suppression des 6 caractères correspondant à l'extension de fichier et du .
            
       
            
            
            stPath = Left(stPath, InStrRev(stPath, "\")) 'Récupère le chemin sans le nom de fichier
  
            
            '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éveloppé
            blretval = swmodel.ExportFlatPatternView("C:\Users\Stage-02\Desktop\DXF\" & sReference & ".DXF", 1)
            'on créer le DXF
            blretval = swmodel.SaveAs3(sReference & ".DXF", 0, 0)
            
            'si le document est une mise en plan
        ElseIf swmodel.GetType = swDocDRAWING Then
            'on créer le DXF
            blretval = swmodel.SaveAs3(sReference & "_drw.DXF", 0, 0)
        End If
    
        'on sauvegarde le fichier
        blretval = swmodel.Save3(0, 0, 0)
   
    End If

End Sub
 

1 « J'aime »

Bonjour,

Je ne pence pas qu'un aperçus soit réalisable.

j'ai céer une macro qui passe par une mise en plan affin de générer un dxf du déplier ce qui permet de le visualiser un petit instant.

voici le tuto en question :

http://www.lynkoa.com/tutos/3d/macro-d-export-deplie-de-piece-en-dxf

si tu as des questions n'hesite pas.

Bonjour,

A priori ça n'est pas possible, mais on peut soit ouvrir le fichier DXF dans SolidWorks soit dans Windows si un autre programme est prévu pour les ouvrir.

Edit : Si vous avez besoin de l'une ou l'autre des instructions, merci de me dire laquelle et je vous donne le code.

4 « J'aime »

Bonjour PL

Si effectivement vous auriez le code pour l'ouvrir dans solidworks pour que je puisse l'intégrer à la fin de ma macro oui cela pourrait m'interesser 

 

D'avance merci

Bonjour à tous ! j’ai déjà tenter d’effectuer cette mission  à plusieurs reprises mais elle reste impossible. J’ai déjà cherché différents tutoriels mais ça reste vaine.