Programmatie SolidWorks, Vba, .NET, API

Hallo gemeenschap,

Zoals aangegeven in mijn vraag, zou ik graag willen kijken naar SolidWorks programmeren om een van mijn CAD-projecten te automatiseren.
Maar het probleem is dat ik verdwaal in de oceaan van informatie op internet.
Dit is waarom ik me tot jou wend voor verlichting:

- Ik heb al geprogrammeerd onder Catia met de Vba-taal, is het hetzelfde principe en dezelfde taal onder SW?
- Ik vind heel weinig tutorials en uitleg over SW-macro's, maar ik heb veel reacties gelezen die zeggen dat je moet beginnen met programmeren in Excel en vervolgens je vaardigheden in een andere software moet toepassen, wat denk je? Want er is inderdaad meer hulp op Excel.
- Ik heb ook geprobeerd boeken of cursussen op internet te vinden, maar zonder geweldige resultaten.
- Ik heb ook vaak de SolidWorks API: Application Programming Interface gelezen, wat is het? Alleen de omgeving waarin je de code typt?
- Ik heb ook gehoord van de .NET taal, wat is het? Is het interessant om te weten?

Sorry voor deze veelheid aan vragen, maar ik denk dat macro's nu een integraal onderdeel zijn van CAD en ik zou er graag vertrouwd mee willen raken.

Leuke dag.

1 like

Hallo

Ik zal proberen uw vragen duidelijk te beantwoorden:

Vba staat voor Visual Basic voor Application. Het is een vrij eenvoudige en eenvoudige taal waarvan de basis identiek is voor elke toepassing. Er wordt echter een applicatiespecifieke bibliotheek (dll) geladen. Dus ja, het is dezelfde taal als Catia, maar het zijn niet dezelfde objecten.

Beginnen met Excel om de basis van de taal te begrijpen kan nuttig zijn, maar je leert niets over Solidworks-objecten (API's). Als je de basis hebt (kennis van OOP, soorten variabelen, ...) raad ik je niet aan om via Excel te gaan om de SW API's te leren.

Afgezien van de hulp van de SW- en Google-API's is er heel weinig informatie. Omdat SW een specifieke software is (hoewel het door een groot aantal mensen wordt gebruikt), wordt het minder gebruikt dan bijvoorbeeld Excel. Om zoveel mogelijk informatie over een SW-functie te vinden, typt u wat u in het Engels wilt doen op Google door aan het einde Solidworks API toe te voegen.

De .Net-taal is een rijke taal voor het maken van complete applicaties. Het kan worden gebruikt om macro's te maken, maar op een manier die buiten SW ligt. Nogmaals, als je geen SW-objecten kent, raad ik het niet aan om het te gebruiken.

Het voordeel van de SW macro editor is dat als je F1 doet op een object, je de help op dat object opent. Hierdoor kun je vrij snel leren.

Ik hoop dat ik je heb geholpen of in ieder geval je vragen heb beantwoord.

Vriendelijke groeten.

4 likes

Hoi

VBA is een programmeertaal voor applicaties: http://didier-gonard.developpez.com/tutoriels/office/vba-qu-est-que-c-est/

Wat het SW-gedeelte betreft: http://help.solidworks.com/2016/english/api/sldworksapiprogguide/Welcome.htm

Ten tweede maakt .net het mogelijk om applicaties te maken die onafhankelijk zijn van native applicaties. Het is veel krachtiger dan VBA. Bovendien staat het op SW het gebruik van de Document Manager-API toe.

Deze API is vooral interessant omdat je hiermee toegang hebt tot de informatie in SW-bestanden zonder ze te openen. U kunt bijvoorbeeld de eigenschappen van een assembly van enkele honderden MB in een paar seconden lezen en bewerken. Dit is de methode die wordt gebruikt door MyCadTools-toepassingen zoals SmartBom...

 

Fijne dag ook. :-)

4 likes

Heel erg bedankt allebei, jullie antwoorden zijn heel duidelijk!

Het is jammer dat we geen twee "Beste antwoorden" kunnen kiezen...

@industrialcadservices bedankt voor je antwoord, ik zal even op internet kijken om er zeker van te zijn dat ik Vb beheers en vervolgens leer om SW-objecten te gebruiken. Bedankt voor de bespaarde tijd! Bedankt voor de manier van zoeken op internet!

@remrem bedankt voor de links, de eerste stelt me in staat om de basis te bekijken.

1 like

Hallo

Ik ben het eens met de andere antwoorden met de toevoeging van de vraag "Wat wil ik doen en hoe ver?". Als het gaat om het maken van SW-macro's dan is VBA waarschijnlijk voldoende, maar als het doel is om verder te gaan op het gebied van programmeren en onafhankelijke programma's te schrijven om bijvoorbeeld SW of Epdm aan te sturen, dan kan het interessant zijn om over te stappen op een iets completere taal zoals VB.net of C# (http://www.lesjeudis.com/article/cb-657-c)

Van mijn kant koos ik voor C#, een taal die ik minder "langdradig" vind dan VB.net en die ik zelf heb geleerd met behulp van de https://openclassrooms.com/ site die ik erg goed gedaan vind en waarover je uitstekende cursussen of tutorials kunt vinden. Ik gebruik EDI http://www.icsharpcode.net/OpenSource/SD/Default.aspx om mijn programma's te schrijven.

Vriendelijke groeten

1 like