DDN Open Source Exchange

The DDN Open Source Exchange is the place to distribute original DCAL source code as well as modified versions of DCAL source code. You are free to use these files to study and learn. You may modify and compile them for your own use. Please submit any modified source code back to the DDN Open Source Exchange so that others may benefit from your work.

See our Guidelines for Submission of Open Source Code.

Check the DATACAD Download page for compiled macros, ready for use! You may not under any circumstances sell any modified source code or compiled binary files generated from modified source code. For more information regarding the limitations on the use of the DDN Open Source Exchange, see the Open Source Exchange Agreement.

Original Source Code
Complete source code of DCAL Macros

  • AEC_Model
  • ClipIt
  • Layer Utility
  • RoofIt
  • PSymColors - (Updated 05/25/06)
    Source code for macro that allows you to change colors within an unexploded symbol.  Get Macro
  • Dynamic On/Off Toggles
    Source code for Ted Blockley's macro to toggle the Dynamic setting on or off as desired. Simply add the appropriate macro to your keyboard or toolbar macro sequence and you can have the dynamic toggle set exactly the way you wish. Contenders for world's simplest macros.  Get Macro
  • Layer Capitalization Macro
    Source code for Tony Blasio's macro to change your layer names to either all upper or all lower case. Get Macro
  • DhBox
    ource code for David Henderson's macro to Draw a rectangle with optional diagonal lines. Get Macro
  • XedBox
    Source code for Ferdz Reyes' macro to Draw a rectangle with optional diagonal lines. Get Macro
  • 3D Pipe Railing
    Source code for John Lindsay's macro to draw sloped pipe rails. Compiled macro is included here. This one will probably require more work to be used in a production environment. It is a good example how to work with 3D entities in DCAL.
  • Delete Smalls
    Source code to a macro that deletes lines under a user specified length by Patrick McConnell. Get Macro
  • Rename
    Source code to accompany the DCAL tutorial Lesson 6. This macro will search and replace a string within all the layer names in your drawing. Refer to the tutorial for more information including some warnings about its use.
  • Dim Layer
    Norm Flint's macro to dim entity colors. It allows the selection of entities by the normal methods (entity, group, etc) as well as by layer or all the visible entities. You can let the macro dim the colors by percentage or select a specific color to change the entities to. The most important feature is the original color information is saved with the entities so that it can be restored at any time.

Modified Source Code
Modified versions of DDN Open Source code.

  • Source code for the AEC Model macro modified by Patrick B. McConnell to allow access to unsupported features within the macro. New features previously undocumented include ability to convert 2D lines to vertical polygons on the fly as well as placement of the door or window on the current layer while searching other layers for acceptable walls to cut.
  • Tony Blasio has modified the Layer Utility macro to incorporate his Layer Capitalization features as well as the Grid Lock features from the J.B. Cad Services macro. Tony has named his version LYRUTIL3 so as not to overwrite the existing Layer Utility macro. Get Macro
  • Norm Flint's modified version of the Symbol Explode macro. This version allows the user to select whether the symbol is exploded to the current layer or the layer the symbol currently exists on.
  • Polyline Macro version 1.6.1 - A revised version of the standard DataCAD Polyline Macro. This version features the ability to create rectangular polylines with two clicks. Revised 12/06/00.
  • A new version of the GridLock macro that adds the ability to match the correct Snap Angle settings. Modified by Jon Hubart. Both source and DCX file included.

J.B. Cad Services Source Code
Complete source code of DCAL Macros originally authored by J.B Cad Services.
Note that these descriptions are brief.  For more information about these macros, see J.B. CAD Services Macro Descriptions.

  • Annotate is a suite of macros used to draw common drafting symbols and labels.
  • ArcArrow draws curved leaders as 3 point arcs.
  • ASCIIMax creates schedules or charts from standard ASCII text files.
  • Break draws breaklines. (breaks a selected line and inserts an arc.
  • CountSym will count the instances of symbols in your drawing creating a report in an ASCII text file.
  • DuctPro draws HVAC ducts.
  • GenOff generates a series of lines offset from points inserted by the user.
  • GridLock sets the grid settings of every layer in the drawing to match the current settings.
  • LgtCalc is a lighting calculation macro.
  • SteelPro will draw almost every steel shape in the AISC steel manual (and a few more steel items too!).
  • SubLine will convert 3d lines to 2d.
  • SubText is a search and replace text tool.
  • TxtLine will draw lines with text displayed within the line.

Guidelines for submitting Open Source
You may submit any source code you wish provided you are the author of the original source code OR you made modifications to source code on this site. If you have original DCAL source code that you wish to share, please send it to us. Your submission of any source code to the DDN Open Source Exchange is your consent to have the code made available under the guidelines of this site.

Please include the following in your modifications to the source code:

  • A brief text file explaining in plain English what you have done to change the operation of the macro (i.e.. bug fix, added features, etc.).
  • USE COMMENTS IN THE SOURCE CODE. Be sure to comment what you have changed within the source code so that others that follow may better understand what you have done.
  • DDN reserves the right to refuse listing of poorly documented source code. Include a compiled version of the modified source.
  • Specify what version(s) of DataCAD you have tested your modifications on. Include your contact information (e-mail address, etc.) so that questions may be addressed to you.
If you do not wish to share your source code but do want to share your work, you may submit compiled macros or macro modules to be included on our Resources page.