See the top rated post in this thread. Click here

Page 5 of 6 FirstFirst 123456 LastLast
Results 41 to 50 of 51

Thread: What API should I learn?

  1. #41
    AUGI Addict
    Join Date
    2015-12
    Posts
    2,095
    Login to Give a bone
    0

    Default Re: What API should I learn?

    If you require custom-made objects, I believe you will be limited to C++. Don't forget to create object enablers for the rest of us when you do.

  2. #42
    Certifiable AUGI Addict
    Join Date
    2015-11
    Location
    Jo'burg SA
    Posts
    4,512
    Login to Give a bone
    0

    Default Re: What API should I learn?

    As to efficiency & speed, CAD Panacea's got a comparison of Lisp & VBA - see here: http://rkmcswain.blogspot.com/2007/1...s-vla-add.html

    As suggested by one of the comments I've modified the code to test entmod vs. vla-put-... (see attached). This contains modified versions of Test3 (for entmod) and Test5 (for vla-put-color). The reason given for Lisp's poor performance for modifications is that the entire list of entity data needs to be sent instead of just the changed property. This is true (in a way) since you'd generally get the data & then modify it. But strictly speaking it's not necessary to get all the data before you modify it. Instead you can create a data list with the entity name & the changing properties only.

    This is contained in Test3a which shows quite clearly that the entmod is very much in line with vla-put-....

    Now ... the test only goes as far as VLisp ActiveX extensions using the ActiveX code. I wonder how this'd perform directly in VBA. Another (not-so) strange phenomenon is that the (command ...) creation is extremely slow, but modification using (command ...) is in a class of it's own ... even when not using a selection set it's still faster. Here's the relevant test scores on my PC for 10000 lines:
    • Test2 (command ...) create = 8.219sec, then (command ...) modify using selection set 0.125sec.
    • Test2a (command ...) create = 6.938sec, then (command ...) modify using a list of entity names 1.354sec.
    • Test3 (entmake) = 0.594sec, (entmod) full set of data = 2.140sec.
    • Test3a (entmake) 0.603sec, (entmod) only relevant data = 1.704sec.
    • Test5 (vla-add...) = 1.828sec, (vla-put-...) = 1.734sec.
    I'd like to see this compared to direct VBA, .NET & C++. I'd imagine the VBA would work quicker than the vla interface shows. And then of course the C++ should be as optimal as it can get.
    Attached Files Attached Files

  3. #43
    Member
    Join Date
    2003-08
    Posts
    7
    Login to Give a bone
    0

    Default Re: What API should I learn?

    I have been a long time LiSP user, and I am starting to learn VBA. I have just heard about OpenDCL Studio from an AutoCAD University online class. The class said the VBA was going away so instead learn OpenDCL. Can anyone please let me know their opinion of this tool? It looks good to my untrained eye, I would love to hear what you have to say about it.
    Thanks,
    Mark

  4. #44
    Administrator Ed Jobe's Avatar
    Join Date
    2000-11
    Location
    Turlock, CA
    Posts
    6,396
    Login to Give a bone
    0

    Default Re: What API should I learn?

    Quote Originally Posted by mgore View Post
    I have been a long time LiSP user, and I am starting to learn VBA. I have just heard about OpenDCL Studio from an AutoCAD University online class. The class said the VBA was going away so instead learn OpenDCL. Can anyone please let me know their opinion of this tool? It looks good to my untrained eye, I would love to hear what you have to say about it.
    Thanks,
    Mark
    If you want to start learning VB, you can't do it with OpenDCL, its a lisp environment only. BTW, VBA is the IDE, VB is the language. acad 2010 does not shiip with vba, but you will be able to install is as a separate download. The language referred to as VB is Visual Basic ver 6. It has been depriacated by MS a couple of years ago. Adesk will still support VBA for some time, but all new development is being done in the .NET environment. You can get free Visual Studio Express for VB, C#. Go to msdn.microsoft.com to download and learn.
    C:> ED WORKING....

  5. #45
    Member
    Join Date
    2003-08
    Posts
    7
    Login to Give a bone
    0

    Default Re: What API should I learn?

    Hi Ed,
    I guess I should have been more specific. I have just heard about OpenDCL and since I'm already a LiSP user I thought it would be good to learn as well. I was just wondering if anyone else had good or bad things to say about it as I know nothing really about OpenDCL. The online class at Autodesk University sounded like VBA is going away, which is also discussed on this very topic. I understand that VBA is not going away for a while, but are there any opinions on learning OpenDCL? Would it be a waste of my time?
    Thanks,
    Mark

  6. #46
    AUGI Addict
    Join Date
    2015-12
    Posts
    2,095
    Login to Give a bone
    0

    Default Re: What API should I learn?

    If you have a lot of dialogs to support, I would say *provisionally* 'yes'. Like any third-party support program, if it goes away you could get hoisted by it.

  7. #47
    Administrator Ed Jobe's Avatar
    Join Date
    2000-11
    Location
    Turlock, CA
    Posts
    6,396
    Login to Give a bone
    0

    Default Re: What API should I learn?

    Quote Originally Posted by mgore View Post
    I understand that VBA is not going away for a while, but are there any opinions on learning OpenDCL? Would it be a waste of my time?
    Whether is is a waste of time is subjective and only you can answer that. I haven't used it, but I would say that it is probably better than coding in plain dcl. How many dialogs do you develop? On the other hand, I still rely on vba mostly because that's all I have access to at work. Am I wasting my time? If you look at it from the point of view that I could be using my time gaining experience with net, then yes. But if you look at it such that I'm remaining productive with the tools I have, then no.
    C:> ED WORKING....

  8. #48
    Member
    Join Date
    2003-08
    Posts
    7
    Login to Give a bone
    0

    Default Re: What API should I learn?

    Good enough. Thanks for the info.

    Mark

  9. #49
    Certifiable AUGI Addict
    Join Date
    2015-11
    Location
    Jo'burg SA
    Posts
    4,512
    Login to Give a bone
    0

    Default Re: What API should I learn?

    Quote Originally Posted by mgore View Post
    Hi Ed,
    I guess I should have been more specific. I have just heard about OpenDCL and since I'm already a LiSP user I thought it would be good to learn as well. I was just wondering if anyone else had good or bad things to say about it as I know nothing really about OpenDCL. The online class at Autodesk University sounded like VBA is going away, which is also discussed on this very topic. I understand that VBA is not going away for a while, but are there any opinions on learning OpenDCL? Would it be a waste of my time?
    Thanks,
    Mark
    As Ed's suggested ... it's all up to you and how much dialoging you want to perform. The OpenDCL works a lot like VBA'a dialogs in that an event occurs and it calls a function (this time a LISP function instead of a VBA method). So the main idea behind the 2 are similar. Learning either one would give you a general idea of how dialoging is done throughout any visual based programing platform (VB, C, C++, C#, Delphi, Java, etc.). You can see OpenDCL (or for that matter ObjectDCL) as the true "Visual" portion which has been left out of the "Visual" Lisp editor - which is no more than just an very enhanced text editor combined with debugger.

    If you want to learn in the languge that's going to be used in future, then any programming language which can compile .NET compatible DLL's can be used. That includes VB.NET, C#, Delphi, etc. You can even do it through Java (using either M$ Visual Studio's J++ or Borland JBuilder) if you install the AJAX interface for AutoCAD. The .NET is simply an interface to AutoCAD's objects, similar but more complete than the ActiveX interface.

    So the true question is: "What API do you feel comfortable with, and which can provide for all your requirements?"
    • Directly creating ARX's in C / C++ (using Visual Studio). Probably the most steep learning curve as you'd not just need to obtain the API libraries from ADesk, but also have to learn C. With some difficulty, you could import this API into something like Delphi (which IMHO is much simpler to learn than C and still produces comparable compiles - size & speed).
    • The .NET would provide most (if not all) the capabilities as if you're directly creating ARX's in C, and you could use a wide variety of languages (not just VB.NET / C#). Most of these come with preinstalled .NET functionality.
    • The OpenDCL / ObjectDCL would force you into LISP ... with all its restrictions. However there's not a lot of extras to learn if you're already proficient in LISP.
    • I'd steer clear of VBA due to the future discontinuation in ACad, and the even worse restrictions in the ActiveX interface. In which case you could even use Delphi here ... see these examples: http://www.caddzone.com/delphi/samples.htm ... but still they're also using the ActiveX interface, so ...
    So this may even make your desition more difficult. There's litteraly a plethora of languages to choose from. Those I've mentioned above are only the ones I've come into contact with. I still do most of my customizations in LISP (sometimes using OpenDCL). But, I tend to use Delphi more and more through the .NET interface (it had .NET capabilities since 2003), simply because I'm used to Delphi for other reasons (very good & easy networking / database capabilities & dialogs IMHO better than VB), not to mention its ease of portability to Linux through Kylix. There's even some free / open source IDE for Delphi (I use Lazarus), or even for VB.NET / C# (#Develop).

  10. #50
    Member
    Join Date
    2015-11
    Posts
    15
    Login to Give a bone
    0

    Smile Re: What API should I learn?

    Hello,

    I am using AutoCAD Electrical 2010 but I have not done any programming. I am trying to understand the circuit builder.xls which uses the API.

    Which programming language would someone recommend to a beginner?

    Please provide input.

    Barry H.

Page 5 of 6 FirstFirst 123456 LastLast

Similar Threads

  1. What API should I learn?
    By Ed Jobe in forum ARX
    Replies: 0
    Last Post: 2007-09-14, 03:39 PM
  2. What API should I learn?
    By Ed Jobe in forum Dot Net API
    Replies: 0
    Last Post: 2007-09-14, 03:35 PM
  3. What API should I learn?
    By Ed Jobe in forum AutoLISP
    Replies: 0
    Last Post: 2007-09-14, 03:33 PM
  4. How can learn ARX ?
    By trungkien123v in forum ARX
    Replies: 6
    Last Post: 2006-07-16, 01:11 AM
  5. What to learn?
    By madcadder in forum AutoLISP
    Replies: 2
    Last Post: 2005-05-22, 10:23 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •