Hallo allemaal!
Via een Excel macro open ik een aantal onderdelen in SolidWorks. Ik zou graag een macro willen maken waarmee je het plan van het eerste actieve document kunt openen, het als PDF kunt opslaan, het plan kunt sluiten, het deel in STEP kunt opslaan en vervolgens de kamer kunt sluiten en naar de volgende kamer kunt gaan.
Ik ben net begonnen in de wereld van macro's, dus ik kijk naar alles wat er wordt gedaan en ik heb het rechts en links opgepakt.
Een plan opslaan in RWZI:
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Sub main()
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
swModel.Extension.SaveAs Left(swModel.GetPathName, InStrRev(swModel.GetPathName, ".")) & "STEP", 0, 0, Nothing, 0, 0
swApp.CloseDoc Path
End Sub
Een plan opslaan in RWZI:
Dim swApp As Object
Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Dim FeatureData As Object
Dim Feature As Object
Dim Component As Object
Sub main()
Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
Path = Part.GetPathName 'chemin du fichier
Part.SaveAs2 Left(Path, (Len(Path) - 6)) & "PDF", 0, True, False 'Sauvegarde au format PDF
Set Part = Nothing
swApp.CloseDoc Path
End Sub
De problemen die ik heb zijn de volgende:
- Ik kan geen regel code vinden waarmee ik het plan van het actieve document (dat nog steeds een kamer is) kan openen. Ik heb geprobeerd deze regel te maken met de SoildWorks-macrorecorder en met de rechtermuisknop te klikken / de weddenschap op het blalba-gedeelte te openen. SLDPRT in plan, maar het bespaart me als een regel code de opening van het plan bla bla. SLDDRW en niet de opening van het plan van het actieve document.
- En mijn tweede probleem is het maken van een lus. Ik heb de structuur van mijn lus gevonden:
Sub boucle_while()
While ?????????????? 'TANT QUE un document est actif
Wend
End Sub
Maar ik weet niet hoe ik hem moet vragen om te controleren of er inderdaad een actief document is!
Ik denk dat ik niet ver van het ding verwijderd ben, je hoeft alleen maar de staat te controleren, te vinden hoe je het plan kunt openen...
Bedankt aan degenen die de tijd nemen om mijn probleem te bekijken =)!