The 12d Model Macro Writing course will enable you to enhance the power of 12d Model by building custom routines for your bespoke needs.

12d Model Macro Writing Course

This is a two-day course for experienced 12d Model operators who wish to enhance workflows and productivity by creating and using macros written in the 12d Model Programming Language (12dPL).

Day one will cover the basics of using the 12d Programing Language (12dPL), the structure of functions within the language.

Prerequisites: Minimum prerequisite for this course is completion of the ‘Introduction to 12d Model’ course. However even having completed that introductory course, 12d Model Macro Writing is of little benefit to inexperienced 12d Model users.

Previous programming experience (in any language) and familiarity with a text editor would be an advantage. If you are not sure about attending the course, you should download and work through the simple macro examples given here.

By booking a course, you affirm that you meet the requirements for 12d Model training courses. Check on upcoming courses at bottom of page.


On completion of this course you will be familiar with the structure of 12dPL and be able to create, compile and run simple macros. The skills gained in the course will place you in an ideal position to create more complex macros using support from the 12d Community, via the 12d Forum.

Course Outline

Day 1

  • Review the structure and syntax of 12dPL.
  • Learn how to compile macros and review compiler errors.
  • Build a list of the inbuilt 12dPL functions available.
  • Create a simple non-interactive macro with hard-wired inputs/outputs.
  • Create a macro that uses 12d Model’s built in ‘console’. This simple interface will prompt the user for input, and display messages to the user.
  • Create a macro with command-line arguments that can be used in a chain).
  • Create macros to:
    – Create/modify different kinds of attributes.
    – Extract and derive data from strings in a 12d Model project.
    – Calculate areas and volumes from polygons and tins.
    – Create report files.
    – Create new strings and text labels in the 12d Model project.
    – Perform powerful batch plotting tasks.

Day 2

This is a day to refine the skills learnt in Day 1, to introduce ‘Panel’ macros, and to develop macros to take away from the course to use in the workplace.

The exercises done and the macros written on Day 2 will be based on proposals from attendees at the course. You will be asked to submit a proposal for a macro before the course, depending on suitability and complexity, we may develop your proposed macro in the course.

  • Review the macro commands and techniques used for building panels in 12dPL. Panels are the standard user interface with 12d Model
  •  Revisit the macros written on Day 1, and revise these macros to include a panel.
  •  Review and develop macro projects proposed by course attendees.

Possible macro projects

  • Fillet all segments of a string (with the same radius) and join all segments of the string.
  • This macro could be used to fillet all internal corners of a building pad
  • Calculate the area of a polygon, and annotate the area at the centroid of the polygon.

EXDS reserves the Intellectual Property rights to all macro code created during Day 2 of the course, and may make a compiled version of macros available to other users via the EXDS website.

All code created during the Day 2 exercises may be taken from the course for use within your organisation.