Why every AutoCAD CAD Manager should have a copy of BricsCAD – part 5, LISP

Why every AutoCAD CAD Manager should have a copy of BricsCAD – part 5, LISP

This is the fifth post in this series where I explain why this statement holds true:

As a CAD Manager looking after AutoCAD users, or a power user looking after yourself, it’s worth your while to have a copy of BricsCAD handy.

This post is about BricsCAD being better than AutoCAD at the one thing that made AutoCAD win the race against its competitors back in the 80s – LISP. That is, AutoLISP (added fully to AutoCAD in Version 2.18) and Visual LISP (fully integrated with AutoCAD 2000).

If you’re a good AutoCAD CAD Manager, you’ll already know the reasons LISP is an extremely important tool, so I won’t cover them here. I may explain those reasons in a later post, but that would distract us from the main point. Why is having a copy of BricsCAD useful to a CAD Manager?

  • BLADE. I’ve covered the BricsCAD LISP Advanced Development Environment in various posts already, and I intend to go into greater detail in future posts. There are enough advantages over VLIDE to warrant an entire series of posts. This is simply the biggest advance for CAD LISP in 20 years; if you’re doing any reasonably complex development in LISP and you’re not BLADE, you’re wasting time and money.
  • Performance. Because BricsCAD’s LISP engine is much more modern than AutoCAD’s, the performance is much greater. In my experience, it’s about three times as fast. Some function calls are as much as 30 times as fast. If you have a user who’s complaining that your routine is taking an age to process in AutoCAD, try it in BricsCAD instead. I once saved a user half an hour in processing time for one polyline by using BricsCAD. Another aspect that will benefit you when programming and testing is BricsCAD’s generally superior performance. Got nothing running and want to get programming in the next 5 seconds? Fire up BricsCAD. Want to do a complex process on a big drawing that makes AutoCAD run out of RAM? Try it in BricsCAD.
  • Licensing. While you’re developing in BricsCAD, you’re not using up an expensive AutoCAD license. You’re using a cheaper (or even free, while you’re evaluating it) BricsCAD license. Also, it’s a perpetual license so if you ever stop paying, you can keep developing as long as you like. Oh, and it’s not going to flake out on you on those days where Autodesk’s subscription licensing server has a meltdown.
  • Extra functionality. BricsCAD’s LISP has the AutoLISP and Visual LISP functions and then some. Some of the DOSLib functions are available without even needing DOSLib, but if you need the full set of DOSLib functions they can be loaded, as per AutoCAD. A range of extended functions are available with the vle- prefix, and the LISP Developer Support Package documents these and provides the source code so you can also use them in AutoCAD.
  • Platform independence. AutoCAD for Mac has severely restricted LISP capabilities, making it unsuitable for use in a professional, efficient custom environment. BricsCAD for Mac and BricsCAD for Linux both provide practically identical functionality to the Windows version. Yes, BricsCAD for Mac really is significantly more AutoCAD-compatible than AutoCAD for Mac.

I do my LISP development in BricsCAD these days, and can attest that it’s well worth the investment in time to get the hang of BLADE.

It will cost you a few minutes to download and install of an evaluation BricsCAD and check out the LISP situation for yourself.

Edit: it’s not just LISP. See James Maeding’s comment below about .NET, too.

5 Comments

  1. James Maeding

    For those that want to program in .net, Bricscad is actually better than acad as it starts so fast. You can do the same code as for acad, you just use a compile time variable and switch the references, like:
    ////AutoCad Usings
    #if ACAD
    using Autodesk.AutoCAD.Runtime;
    using Autodesk.AutoCAD.ApplicationServices;
    using AcAp = Autodesk.AutoCAD.ApplicationServices.Application;
    using AcDoc = Autodesk.AutoCAD.ApplicationServices.Document;
    using Autodesk.AutoCAD.EditorInput;
    using AcEd = Autodesk.AutoCAD.EditorInput;
    using Autodesk.AutoCAD.DatabaseServices;
    using AcDb = Autodesk.AutoCAD.DatabaseServices;
    using Autodesk.AutoCAD.Geometry;
    using AcGe = Autodesk.AutoCAD.Geometry;
    using AcCo = Autodesk.AutoCAD.Colors;
    using Autodesk.AutoCAD.Windows;
    using AcWn = Autodesk.AutoCAD.Windows;
    using Autodesk.AutoCAD.GraphicsInterface;
    using Autodesk.AutoCAD.Interop.Common;
    #endif
    #if BCAD
    using Teigha.DatabaseServices;
    using Bricscad;
    //using Bricscad.Global;
    using AcDb = Teigha.DatabaseServices;
    using Bricscad.EditorInput;
    using AcEd = Bricscad.EditorInput;
    using Teigha.Geometry;
    using AcGe = Teigha.Geometry;
    using AcCo = Teigha.Colors;
    using Teigha.Runtime;
    using Teigha.GraphicsInterface;
    using Bricscad.Runtime;
    using Bricscad.ApplicationServices;
    using AcAp = Bricscad.ApplicationServices.Application;
    using AcDoc = Bricscad.ApplicationServices.Document;
    using Bricscad.Windows;
    using AcWn = Bricscad.Windows;
    using BricscadApp;
    using BricscadDb;
    #endif

    Maybe off topic some, but if you care about lisp, you likely are thinking of .net also.

  2. Fabien

    I’m using BCAD Pro since a few months, and been watching your reports about BLADE. I make LISP routines with EvilCAD since 2002, but never used VLIDE, which seemed clumsy to me, and stayed with Notepad++, which I use for my other programming works (mainly PHP/JS these days). Is there some kind of “getting started” page or video somewhere for BLADE ? (yeah, I’m playing Glenn, here, admittedly)

  3. Chris

    Hi Steve,

    Thanks for the article. I have used Autocad for years with some Lisp routines made by my employer. I am starting my own business and hope to purchase bricscad as a cheaper alternative. Could you tell me can I use those same lisps in bricscad? I have no idea how the make them from scratch myself so I am hoping lisp is interchangeable?

    Thanks

    Chris

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.