Spoke at Autodesk University for the first time this year. My class title was 'There and Back Again: From AutoLISP® to VBA to .NET'
Class description:
This class uses examples to demonstrate how to rewrite existing programs written in AutoLISP or VBA/COM into VB.NET or C#. The lecture will illustrate how to cross-reference functions for AutoLISP and VBA/COM functions with .NET methods and properties. The class handout and lecture will also contain sample code for exposing .NET to VBA/COM and AutoLISP.
What I did was to create a powerpoint which I took clips from code in all three environments and tried to illustrate common similarities and differences.
About public speaking, listening to the screencast that was recorded during my session showed me several things that I did poorly and what I should do if I am able to secure another lecture in the future. Never realized how often I pause with 'uhhh' and 'ummm' to gather my thoughts and also change subject mid-sentence or drop the last part of a sentence...Needed to practice.
I believe if I had a take back, I would have done more practice working on the speaking part itself and less work on the content and powerpoint...
I did enjoy doing the lecture and did receive a few complements from people who attended, but I am sure I left several attendees of my class not fully satisfied.
I did notice a few issues with what I said and a couple errors in my documents that I will correct in this blog over the next several posts.
As for AU, it was a good experience, it is enjoyable to talk with people with similar interests and problems. The classes that I had signed up for were a bit too basic, but that is my fault, I need to be more selective in picking my sessions in the future.
Oh and future plans with this BLOG is to write about topics I find interesting in doing .NET code for AutoCAD and Inventor...
Thursday, December 6, 2007
LispFunction Question
When discussing the ‘LispFunction’ attribute, I was asked if this was of a type defun or defun-q,which I did not have the answer…
Results of checking on this:
(defun x () (…do something….) (princ)) or (defun c:x ()(…do something….) (princ)) returns type SUBR
(defun-q x () (…do something….) (princ)) or (defun c:x ()(…do something….) (princ)) returns type LISTor in some cases the type of the final return value of the function depending on how the function is defined…
Loading (with NetLoad) the LispFunction sample ‘getentity’ returns type EXRXSUBR which is an ObjectArx function…
Loading (with NetLoad) the LispFunction sample ‘HelloWorld’ returns type EXRXSUBR which is an ObjectArx function…
Return Types…

Results of checking on this:
(defun x () (…do something….) (princ)) or (defun c:x ()(…do something….) (princ)) returns type SUBR
(defun-q x () (…do something….) (princ)) or (defun c:x ()(…do something….) (princ)) returns type LISTor in some cases the type of the final return value of the function depending on how the function is defined…
Loading (with NetLoad) the LispFunction sample ‘getentity’ returns type EXRXSUBR which is an ObjectArx function…
Loading (with NetLoad) the LispFunction sample ‘HelloWorld’ returns type EXRXSUBR which is an ObjectArx function…
Return Types…

So I believe the best answer to that question is neither, that it acts like a loaded ObjectARX function…
Subscribe to:
Posts (Atom)
