Part of the power of 12d Model is that you can create tools to help with specific workflows.

Writing code for your own tool is a big ask, the good news is that many people have been writing these tools (macros), and making those freely available.

This page gives you access to some of these tools, along with a brief description of how they are used.

The below tools are a collection of macros, for most, whose authors are not direct employees of EXDS.

EXDS does not hold any responsibility for the outcomes derived from the use of any of the tools listed below.

It is up to the you, the user, to evaluate the results and whether the chosen tool listed below suits your needs.

To download a tool just click on the hyperlink within the chosen tool’s description.

Once downloaded the tool can be run via the Run a Macro Panel (Utilities=>Macros=>Run=>Run).


You can simply drag and drop the downloaded .4do file onto a 12d Model view.

As seen in the preview below, the String Name To Point ID macro will copy the string name of the selected data to the point id. This tool will only work on single point strings.

The code for this macro was written by Michael Gunter.

This macro, when executed, does not start with a panel. To start the process, you simply select your 3 points in order that you wish to conduct the measurement.

As seen in the preview below, the Angle 3D – Measure macro will measure the 3d angle between 3 points and allow you to produce report on the measurement, including a comment on the joint location.

The generated report gets written to the projects working folder and needs to be opened manually.

The code for this macro was written by EXDS for the EXDS Customisation Plugins suite.

As seen in the preview below, the Fit 3d Circle macro will calculate the center coordinates of a 3d circle from 3 coordinated points. This tool can also generate the calculated center point and 3d circle as an element within 12d.

The code for this macro was written by Matthew Monk.

The Bridge Hog macro will only work on one span at a time. So, some preparation work (mainly splitting of strings) may need to occur.

The result can be seen in the section view below

This macro was written by Gary Masterson.

As seen in the preview below, the Average Points macro will create a point from the calculated average coordinates of a group of selected points.

The code for this macro was written by EXDS.

As seen in the preview below, the Split by Attribute macro will split strings when attribute values change on the nominated attributes that are specified on the macro panel.

This tool allows users to split their strings, by attribute value change, outside of the SDR function routine. This means that strings can be split without the need of a Field file to re-reduce.

The code for this macro was written and compiled for 12d Model 15.0C1p by EXDS.

Thanks to the 12d Community for sharing the above macros.

This thanks includes EXDS, 12d Solutions Programmers, Paul Hardwick, 12d Forum Power Users – Matthew Monk, Sam Cech, Peter Murray, Phil Davies, Ed Wilson, Gary Masterson & anyone else who created a macro listed on this Wiki page.