I would like to see the DotNet support interaction with Visual Lisp. It would make the transition a go little easier for us lispers
Daniel
![]() |
|
![]() |
|
![]() |
|
![]() |
I would like to see the DotNet support interaction with Visual Lisp. It would make the transition a go little easier for us lispers
Daniel
I think I would rather see autocad support .NET fully. Maybe even VBA.NET?
Visual Studio Tools for Applications is the .NET equivalent of VBA and provides both VB & C# syntax. Personally I think if lispers want to use the .NET API they should learn VB or C#. I think Autodesk should focus effort on improving the .NET API and developing comprehensive documentation independent of the ObjectARX documentation.Originally Posted by scottden
Regards - Nathan
Let me clarify, I think the .NET API should be able to interact with visual lisp the way ObjectARX can. I.e. like acedDefun() calls. If I can build one function at a time using C#, it would make porting lisp applications much easier.
Should be no reason anymore for not having this. .NET is even already available in CommonLisp (although the extension won't work as-is in AutoLisp). See this (http://www.weitz.de/rdnzl/).
Unfortunately AutoLisp is quite far removed from CommonLisp after 20+ years of seperate development. Not to mention that ADesk only used a portion of LISP to begin with when they created their ALisp interpreter.
But as can shown by this extension, it should not be that difficult to implement even in ALisp / VLisp. Basically just a form of interface to the .NET libraries. Very much the same as the VLisp's vlax mehods which interface with the COM / ActiveX libraries.
Admittedly, .NET & RDNZL are both a bit over my head, but I would like very much to learn (and have access to) .NET for my work. I am presently relegated to using VLIDE.
Can you (or someone else?) clarify if RDNZL provides the capability to manipulate the SSM / .DST?
I have been wanting to do this for a very long time using Visual LISP, and have been informed that only .NET has this capability. If RDNZL is unable, then I might try adding Visual LISP support for SSM / .DST to the API Wish List!?
Any feedback would be greatly appreciated.![]()
"How we think determines what we do, and what we do determines what we get."
Sincpac C3D ~ Autodesk Exchange Apps
Computer Specs:
Dell Precision 3660, Core i9-12900K 5.2GHz, 64GB DDR5 RAM, PCIe 4.0 M.2 SSD (RAID 0), 16GB NVIDIA RTX A4000
Unfortunately the biggest problem is due to AutoLisp not evolving as the other branches of Lisp has. It was originally taken from XLisp in the mid 80's and has not grown (in Lisp terms) at all. E.g. it has no object orientation as Common Lisp has; no way of defining optional arguments to a function; ratio / complex / vector / structure / hash table / class data types aren't included; many standard functions aren't available (e.g. floor, ceiling, round); etc. Never mind added library access like DotNet (or even direct ObjectARX) ... the only thing ADesk deemed important enough was ActiveX, but only because someone else already did it for them: when Vital Lisp added these in the 90's, ADesk purchased it and renamed it to Visual Lisp.
What I'd suggest to ADesk is to upgrade the AutoLisp / VisualLisp interpreter to match something like Common Lisp / Scheme. That way the old LSP files should still work, but the AutoLisp fraternity would have a huge extra feature set in a language which they're quite familiar with already.
I've bitten the bullet myself and started some stuff in VB.Net. It's a bit hard to get round at first, and (no matter what anyone tells you) DotNet is not as "simple" to use as AutoLisp (or even VBA) was. You have to create several extra stuff just to do the simplest of tasks. A lot can be done automatically through the VB.Net AutoCAD wizards, but you still need to know exactly where and what to add / remove / modify. The learning curve is a bit steep but the benefits are huge.
BTW, there are others who actually want a different language completely. E.g. PyAcad (Python-AutoCAD) is an extension to include a Python interpreter in AutoCAD / IntelliCAD. Such ideas could make it even simpler for the non-programmer to start customizing their ACad, since there are languages which are a lot less steep to learn, e.g. Compare the following:
C code:Lisp code:Code:void foo (int x) { if (x == 0) { printf ("\nThe value is Zero"); } else { printf ("\nThe value is "); printf (x); } }Python code:Code:(defun foo (x) (if (= x 0) (print "The value is Zero") (progn (print "The value is ") (princ x) ) ) )Pascal code:Code:def foo (x) : if x == 0 : print "\nThe value is Zero" else : print "\nThe value is " print xWhich looks the least cryptic to you?Code:procedure foo (x : Integer); begin if (x = 0) then writeln ('The value is Zero') else writeln ('The value is ', x); end;
A full "dot-NETting" of LSP may have been deemed a waste of time given the new Mac OS port. We can always hope they are working on upgrading the VLISP editor with both systems in mind *without* messing things up too badly.
Thanks for the info Irneb!
*Many* of the "New Features" for AutoCAD (specifically those pertaining to 3D modeling) were culled from Maya (i.e., view cube, prospector, etc.).
Sidebar... I have screen shots of Maya in the early 2000's of the View cube, etc. before AutoCAD ever purchased Maya. lol. What AutoCAD *needs* to cull next from Maya is the "Hot Box!" (Yes, that's an actual feature) ... Alas, I digress.
Back on topic... Interestingly, Maya has (for a long time) had Python support, along with MEL. I wouldn't be surprised if the Python interpreter was available in the near future (to Win OS), *especially* as AutoCAD is now making (short?) strides toward supporting an OS X platform.
Beta testing AutoCAD for Mac, AutoCAD supports LISP, but had no VLIDE which I found to be ridiculous. In contrast, I understand the need for a third party app for .NET development (i.e., Visual Studio), but for LISP!? Autodesk really fell flat in my opinion.
"How we think determines what we do, and what we do determines what we get."
Sincpac C3D ~ Autodesk Exchange Apps
Computer Specs:
Dell Precision 3660, Core i9-12900K 5.2GHz, 64GB DDR5 RAM, PCIe 4.0 M.2 SSD (RAID 0), 16GB NVIDIA RTX A4000
I wouldn't mind using Python myself, with the following caveats:
Now here's a "biggie"
- There needs to be some way of interacting directly with existing LSP files and PY files - so not everything needs to be rewritten in PY.
- Alternatively there must be a translator from LSP to PY (similar to C# and VB.Net) which has no hangups whatsoever.
- We'll need an integrated PYIDE same (if not better) than VLIDE. You're correct, I'd hate to debug a LSP without VLIDE ... same would go for PY (or whatever else). Fortunately there are ways to setup ACad to have the debugging work properly in VB.Net / C#.
. Since the Mac version, what's happening to DotNet? I thought it was only on M$ operating systems? Sorry, you tested this - I've yet to have the pleasure.