Twee werelden, één doel
Als je taken wilt automatiseren in AutoCAD heb je in grote lijnen twee opties: AutoLISP (en het modernere Visual LISP) of een C# .NET add-in. Beide kunnen krachtige dingen, maar ze zijn gebouwd voor andere situaties.
In dit artikel vergelijken we de twee aanpakken op zes criteria zodat je de juiste keuze kunt maken voor jouw project.
1. Leercurve en toegankelijkheid
AutoLISP is laagdrempelig. De syntax is compact en je kunt scripts direct in de AutoCAD commandoregel testen. Een werkend script van 10 regels schrijf je in een kwartier.
C# vereist meer voorkennis: objectgeoriënteerd programmeren, Visual Studio, .NET Framework of .NET Core, en begrip van de AutoCAD API-structuur. De opstartkosten zijn hoger, maar de structuur helpt je bij grotere projecten.
Keuze: Begin je met automatiseren of heb je een kleine taak? AutoLISP. Heb je programmeerervaring en wil je iets bouwen dat langer meegaat? C#.
2. Mogelijkheden en API-toegang
AutoLISP geeft je toegang tot de meeste AutoCAD-functionaliteit via ActiveX (AutoCAD COM API). Je kunt tekeningen aanmaken, entiteiten bewerken, en commando's aanroepen. Maar sommige nieuwere API's zijn alleen beschikbaar via .NET.
C# via de .NET API geeft je de volledige AutoCAD .NET API, inclusief:
- Directe database-toegang (entiteiten, lagen, blokken)
- Eigen WPF/WinForms dialoogvensters
- Koppeling met externe systemen (databases, REST API's, Excel)
- Multithreading voor zware berekeningen
- Toegang tot nieuwste API's die niet via COM beschikbaar zijn
Keuze: Heb je geavanceerde UI nodig, externe koppelingen, of toegang tot specifieke .NET-only API's? Kies C#.
3. Distributie en installatie
AutoLISP-bestanden (.lsp, .fas, .vlx) zijn eenvoudig te distribueren: kopieer het bestand en laad het met APPLOAD of zet het in de zoekmap van AutoCAD. Geen installatieprocedure nodig.
C# add-ins moeten als DLL verspreid worden, eventueel via een bundle-structuur. Op computers zonder .NET runtime kan dit extra stappen vereisen. Maar met een installer is het ook goed te beheren.
Keuze: Wil je iets snel delen met collega's of klanten zonder installatiegedoe? AutoLISP. Wil je een professioneel product bouwen met een installer? C#.
4. Dialoogvensters en gebruikersinterface
AutoLISP heeft DCL (Dialog Control Language) voor eenvoudige dialoogvensters. DCL is beperkt: geen moderne controls, geen databinding, en de stijl is gedateerd.
C# laat je volledige WPF- of WinForms-vensters bouwen. Denk aan een professioneel formulier met tabbladen, validatie, live preview, en een look die past bij moderne Windows-applicaties.
Keuze: Heb je een professioneel uitziend dialoogvenster nodig? C# wint hier duidelijk.
5. Debuggen en onderhoud
AutoLISP debuggen doe je met de Visual LISP IDE (in AutoCAD ingebouwd) of met print-statements. Het is functioneel maar beperkt.
C# debuggen gaat via Visual Studio: volledige breakpoints, watch-variabelen, call stacks, en stap-voor-stap uitvoering. Bij grotere projecten is dit een enorm voordeel.
Keuze: Voor serieuze projecten is C# + Visual Studio debuggen een stuk prettiger.
6. Performance
Voor eenvoudige taken is het verschil verwaarloosbaar. Bij grote tekeningen of complexe berekeningen (duizenden entiteiten, zware berekeningen) is C# significant sneller doordat het gecompileerd wordt naar native code en directe database-toegang heeft via de ObjectARX-laag.
Wanneer dus wat?
Gebruik AutoLISP als:
- Je een snelle éénmalige taak wilt automatiseren
- Je collega's het script zelf moeten kunnen aanpassen
- Er geen installatieproces mogelijk is
- Je geen C#-ervaring hebt en de leercurve te groot is voor de taak
Gebruik C# add-in als:
- Je een tool bouwt die lang meegaat en onderhouden wordt
- Je een professionele UI nodig hebt
- Je koppeling nodig hebt met databases, ERP-systemen of REST API's
- Performance een factor is
- Je het product wilt distribueren als installer
Conclusie
Er is geen absolute winnaar. AutoLISP en C# vullen elkaar aan: gebruik AutoLISP voor snelle scripts en C# voor serieuze tools. Veel professionele CAD-omgevingen gebruiken beide: AutoLISP voor ad-hoc automatisering op de werkvloer en C# add-ins voor de centrale toolset.
Comments
No comments yet — be the first!
Leave a comment
Sign in to skip moderation — anonymous comments are reviewed before appearing.