Hoe sla ik een solidworks-onderdeel op via een Excel-macro?

Hoi allemaal 

Ik ben een thesis student aan de ICAM in Lille en ik werk aan Solidworks. Ik gebruik onderdeelfamilies voor deurassemblages en ter vereenvoudiging wil ik graag een Excel-macro gebruiken. Dit laatste zou het mogelijk moeten maken om Excel-bestanden met betrekking tot Solidworks-onderdelen en -samenstellingen op te slaan en onderdelen en samenstellingen op Solidworks te registreren (wat vandaag een probleem voor mij is).

Om uit te leggen hoe ik te werk ben gegaan, volgt hier een verklarend diagram.

 

Ik kijk ernaar uit je te lezen.

Vriendelijke groeten
Arnaud Duhame


explication.pdf

Hallo

Ik ga je slechts gedeeltelijk antwoorden, maar je zou in staat moeten zijn om referenties voor SolidWorks toe te voegen in de referenties (Tools -> References).

  Tip: "SOLIDWORKS 2016 Commands type library / SOLIDWORKS 2016 Constant type library", enz.

En er dan aan werken.
Dit is dezelfde manier waarop ik acties op de kluis uit Excel uitvoer (aan de andere kant heb ik niet getest met SolidWorks, dus ik weet helemaal niet of wat ik zeg haalbaar is).

KVuilleumier.

Nou, ik had weinig hoop, maar na een paar pogingen lukte het.

 

Dim swApp als SldWorks.SldWorks

Sub TestSW()
    Stel swApp = Nieuwe SldWorks.SldWorks in
    swApp.SendMsgToUser "Hoi"
   
    swApp.NewPart

Einde Sub

 

Deze macro (uitgevoerd vanuit Excel) stuurt me het bericht "Hi" en opent een nieuw 3D-document.

Hier zijn de referenties om toe te voegen:

  - SldWorks 2016 Type Bibliotheek
  - SolidWorks 2016 Bibliotheek met gevoeligheidstypen
  - SOLIDWORKS Utilities 2015 Type Bibliotheek
  - SOLIDWORKS 2016 Bibliotheek met constant type
  - SOLIDWORKS 2016 Commando's type bibliotheek

 

Edit: Heb je nog iets anders nodig?

Hallo KVuileumier,

Bedankt voor je antwoord, ik heb de referenties voor solidworks gecontroleerd en ik had ze geactiveerd.

Om solidworks-bestanden te openen, gebruik ik deze macro (uit Excel):

Sub Macro1()

Software dimmen als tekenreeks
Bestand dimmen als tekenreeks
Dim ToLaunch
Dim RetVal


Software = """C:\Program Files\SOLIDWORKS Corp\SOLIDWORKS\SLDWORKS.exe"""

Bestand2 = """C:\Gebruikers\MSI\Desktop\test\ronde. SLDPRT"""

ToLaunch2 = Software & " " & Bestand2
RetVal = Shell(ToLaunch2, 1)
Einde Sub

Mijn probleem is vooral hoe ik dit geopende bestand kan opslaan?

Bedankt voor je hulp

Vriendelijke groeten

Arnaud

Laten we ons voorstellen dat het het actieve bestand is dat we willen opslaan, we zouden een manipulatie als deze moeten uitvoeren:

 

In variabele definities:

Dim swModel als SldWorks.ModelDoc2

 

In de functie (Voor zover swApp is gedefinieerd, zie mijn vorige antwoord indien nodig):

Stel swModel = swApp.ActiveDoc in

swModel.Save3 swSaveAsOptions_Silent, 0, 0

 

Heb je nog iets anders nodig? Of begrijp je iets niet?
KVuilleumier

Helaas heb ik de indruk dat ik het niet begrijp. Ik voeg de gewijzigde macro toe aan uw voorstellen, evenals het orderbestand en het solidworks-gedeelte.

Bij voorbaat dank voor uw hulp.

 

Vriendelijke groeten

Arnaud Duhamel

 

 


teste.zip