What's New and What's More in BricsCAD Lisp
(compared to BricsCAD V12 LISP and AutoCAD AutoLISP)
Since BricsCAD V12.2 version, a number of major improvements and extensions have been added to the LISP engine, providing
|
|
During V12 lifetime, all these new and additional features have been stabilised, and have reached a safe and reliable stage with V13 now, and is fully covered by both regression and performance tests.
Updated OpenLisp Core version (since V12.2)
With OpenLisp v9.1, most AutoLISP syntax and semantic has been implemented as native OpenLisp core functionality, the former AutoLISP -> OpenLisp PreProcessor has been removed, which results in :
Support for ObjectDbx.AxDbDocument COM interface (since V12.1)
Requested by LISP developers, the ObjectDbx.AxDbDocument interface has been added to LISP engine :
"Fast-COM" layer for Windows and Linux (since V12.2)
Originally intended to enable COM-based LISP code, (those (vla-), (vlax-) and (vlr-) functions) under Linux, the implemented Fast-COM emulation layer is now also available under Windows, and is active by default.
Currently, there are > 200 Properties and > 50 Methods implemented, subject for further completion.
VLE LISP Function Library (since V12.2)
To extended the standard AutoLISP language set, which lacks a large number of basic core functions, we have implemented our VLE LISP Function Library giving more comfort to LISP developers and more performance to LISP applications.
LISP Optimiser (since V12.2)
The new built-in LISP Optimiser recognises inefficient, slow LISP code patterns at load-time and replaces those patterns with more efficient code. This allows to bypass several bottlenecks, caused by missing language features of AutoLISP.
ExpressTools API Support (since V14)
Autodesk AutoCAD integrates
the "ExpressTools" utility since version 14 (as "BonusTools" even
before), so this is part of AutoCAD since 2 decades. The
"ExpressTools" also provide many functionality via an API, the
function family named as "(acet-xxx-yyy)".
Many AutoLISP based utilities and applications
use this "ExpressTools" API functions now ... to improve BricsCAD's
compatibility with such Lisp tools and applications, we have now
started to directly integrate this "ExpressTools" API function set
in compatible way into our Lisp engine.
The "ExpressTools
for BricsCAD" utility is a similar
add-on, provided by www.cadwiesel.de - this
also provides the majority of ExpressTools API and end-user-functionality for BricsCAD, and is highly
compatible and complete.
We are in close cooperation with the author of
"ExpressTools for BricsCAD" utility, to ensure best compatibility,
comfort and performance for BricsCAD users, so will will likely
more more of the "ExporessTools" API (core) functionality directly
into BricsCAD's Lisp engine.
SheetMetal LISP API (since V16.2)
For more details and an introduction, please see BricsCAD SheetMetal LISP API.
BIM LISP API (since V17.2.07)
Since the BricsCAD BIM
functionality becomes more and more mature with each version and
update, the amount of requests by third-party developers to provide
API level support for BIM has increased rapidly.
Starting with BricsCAD V17.2.07, there are
both BRX C++ and a LISP API available now, providing a first stage
of covering BIM functionality. Somewhat naturally, these BIM APIs
will grow over time, more functionality and flexibility will be
added, in backward-compatible manner.
For more details and an introduction, please
see BricsCAD
BIM LISP API.
BIM LISP API supports "Room" functionality (since V18.2)
Since the BricsCAD BIM
functionality becomes more and more matured with each version and
update, the amount of requests by third-party developers to provide
API level support for BIM has increased rapidly.
Starting with BricsCAD V18.2, the LISP API for
BIM has been extended to support the "Room" functionality : for
more details see the Creator Functions, Property Functions and Query Functions sections.
VLX NameSpace support by DEScoder v2.7 (since V18.2)
To improve compatibility with
AutoLISP based applications, the BricsCAD LISP engine now also
provides support for "VLX NameSpace" code + data
isolation;
For more details and an introduction, please
see VLX
NameSpace Support and DEScoder
chapters (requires updated DEScoder v2.7,
installed with BricsCAD V18.2).
LISP Editor & Debugger (since V18.2)
Demanded by many AutoLISP based developers, the BricsCAD LISP engine now provides BLADE - the new, full-blown integrated BricsCAD Lisp Advanced Development Ide working on all platforms (Windows, Linux, OSX) with a large set of basic & advanced functionality for editing, LISP project handling, and LISP debugging.
LISP Editor & Debugger (since V19)
Besides bug fixing, it provides many new features, like Hotkey Editor, color markers for edited + saved code lines, improved tooltips, "syntax tip" while typing, extended data break points, optionally creating backup files using Date+Time, improved "edit-while-debug", improved + extended Inspector dialog, new "Syntax + Variables Check" dialog, and much more.
LISP Profiler (since V19.2)
BLADE IDE now has an
integrated Profiler, using an own tab in the left-side panel; the Profiler is
activated on the "Debug" toolbar by a single option, performance
measurement and code flow logging is automatically done;
after Lisp processing is finished (entirely,
or from "breakpoint to breakpoint", the measured results are
automatically shown on the Profiler tab.
Improved Performance, Extended Functionality (since V20)
The overall Lisp processing
performance has been improved, even significantly for particular
context like deeply nested + recursive functions, and VLR database
+ object reactors;
many new functions have been added (partially
BricsCAD-specific, partially via VLE library including its
emulation for other CAD systems);
last but not least many fixes for bugs and
defects, for the Lisp engine core, and also for BLADE;
several improvements to performance and
usability for BLADE as well;
see chapter V.1.3
New DEScoder v2.9 fixes some issues with "Code Compression" and provides support for debugging DES files in BLADE (since V21)
Generic Property Functions (since V21)
New Lisp functions (dumpAllProperties), (isPropertyValid), (isPropertyReadonly), (getPropertyValue) and (setPropertyValue) have been added to improve compatibility with AutoCAD, and to provide easy + comfortable access to BIM, MCAD, SheetMetal, Civil, IFC2x3/4 and Application properties.
SheetSetManager COM/LISP Interface available (since V21)
New SheetSetManager COM interface has been added, compatible with AutoCAD, but fully accessible by any programming language incl. LISP.
Civil TinSurface Functions (since V21)
New Civil TinSurface Functions
were added to create, query, and modify
TinSurface entities;
updated and extended with V21.2. and
V22.1
BIM Functions update (since V21.2)
New LISP BIM functions for PropertyNameSpaces and PropertySets were added.
© Bricsys NV. All rights reserved. |