Archive for the 'Runtime/AutoLISP' Category

Owen Wengerd OpenDCL in AutoCAD 2015

Looking for AutoCAD 2015 support? OpenDCL 8.0 Alpha 5 includes preliminary support for AutoCAD 2015.

Owen Wengerd OpenDCL 7.0 Released

OpenDCL 7.0 is now officially released as a stable version after over 2 years of development and testing. The new release adds support for AutoCAD, Bricscad, and ZWCAD+ on Microsoft Windows, giving the growing number of lisp developers a user interface framework with the same cross platform support as their programming language.

Owen Wengerd OpenDCL now supports ZWCAD+ 2014

As of OpenDCL 7.0 Beta 1, ZWCAD+ 2014 is now fully supported. ZWCAD Design has issued a Press Release.

Barry Ralphs So what’s new…

Over the last few builds (alpha 3-5), there have been a number of new features that have been added to OpenDCL 5. Here is a quick recap if you haven’t been keeping up. Remember these new functions are still an Alpha work in progress, so make a backup before converting your existing projects. (Click on the thumbnail images below to see an enlarged version of them. Some are short videos showing the new stuff in action)

  1. Palette forms are now available. (Screenshot by Fred Tomke, euroGIS IT-Systems, Germany)
  2. Here you’ll see how to insert the palette in the editor.
  3. Most controls have a new Drag & Drop framework that allows them to handle the Drag & Drop events without any Lisp code at all.
  4. Most controls now have a transparent background.
  5. Now you can import an image with a transparent background into a picture box. Set the background color of the image to 192,192,192, then set the picture box background to transparent.
  6. A new delay function has been added: (dcl_DelayedInvoke <delay as integer> <command-name as string>). This function executes a command after a set period of time (specified in milliseconds). If the command name starts with “c:”, it will call the lisp function with that name. It also runs in the background, so you can keep working in Acad while the timer is still running. Unlike (command “.DELAY”) where it freezes Acad & waits until the timer is done. This can be used for things like splash screens or other time-controlled activities, maybe a file system watcher or a chat application.
  7. Check boxes now support three states, and their ‘Value’ property is no longer a boolean, but an integer (0 = Unchecked, 1 = Checked, 2 = Indeterminate). Therefore, if you had code that checked whether a check box was checked via (if (dcl_Control_GetValue <control>) …), you’ll need to change this to (if (= 1 (dcl_Control_GetValue <control>)) …)

Barry Ralphs Tip of the day: Visual Styles

As Owen mentioned in his last post, OpenDCL 4.1 now supports Windows Visual Styles. So what’s that mean? As you’ve probably noticed, each major version of Windows comes with a new set of visual styles or themes (Win2000, XP, Vista). In OpenDCL 4.1 most of the controls have the ability to turn visual styles ON/OFF. By default they’re ON & therefore inherit the visual style or theme of your current version of Windows. For example if you want to change the foreground color of a CheckBox, you will not be able to as the foreground color is controlled by the Windows visual style. Therefore you will have to set the “UseVisualStyle” = False for your new foreground color to take effect. Click this thumbnail for a screen shot comparing various controls with visual style ON/OFF.

Barry Ralphs OpenDCL gets smarter

The OpenDCL RC4 build has just been uploaded for everyone’s enjoyment. There where a few minor bug fixes, but the big news is it now has a built-in version checker. When you install OpenDCL Studio and load the runtime (ARX) module, it will automatically check to make sure it’s up-to-date & if it’s not, it will show you a balloon notification in the taskbar area. If you install the OpenDCL.runtime.msi it will not do this check automatically. You can do the check manually by calling the new function (dcl_UpdateCheck) or if you wish to enable the automatic version checking you can call the new function (dcl_SetAutoUpdateCheck <T/nil, otional>).

Version Checker Balloon