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