Voorbeeld van DXF gemaakt in macro

Hallo 

 

Allereerst hoop ik dat ik in de juiste sectie ben en bied mijn excuses aan als dat niet het geval is, ik begin pas op het forum.

 

Mijn vraag is deze, ik heb een macro die mijn onderdeel in dxf-formaat opslaat op een locatie die ik in de macro opgeeft. 

So far so good, maar ik wil er nog iets aan toevoegen:

Ik zou graag willen dat we aan het einde van de uitvoering van deze macro een preview van de dxf hebben gemaakt.

Op dezelfde manier in feite als wanneer je je registreert als; .dxf etc. Door dit te doen hebben we een preview van de DXF gemaakt.

 

Voor het geval het nuttig zou kunnen zijn, zal ik mijn macro hieronder kopiëren:

Dit zou misschien ook gebruikt kunnen worden voor de integratie van de preview in de macro.

Als iemand een idee heeft, ben ik er helemaal voor. Hoe hard ik ook heb gezocht, ik kan niets vinden...

 


Sub hoofd()
    Dim swApp als SldWorks.SldWorks
    Dim swmodel als SldWorks.ModelDoc2
    Dim stPath als snaar
    Dim lgFile zo lang
    
    Dim sReference als tekenreeks
    Dim blretval als Booleaanse
    Dim fouten zo lang
    Dim waarschuwingen zo lang
    
    Stel swApp = Toepassing.SldWorks in
    'Het actieve document uitchecken 
    Stel swmodel = swApp.ActiveDoc in
    
    Zo niet, dan is Swmodel niets
       'Wij controleren of het dossier geregistreerd is
        Als swmodel. GetPathName = "" dan
            MsgBox "Sla uw document op", vbInformatie
            Einde
        Anders
            'We krijgen de locatie van het bestand
            stPath = swmodel. GetPathName (GetPathNaam)
            
            
            
            stPath = swmodel. GetPathName' haalt de weergavenaam van het huidige document op
            
          
            sReference = Mid(stPath, InStrRev(stPath, "\") + 1) 'Haalt alles op na de laatste \
            
        
            
            sReference = Left(sReference, Len(sReference) - 7) 'De 6 tekens die overeenkomen met de bestandsextensie en de .
            
       
            
            
            stPath = Left(stPath, InStrRev(stPath, "\")) 'Haalt pad op zonder bestandsnaam
  
            
            'We krijgen het aantal tekens tot . van de extensie
            'lgFile = InStrRev(stPath, ".", -1, vbTextCompare) - 1
            'We herstellen het pad zonder de uitbreiding
           ' Als lgFile > 0 Dan
                 ' stPath = Links(stPath, lgFile)
           ' Einde als
        Einde als
        
        
       
        
        
        "Indien het document een document is
        Als swmodel. GetType = swDocPART Dan
           Wij creëren de ontwikkelde
            blretval = swmodel. ExportFlatPatternView("C:\Users\Stage-02\Desktop\DXF\" & sReference & ". DXF", 1)
            De DXF werd opgericht
            blretval = swmodel. SaveAs3(sReference & ". DXF", 0, 0)
            
            'Als het document een tekening is
        ElseIf swmodel. GetType = swDocDRAWING dan
            De DXF werd opgericht
            blretval = swmodel. SaveAs3(sReference & "_drw. DXF", 0, 0)
        Einde als
    
        'We slaan het bestand op
        blretval = swmodel. Opslaan3(0, 0, 0)
   
    Einde als

Einde Sub
 

1 like

Hallo

Ik denk niet dat een preview haalbaar is.

Ik heb een macro gemaakt die door een tekening gaat om een DXF van de ontvouwing te genereren waarmee je het even kunt visualiseren.

Hier is de tutorial in kwestie:

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

Als je vragen hebt, aarzel dan niet.

Hallo

A priori is het niet mogelijk, maar u kunt het DXF-bestand openen in SolidWorks of in Windows als een ander programma gepland is om ze te openen.

Edit: Als je een van de instructies nodig hebt, vertel me dan welke en ik geef je de code.

4 likes

Hallo PL

Als je inderdaad de code hebt om het in solidworks te openen, zodat ik het aan het einde van mijn macro kan integreren, ja, het zou me kunnen interesseren 

 

Bij voorbaat dank

Hallo allemaal ! Ik heb al verschillende keren geprobeerd deze missie  uit te voeren, maar het blijft onmogelijk. Ik heb al naar verschillende tutorials gezocht, maar het is tevergeefs.