CADDIT CAD CAM CNC Software - download AutoCAD compatible design software progeCAD Alibre T-FLEX and more
CADDIT Website Knowledge Base Search:

progeCAD Help

Welcome to progeCAD
Working with progeCAD
Command Reference
CAD System Variables
Programming progeCAD
Full Index (caution - 400kb)

Further Links:

Download progeCAD
Register progeCAD


T-FLEX PLM tutorial (PDF)
progeCAD IntelliCAD and AutoCAD training 
CATIA 2D 3D design tutorial
Alibre CAD/CAM basic tutorial


Educational CAD Software Solutions
Python scripting for DOS and Windows
Other free software downloads
CADDIT CAD CAM Forum Australia

Programming Overview of DCL (Dialog Control Language)

DCL is an acronym for Dialog Control Language, a separate programming language that you can use with progeCAD to create custom dialog boxes. In creating dialog boxes with DCL, you work with elements called tiles, cluster tiles (or clusters), and attributes. The following sections describe each type of element and the basic syntax used to express it.


A tile is a dialog box element, such as a button, a text box, a list box, an image, or a piece of text. Tiles are typically expressed via the following syntax:

: toggle { }

Note the colon prefix, followed by a space. That signifies that you are redefining (temporarily) the attributes of a tile. A tile name appearing without the colon prefix indicates that it has already been defined elsewhere (earlier in the DCL file or in another DCL file). The braces contain the tile's attributes (if any), characteristics such as color, associated action, or label.

Tiles are also categorized by function:

    • Active tiles (for example, : list_box { ... }) define dialog box controls that receive user input and/or carry out commands and actions.
    • Text tiles (for example, : text_part { ... }) manipulate strings in a dialog box.
    • Error handler tiles (for example, ok_cancel_help;) take care of displaying error messages to the user and standard confirmation buttons such as OK, Cancel, and Help.
    • Decorator tiles (for example, : spacer { ... } handle graphical elements and spacing within a dialog box.


    • There are no tiles for creating tabbed dialog boxes.
    • Your DCL file must not use the following tiles: cluster, tiles, cancel_button, help_button, info_button, and ok_button.

Cluster Tiles

A cluster is a group of tiles, such as a group of related radio buttons (also called option buttons) or a group of check boxes (also called toggles). Clusters are usually (but not always) surrounded by a rectangular outline. The individual tile elements within a cluster are called the cluster's children.

Clusters are a form of tile, and typically take the following syntax:

: boxed_column { }

Again, note the colon prefix, followed by a space. The braces contain the cluster's attributes and tiles. Radio buttons have their own clusters since, by definition, there must be at least two radio buttons in a cluster.


In DCL, the term attribute refers to a characteristic of a tile, such as its color, the action it performs, its label, and so forth. The program's DCL includes a number of typeface).

A tile can have many attributes or none at all. When a tile has no attributes, it assumes the default values of the attributes.

A typical attribute takes the following syntax:

label = "Pick a viewpoint: ";

Note the semicolon terminator. Not all attributes apply to all tiles. In fact, some attributes change their meaning, depending on the tile with which they are used.

Tiles and Attributes Unique to progeCAD's Implementation of DCL

The program's DCL has one unique tile and several attributes that are not found in other implementations of DCL. The following table describes the tile unique to progeCAD's implementation of DCL:

Tile Meaning
: multi_edit_box { } Creates a multi-line edit box.

The following table summarizes the attributes that are unique to progeCAD's implementation of DCL:

Attribute Meaning
lower_only = flag; Read all input text as lower case.
pointsize = int; Point size of text displayed by the dialog box.
read_only - flag; Text in edit box is non-editable.
typeface = "string"; TrueType typeface displayed by the dialog box.
upper_only = flag; Read all input text as upper case.

The DCL File Format

A DCL file is in ASCII format, so you can use any text editor (such as Microsoft® NotePad or Microsoft® Word) to write and edit DCL files.

Syntax for Comments in DCL Code

Line comments are prefixed with //, as follows:

// A comment line.

To embed comments in the DCL code, use /* and */, as follows:

plotdlg : dialog { /* The Plot dialog box*/

Referencing Tile Definitions in DCL Code

The DCL file can reference tile definitions in anther DCL file through the use of the include directive:

@include filename

About Predefined Attributes

Copying Code Examples from the progeCAD Developer Reference

CADDIT® is a registered trademark in Australia. All Rights Reserved. Comments concerning the content of this site should be addressed to our webmaster. progeCAD is a trademark of ProgeCAD srl. Autodesk® and AutoCAD® are both registered trademarks or trademarks of a third party, and used only for comparison purposes. All other trademarks, trade names or company names referenced herein are used for identification only and are the property of their respective owners. Legal and Terms of Use. Google. Find us on Google+.