![]() |
omdl
v1.0
OpenSCAD Mechanical Design Library
|
Drafting and drawing tools for graphical design documentation. More...
Collaboration diagram for Drafting:Files | |
| file | config.scad |
| Drafting: defaults and configurations. | |
| file | primitive.scad |
| Drafting: base functions and primitives. | |
| file | operation.scad |
| Drafting: tools and general operations. | |
| file | dimension.scad |
| Drafting: dimensioning operations. | |
| file | draft-base.scad |
| Drafting: include wrapper. | |
Configuration Variables | |
| $draft_make_3d = false | |
| <boolean> Extrude 2D drafted constructions to 3D. | |
| $draft_line_fn = 4 | |
| <integer> Arc fragment size for line construction. | |
| $draft_arrow_fn = 8 | |
| <integer> Arc fragment size for arrowhead construction. | |
| $draft_scale = 1 | |
| <integer> Line construction drafting scale multiplier. More... | |
| draft_sheet_scale = 1 | |
| <integer> Sheet construction drafting scale multiplier. More... | |
| draft_sheet_size = "A" | |
| <string> Drafting sheet size identifier. More... | |
| draft_sheet_config = "L84TS" | |
| <string> Drafting sheet configuration identifier. More... | |
| draft_layers_show = ["all"] | |
| <string-list> List of active drafting layer names. More... | |
| draft_config_map = draft_config_map_style1 | |
| <map> Drafting configuration defaults map. More... | |
Style Maps | |
| draft_config_map_style1 | |
| <map> A drafting configuration map; style1. More... | |
| draft_title_block_map_style1 | |
| <map> A title block map; style 1. More... | |
| draft_table_format_map_ccc | |
| <map> Table format map; centered, centered, centered –justified. | |
| draft_table_format_map_cll | |
| <map> Table format map; centered, left, left –justified. | |
| draft_table_format_map_crr | |
| <map> Table format map; centered, right, right –justified. | |
Shape Primitives | |
| module | draft_line_pp (i, t, w=1) |
| Draft a simple line from an initial to a terminal point. More... | |
| module | draft_arrow (l=x_axis2d_ul, w=1, s=1) |
| Draft an arrowhead at the terminal point of a line. More... | |
| module | draft_line (l=x_axis2d_ul, w=1, s=1, a1=0, a2=0) |
| Draft a line with configurable style and optional arrowheads. More... | |
| module | draft_arc (r=1, o=origin2d, v1=x_axis2d_uv, v2=x_axis2d_uv, fn, cw=true, w=1, s=1, a1=0, a2=0) |
| Draft an arc with configurable style and optional arrowheads. More... | |
| module | draft_rectangle (d=1, o=origin2d, w=1, s=1) |
| Draft a rectangle with configurable style. More... | |
| module | draft_polygon (c, p, e, i=true, w=1, s=1) |
| Draft a polygon with configurable style. More... | |
Layer Assignment | |
| module | draft_in_layers (layers=_draft_get_config("layers-default")) |
| Assign one or more layers to child objects. More... | |
Object Placement | |
| module | draft_move (list) |
| Move one or more child objects to a sheet reference zone. More... | |
Sheet Construction | |
| module | draft_sheet (sheet, frame, zone, grid, origin, check=false, layers=_draft_get_config("layers-sheet")) |
| Construct a drafting sheet with frame, zone, grid, and origin. More... | |
| module | draft_axes (size, w=1, s=2, a=0, ts=0, layers=_draft_get_config("layers-sheet")) |
| Construct drafting sheet axes. More... | |
| module | draft_ruler (units=length_unit_base, marks=10, groups=5, mark_size=1, group_height=5, label_scale=2/3, label_hide=false, order=1, w=1, layers=_draft_get_config("layers-sheet")) |
| Construct a drafting sheet ruler. More... | |
Table Construction | |
| module | draft_table (map, fmap, zp=0, window=false, layers=_draft_get_config("layers-table")) |
| Construct a text table that is populated by rows and columns. More... | |
| module | draft_ztable (text, map, zp=0, number=false, window=false, layers=_draft_get_config("layers-table")) |
| Construct a text table that is populated by predefined zones. More... | |
| module | draft_note (head, note, size, line, halign="left", cmh=_draft_get_config("note-cmh"), cmv=_draft_get_config("note-cmv"), zp=0, window=false, layers=_draft_get_config("layers-note")) |
| Construct a text note with optional heading and border. More... | |
| module | draft_title_block (text, map=draft_title_block_map_style1, zp=0, number=false, window=false, layers=_draft_get_config("layers-titleblock")) |
| Construct a sheet title block. More... | |
Dimensioning | |
| module | draft_dim_leader (p=origin2d, v1=30, l1=_draft_get_config("dim-leader-length"), v2, l2, h, t, ts, tp, tr, ta="center", line, w=_draft_get_config("dim-leader-weight"), s=_draft_get_config("dim-leader-style"), a=_draft_get_config("dim-leader-arrow"), off=_draft_get_config("dim-offset"), cmh=_draft_get_config("dim-cmh"), cmv=_draft_get_config("dim-cmv"), window=false, layers=_draft_get_config("layers-dim")) |
| Construct a dimension leader line at a point. More... | |
| module | draft_dim_line (p1=origin2d, p2=origin2d, v1, v2, t, u, d=_draft_get_config("dim-line-distance"), e=_draft_get_config("dim-line-extension-length"), es=_draft_get_config("dim-line-extension-style"), w=_draft_get_config("dim-line-weight"), s=_draft_get_config("dim-line-style"), a=_draft_get_config("dim-line-arrow"), a1, a2, off=_draft_get_config("dim-offset"), ts=_draft_get_config("dim-text-size"), tp=_draft_get_config("dim-text-place"), rm=_draft_get_config("dim-round-mode"), cmh=_draft_get_config("dim-cmh"), cmv=_draft_get_config("dim-cmv"), layers=_draft_get_config("layers-dim")) |
| Construct a dimension line between two points. More... | |
| module | draft_dim_radius (o=origin2d, p, r=1, v, t, u, d=false, w=_draft_get_config("dim-radius-weight"), s=_draft_get_config("dim-radius-style"), a=_draft_get_config("dim-radius-arrow"), a1, a2, off=_draft_get_config("dim-offset"), ts=_draft_get_config("dim-text-size"), tp=_draft_get_config("dim-text-place"), rm=_draft_get_config("dim-round-mode"), cmh=_draft_get_config("dim-cmh"), cmv=_draft_get_config("dim-cmv"), layers=_draft_get_config("layers-dim")) |
| Construct a radial dimension line. More... | |
| module | draft_dim_angle (o=origin2d, r=1, v1, v2, fn, cw=false, t, u, e=_draft_get_config("dim-angle-extension-ratio"), es=_draft_get_config("dim-angle-extension-style"), w=_draft_get_config("dim-angle-weight"), s=_draft_get_config("dim-angle-style"), a=_draft_get_config("dim-angle-arrow"), a1, a2, off=_draft_get_config("dim-offset"), ts=_draft_get_config("dim-text-size"), tp=_draft_get_config("dim-text-place"), rm=_draft_get_config("dim-round-mode"), cmh=_draft_get_config("dim-cmh"), cmv=_draft_get_config("dim-cmv"), layers=_draft_get_config("layers-dim")) |
| Construct a angular dimension arc. More... | |
| module | draft_dim_center (o=origin2d, r, v=0, l=_draft_get_config("dim-center-length"), e, es=_draft_get_config("dim-center-extension-style"), w=_draft_get_config("dim-center-weight"), s=_draft_get_config("dim-center-style"), layers=_draft_get_config("layers-dim")) |
| Construct a center mark dimension cross. More... | |
Drafting and drawing tools for graphical design documentation.
| Requires: |
|---|
| include <omdl-base.scad>; |
| include <transforms/base_cs.scad>; |
| include <tools/common/polytope.scad>; |
| include <tools/2d/drafting/draft-base.scad>; |
Naming
All public modules and functions are prefixed with draft_*. Internal (private) identifiers carry an additional leading underscore: _draft_*. Configuration getter functions follow the form _draft_get_* and are private; callers should use the public variable draft_config_map together with the map_merge() or map_update() override pattern shown in that variable's documentation.
Common Parameters
The following short-name parameters carry consistent meaning across all modules in this library:
| parameter | data type | meaning |
|---|---|---|
w | decimal | line weight (width multiplier) |
s | integer | integer-list | line style; see draft_line() |
a | integer | integer-list-5 | arrowhead style; see draft_arrow() |
a1, a2 | integer | integer-list-5 | per-endpoint arrowhead overrides |
o | point-2d | origin or center coordinate |
off | decimal | decimal-list-2 | dimension line offset distance |
t | string | string-list | text string or measured-value override |
u | string | unit identifier for measured values |
ts | decimal-list-3 | text size [width, line-height, heading-height] |
tp | decimal-list-2..4 | text placement [-1, +1 per axis] (1) |
rm | integer | integer-list-2 | measurement rounding mode (2) |
cmh | decimal | minimum horizontal cell size |
cmv | decimal | minimum vertical cell size |
layers | string-list | drafting layer names to render this object on |
window | boolean | return bounding rectangle instead of geometry |
zp | decimal-list-2 | decimal | zone/window alignment scaler [-1, +1] |
line | value-list-2 | border line config [width, [style]] |
(1) text placement [-1, +1] per axis with optional tp[2] pivot offset (angle dims) and optional tp[3] rotation offset.
(2) measurement rounding mode: 0=none, 1=round_d, 2=round_s.
Scale Variables
Two scale variables govern geometry size and must be kept in sync:
Layers
Every module accepts a layers parameter. The global variable draft_layers_show lists the layers that will actually be rendered; all others are suppressed. Setting it to ["all"] renders everything; "all" is a wildcard that matches any layer list.
Default layer assignments by module category:
| category | default layer name |
|---|---|
| general geometry | "default" |
| sheet / frame | "sheet" |
| tables | "table" |
| notes | "note" |
| title block | "titleblock" |
| dimensions | "dim" |
To isolate a drawing phase, restrict draft_layers_show:
Configuration and Style Maps
All style defaults live in draft_config_map, initialised to draft_config_map_style1. Apply selective overrides with map_merge(), placing overrides first so they take precedence:
All dimension values in configuration maps should be expressed via length() or angle() with an explicit unit string so that designs remain unit-independent.
Typical Workflow
A minimal complete script follows the pattern shown in the auxiliary example block at the bottom of this file:
map_merge() or map_update().An example script and its output are shown below. There are numerous ways to generate a printable form of the 2D result. For example: (1) render the 2D design; (2) export it as a DXF file; (3) open the exported DXF file in LibreCAD; (4) select print preview and adjust the print scale as needed for the target sheet size and output format; (5) then print or save the result as a PDF.
| top |
|---|
![]() |
Drafting example script
| module draft_line_pp | ( | i | , |
| t | , | ||
| w | = 1 |
||
| ) |
Draft a simple line from an initial to a terminal point.
| i | <point-2d> The initial point coordinate [x, y]. |
| t | <point-2d> The terminal point coordinate [x, y]. |
| w | <decimal> The line weight. |
$draft_line_fn sets arc fragment number for line construction.
| see: draft_config_map |
|---|
| line-width-min |
| line-use-hull |
Definition at line 950 of file primitive.scad.
Here is the caller graph for this function:| module draft_arrow | ( | l | = x_axis2d_ul, |
| w | = 1, |
||
| s | = 1 |
||
| ) |
Draft an arrowhead at the terminal point of a line.
| l | <line> A line or vector. |
| w | <decimal> The line segment weight. |
| s | <integer | integer-list-5> The arrowhead style. |
The style can be customize via the following optional parameter list fields.
| field | data type | default | description |
|---|---|---|---|
| 0 | integer | 0 | style |
| 1 | integer | boolean | 0,1 or true,false | fill |
| 2 | integer | 0 | side: 0=both, 1=left, 2=right |
| 3 | decimal | 1 | length multiplier |
| 4 | decimal | 1 | angle multiplier |
When parameter s is assigned a single integer it sets the style and the other fields are assigned their default values.
| style | description |
|---|---|
| 0 | no arrowhead |
| 1 | closed 3-point arrowhead |
| 2 | closed 4-point arrowhead |
| 3 | open 3-point arrowhead |
| 4 | slash / cross arrowhead |
| 5 | circle arrowhead |
Object example
$draft_arrow_fn sets arc fragment number for arrowhead construction. The line segments are constructed by draft_line_pp().
| see: draft_config_map |
|---|
| arrow-line-length-min |
| arrow-angle-min |
Definition at line 1021 of file primitive.scad.
Here is the call graph for this function:
Here is the caller graph for this function:| module draft_line | ( | l | = x_axis2d_ul, |
| w | = 1, |
||
| s | = 1, |
||
| a1 | = 0, |
||
| a2 | = 0 |
||
| ) |
Draft a line with configurable style and optional arrowheads.
| l | <line> A line or vector. |
| w | <decimal> The line weight. |
| s | <integer | integer-list> The line style. |
| a1 | <integer | integer-list-5> The arrowhead style at initial point. |
| a2 | <integer | integer-list-5> The arrowhead style at terminal point. |
When parameter s is assigned a single integer it sets the style with its default optional values. The line style s can be one of the following:
| style | description |
|---|---|
| 0 | no line |
| 1 | solid line |
| 2 | single dash pattern centered |
| 3 | dual overlapped dash patterns |
| 4 | both ends and center |
| 5 | line section break |
Each style can be customize via optional parameter list fields. The options differ by style:
style 2
| field | data type | default | description |
|---|---|---|---|
| 1 | decimal | 1 | length multiplier |
| 2 | decimal | 2 | stride |
style 3
| field | data type | default | description |
|---|---|---|---|
| 1 | decimal | 1 | length multiplier 1 |
| 2 | decimal | 2 | stride 1 |
| 3 | decimal | 2 | length multiplier 2 |
| 4 | decimal | 3 | stride 2 |
style 4
| field | data type | default | description |
|---|---|---|---|
| 1 | decimal | 1 | number of centered segments |
| 2 | decimal | 1 | centered-length multiplier |
| 3 | decimal | 1 | end-length multiplier |
style 5
| field | data type | default | description |
|---|---|---|---|
| 1 | decimal | 1 | number of breaks |
| 2 | decimal | 2 | break length multiplier |
| 3 | decimal | 2 | break width multiplier |
| 4 | decimal | 67.5 | break angle |
Object example
The line segments are constructed by draft_line_pp().
| see: draft_config_map |
|---|
| line-segment-min |
Definition at line 1195 of file primitive.scad.
Here is the call graph for this function:
Here is the caller graph for this function:| module draft_arc | ( | r | = 1, |
| o | = origin2d, |
||
| v1 | = x_axis2d_uv, |
||
| v2 | = x_axis2d_uv, |
||
| fn | , | ||
| cw | = true, |
||
| w | = 1, |
||
| s | = 1, |
||
| a1 | = 0, |
||
| a2 | = 0 |
||
| ) |
Draft an arc with configurable style and optional arrowheads.
| r | <decimal> The arc radius. |
| o | <point-2d> The arc center coordinate [x, y]. |
| v1 | <line-2d | decimal> The arc start angle. A 2d line, vector, or decimal angle 1. |
| v2 | <line-2d | decimal> The arc end angle. A 2d line, vector, or decimal angle 2. |
| fn | <integer> The number of facets (optional). |
| cw | <boolean> Sweep direction. When true the arc sweeps clockwise from the head of v1 to the head of v2; when false it sweeps counter-clockwise. The returned list always contains fn + 1 points (both endpoints included). |
The arc coordinates will have radius r centered about o contained within the heads of vectors v1 and v2. The arc will start at the point coincident to v1 and will end at the point coincident to v2. When vectors v1 and v2 are parallel, or when the positive sweep angle is within the almost_eq_nv() tolerance of zero (nearly parallel), the sweep angle is forced to 360° and a full circle is returned. When fn is undefined, its value is determined by get_fn().
| w | <decimal> The line weight. |
| s | <integer | integer-list> The line style. |
| a1 | <integer | integer-list-5> The arrowhead style at initial point. |
| a2 | <integer | integer-list-5> The arrowhead style at terminal point. |
When parameter s is assigned a single integer it sets the style with its default optional values. The line style s can be one of the following:
| style | description |
|---|---|
| 0 | no line |
| 1 | solid line |
| 2 | single dash pattern |
Style 2 can be customize via optional parameter as shown below:
style 2
| field | data type | default | description |
|---|---|---|---|
| 1 | decimal | 2 | stride |
Object example
The line segments are constructed by draft_line_pp().
Definition at line 1337 of file primitive.scad.
Here is the call graph for this function:| module draft_rectangle | ( | d | = 1, |
| o | = origin2d, |
||
| w | = 1, |
||
| s | = 1 |
||
| ) |
Draft a rectangle with configurable style.
| d | <decimal-list-2 | decimal> A list [x, y] of decimals or a single decimal for (x=y). |
| o | <point-2d> The center coordinate [x, y]. |
| w | <decimal> The line weight. |
| s | <integer | integer-list> The line style. |
Object example
The line segments are constructed by draft_line().
Definition at line 1399 of file primitive.scad.
Here is the call graph for this function:| module draft_polygon | ( | c | , |
| p | , | ||
| e | , | ||
| i | = true, |
||
| w | = 1, |
||
| s | = 1 |
||
| ) |
Draft a polygon with configurable style.
| c | <points-2d> A list of 2d coordinate points. |
| p | <integer-list-list> A list of paths that enclose the shape where each face is a list of coordinate indexes. |
| e | <integer-list-2-list> A list of edges where each edge is a list of two coordinate indexes. |
| i | <index> An index sequence specification. |
| w | <decimal> The line weight. |
| s | <integer | integer-list> The line style. |
Parameter p is optional and when it is not given, the listed order of the coordinates establishes the polygon path. When parameter e is not specified, it is computed from p using polytope_faces2edges(). Parameter i allows coordinate indexes to be selected using several selection schemes.
Object example
The line segments are constructed by draft_line().
Definition at line 1457 of file primitive.scad.
Here is the call graph for this function:| module draft_in_layers | ( | layers | = _draft_get_config("layers-default") | ) |
Assign one or more layers to child objects.
| layers | <string-list> The list of drafting layer names to render this object on. Defaults to the "default"; the general-purpose layer. See draft_layers_show and the layer conventions. |
All children will be assigned the specified layer or layers and will be subsequently shown only when one of these layers are active as indicated by draft_layers_show.
Definition at line 208 of file operation.scad.
| module draft_move | ( | list | ) |
Move one or more child objects to a sheet reference zone.
| list | <datastruct-list> A list of alignment references, zones, and child object indexes. |
Each list element specifies the placement of one child object and has the form:
<datastruct> = [ 0:<alignment-point>, 1:<zone-reference>, 2:<child-index> ]
| field | data type | default | description |
|---|---|---|---|
| 0 | decimal-list-2 | [0, 0] | alignment point [px, py] |
| 1 | string-list-2 | decimal-list-2 | sheet center | zone: [rx,ry]=string or [ix,iy]=int |
| 2 | integer | loop index | child object index |
The alignment point [px, py] linearly scales the position within the target zone: -1 = left/bottom edge, 0 = center/middle, +1 = right/top edge.
The zone reference field accepts either string labels (e.g. ["H","4"]) that match the zone label identifiers configured in draft_sheet_config, or integer indexes (e.g. [7,3]) that address zones by their numeric position. When field 1 is omitted, the object is placed at the sheet center.
When field 2 is omitted, child i is mapped to list entry i in document order. When the list is longer than the number of children, the last child is reused for surplus entries.
Example:
Object example
Definition at line 281 of file operation.scad.
Here is the call graph for this function:| module draft_sheet | ( | sheet | , |
| frame | , | ||
| zone | , | ||
| grid | , | ||
| origin | , | ||
| check | = false, |
||
| layers | = _draft_get_config("layers-sheet") |
||
| ) |
Construct a drafting sheet with frame, zone, grid, and origin.
| sheet | <value-list-2> A sheet line configuration that overrides sheet line <width, style>. |
| frame | <value-list-2> A frame line configuration that overrides frame line <width, style>. |
| zone | <value-list-2> A zone line configuration that overrides zone line <width, style>. |
| grid | <value-list-2> A grid line configuration that overrides grid line <width, style>. |
| origin | <value-list-4> An origin line configuration that overrides origin line <width, style, length, arrow>. |
| check | <boolean> When true, validates the current sheet configuration and size tables and prints a diagnostic report to the console via table_check(). No geometry is affected. Useful during design setup to confirm that draft_sheet_config and draft_sheet_size are pointing to recognized entries. |
| layers | <string-list> The list of drafting layer names to render this object on. Defaults to the "sheet"; rendered with sheet frame and rulers. See draft_layers_show and the layer conventions. |
When a parameter is not specified, the default value is used for the current sheet configuration. The sheet configuration defaults are set by draft_sheet_config.
The parameters sheet, frame, zone, and grid each accept a list of two values. The first value sets the construction line width and the second sets the construction line style; <width, style>. The style value may also be a list to configure the details of the style as documented in draft_line(). The parameter origin accepts a list of four values: <width, style, length, arrow>. The style may be any of those available in draft_line() and the arrow may be any available in draft_arrow().
Object example
Definition at line 382 of file operation.scad.
| module draft_axes | ( | size | , |
| w | = 1, |
||
| s | = 2, |
||
| a | = 0, |
||
| ts | = 0, |
||
| layers | = _draft_get_config("layers-sheet") |
||
| ) |
Construct drafting sheet axes.
| size | <decimal-list-2-list-2 | decimal-list-2 | decimal> An optional list [[-x, +x], [-y, +y]] or [-x/y, +x/y] of decimals or a single decimal for (-+x=-+y). The x and y negative and positive axes lengths. |
| w | <decimal-list-2 | decimal> A list [-w, +w] or a single decimal for (-w=+w). The negative and positive axes segment weights. |
| s | <integer-list-2-list | integer-list-2 | integer> A list [-[s], +[s]] or [-s, +s] of integers or a single integer for (-s=+s). The negative and positive axes styles. |
| a | <integer-list-2-list | integer-list-2 | integer> A list [-[a], +[a]] or [-a, +a] of integers or a single integer for (-a=+a). The negative and positive axes arrows. |
| ts | <decimal> The axes label text size. |
| layers | <string-list> The list of drafting layer names to render this object on. Defaults to the "sheet"; rendered with sheet frame and rulers. See draft_layers_show and the layer conventions. |
Object example
When size is not specified, the axes will span the entire sheet frame.
Definition at line 615 of file operation.scad.
| module draft_ruler | ( | units | = length_unit_base, |
| marks | = 10, |
||
| groups | = 5, |
||
| mark_size | = 1, |
||
| group_height | = 5, |
||
| label_scale | = 2/3, |
||
| label_hide | = false, |
||
| order | = 1, |
||
| w | = 1, |
||
| layers | = _draft_get_config("layers-sheet") |
||
| ) |
Construct a drafting sheet ruler.
| units | <string> The ruler units. |
| marks | <integer> The number of unit marks per group. |
| groups | <integer> The number of groups. |
| mark_size | <decimal> The distance between unit marks (in units). |
| group_height | <decimal> The group-line mark height. |
| label_scale | <decimal> The text label size scaler. |
| label_hide | <boolean> Hide ruler text label. |
| order | <integer-list-2 | integer> The ruler marks horizontal and vertical direction. A list [x, y] of decimals or a single decimal for (x=y). |
| w | <decimal> The line segment weight. |
| layers | <string-list> The list of drafting layer names to render this object on. Defaults to the "sheet"; rendered with sheet frame and rulers. See draft_layers_show and the layer conventions. |
Object example
Definition at line 745 of file operation.scad.
| module draft_table | ( | map | , |
| fmap | , | ||
| zp | = 0, |
||
| window | = false, |
||
| layers | = _draft_get_config("layers-table") |
||
| ) |
Construct a text table that is populated by rows and columns.
| map | <map> A table definition map. |
| fmap | <map> A table format map. |
| zp | <integer-list-2 | integer> The center coordinate scaler. A list [zpx, zpy] of decimals or a single decimal for (zpx=zpy). |
| window | <boolean> Return table window rectangle. |
| layers | <string-list> The list of drafting layer names to render this object on. Defaults to the "table"; rendered with tables. See draft_layers_show and the layer conventions. |
Object example
| see: draft_config_map |
|---|
| table-text-format |
Definition at line 865 of file operation.scad.
| module draft_ztable | ( | text | , |
| map | , | ||
| zp | = 0, |
||
| number | = false, |
||
| window | = false, |
||
| layers | = _draft_get_config("layers-table") |
||
| ) |
Construct a text table that is populated by predefined zones.
| text | <value-list> The list of zone values, where each value is <string | string-list>, a single or multi-line string for the corresponding zone. |
| map | <map> A zone table definition map. |
| zp | <integer-list-2 | integer> The center coordinate scaler. A list [zpx, zpy] of decimals or a single decimal for (zpx=zpy). |
| number | <boolean> Number the defined table zones. |
| window | <boolean> Return table window rectangle. |
| layers | <string-list> The list of drafting layer names to render this object on. Defaults to the "table"; rendered with tables. See draft_layers_show and the layer conventions. |
Object example
Definition at line 1026 of file operation.scad.
| module draft_note | ( | head | , |
| note | , | ||
| size | , | ||
| line | , | ||
| halign | = "left", |
||
| cmh | = _draft_get_config("note-cmh"), |
||
| cmv | = _draft_get_config("note-cmv"), |
||
| zp | = 0, |
||
| window | = false, |
||
| layers | = _draft_get_config("layers-note") |
||
| ) |
Construct a text note with optional heading and border.
| head | <string> The optional note heading. |
| note | <string | string-list> A single or multi-line note text string. |
| size | <decimal-list-3> A list of decimals that define the <width, line-height, heading-height> of the note. |
| line | <value-list-2> The border line configuration override that sets the line construction width and style; <width, style>. |
| halign | <string> The text horizontal alignment. One of the predefined strings: < "left" | "center" | "right" >. |
| cmh | <decimal> The horizontal width minimum unit cell size. |
| cmv | <decimal> The vertical height minimum unit cell size. |
| zp | <integer-list-2 | integer> The center coordinate scaler. A list [zpx, zpy] of decimals or a single decimal for (zpx=zpy). |
| window | <boolean> Return table window rectangle. |
| layers | <string-list> The list of drafting layer names to render this object on. Defaults to the "note"; rendered with text notes. See draft_layers_show and the layer conventions. |
The border line style value may be configured as documented in draft_line().
Object example
Definition at line 1191 of file operation.scad.
| module draft_title_block | ( | text | , |
| map | = draft_title_block_map_style1, |
||
| zp | = 0, |
||
| number | = false, |
||
| window | = false, |
||
| layers | = _draft_get_config("layers-titleblock") |
||
| ) |
Construct a sheet title block.
| text | <value-list> The list of zone values, where each value is <string | string-list>, a single or multi-line string for the corresponding zone. |
| map | <map> A zone table definition map. |
| zp | <integer-list-2 | integer> The center coordinate scaler. A list [zpx, zpy] of decimals or a single decimal for (zpx=zpy). |
| number | <boolean> Number the defined table zones. |
| window | <boolean> Return table window rectangle. |
| layers | <string-list> The list of drafting layer names to render this object on. Defaults to the "table"; rendered with tables. See draft_layers_show and the layer conventions. |
Object example
A title block is a ztable with a predetermined layout specified by a style map.
Definition at line 1255 of file operation.scad.
| module draft_dim_leader | ( | p | = origin2d, |
| v1 | = 30, |
||
| l1 | = _draft_get_config("dim-leader-length"), |
||
| v2 | , | ||
| l2 | , | ||
| h | , | ||
| t | , | ||
| ts | , | ||
| tp | , | ||
| tr | , | ||
| ta | = "center", |
||
| line | , | ||
| w | = _draft_get_config("dim-leader-weight"), |
||
| s | = _draft_get_config("dim-leader-style"), |
||
| a | = _draft_get_config("dim-leader-arrow"), |
||
| off | = _draft_get_config("dim-offset"), |
||
| cmh | = _draft_get_config("dim-cmh"), |
||
| cmv | = _draft_get_config("dim-cmv"), |
||
| window | = false, |
||
| layers | = _draft_get_config("layers-dim") |
||
| ) |
Construct a dimension leader line at a point.
| p | <point-2d> The leader line point. |
| v1 | <line-2d | decimal> The leader line 1 angle. A 2d line, vector, or decimal angle. |
| l1 | <decimal> The leader line 1 length. |
| v2 | <line-2d | decimal> The leader line 2 angle. A 2d line, vector, or decimal angle. |
| l2 | <decimal> The leader line 2 length. |
| h | <string> An optional text heading. |
| t | <string | string-list> A single or multi-line text string. |
| ts | <decimal-list-3> The text size specification <width, line-height, heading-height>. Sets the note box cell size in units of cmh / cmv. Passed directly to draft_note() as its size parameter. |
| tp | <integer-list-2> The text alignment point. A list [tpx, tpy] of decimals. Requires tr. |
| tr | <decimal> The text rotation angle. |
| ta | <string> The text horizontal alignment. One of: < "left" | "center" | "right" >. |
| line | <value-list-2> The note box border line configuration; <width, style>. Consistent with the line parameter of draft_note(). When not specified, the defaults dim-leader-box-weight and dim-leader-box-style from draft_config_map are used. |
| w | <decimal> The line weight. |
| s | <integer | integer-list> The line style. |
| a | <integer | integer-list-5> The arrowhead style. A single integer selects the style; a list of up to 5 fields customizes fill, side, length, and angle — see the field table in arrow. |
| off | <decimal> The leader point offset. |
| cmh | <decimal> The horizontal width minimum unit cell size. |
| cmv | <decimal> The vertical height minimum unit cell size. |
| window | <boolean> Return text window rectangle. |
| layers | <string-list> The list of drafting layer names to render this object on. Defaults to the "dim"; rendered with dimension annotations. See draft_layers_show and the layer conventions. |
Object example
Definition at line 250 of file dimension.scad.
| module draft_dim_line | ( | p1 | = origin2d, |
| p2 | = origin2d, |
||
| v1 | , | ||
| v2 | , | ||
| t | , | ||
| u | , | ||
| d | = _draft_get_config("dim-line-distance"), |
||
| e | = _draft_get_config("dim-line-extension-length"), |
||
| es | = _draft_get_config("dim-line-extension-style"), |
||
| w | = _draft_get_config("dim-line-weight"), |
||
| s | = _draft_get_config("dim-line-style"), |
||
| a | = _draft_get_config("dim-line-arrow"), |
||
| a1 | , | ||
| a2 | , | ||
| off | = _draft_get_config("dim-offset"), |
||
| ts | = _draft_get_config("dim-text-size"), |
||
| tp | = _draft_get_config("dim-text-place"), |
||
| rm | = _draft_get_config("dim-round-mode"), |
||
| cmh | = _draft_get_config("dim-cmh"), |
||
| cmv | = _draft_get_config("dim-cmv"), |
||
| layers | = _draft_get_config("layers-dim") |
||
| ) |
Construct a dimension line between two points.
| p1 | <point-2d> The dimension point 1. |
| p2 | <point-2d> The dimension point 2. |
| v1 | <line-2d | decimal> The point 1 extension line vector. A 2d line, vector, or decimal angle. |
| v2 | <line-2d | decimal> The point 2 extension line vector. A 2d line, vector, or decimal angle. |
| t | <string | string-list> A single or multi-line text string that overrides the measured distance. |
| u | <string> The units for the measured distance. One of the predefined in Length Units. |
| d | <decimal | decimal-list-2> The minimum distance between the reference point and the start of the extension line. A list [d1, d2] of decimals or a single decimal for (d1=d2). When d1 ≠ d2 the extension lines begin at independent distances from their respective reference points; both arrowheads are then projected onto the dimension line of the farther endpoint so that the dimension line remains straight. |
| e | <decimal | decimal-list-2> The length of the extension line. A list [e1, e2] of decimals or a single decimal for (e1=e2). |
| es | <integer | integer-list> The extension line style. |
| w | <decimal> The line weight. |
| s | <integer | integer-list> The line style. |
| a | <integer | integer-list-5> The arrowhead style applied to both ends. A single integer selects the style; a list of up to 5 fields customises fill, side, length, and angle; see the field table in arrow. |
| a1 | <integer | integer-list-5> The arrowhead 1 override; when set, takes precedence over a for endpoint 1. See the field table in arrow. |
| a2 | <integer | integer-list-5> The arrowhead 2 override; when set, takes precedence over a for endpoint 2. See the field table in arrow. |
| off | <decimal> The dimension line offset. |
| ts | <decimal-list-3> The text size specification <width, line-height, heading-height>. Sets the note box cell size in units of cmh / cmv. Passed directly to draft_note() as its size parameter. |
| tp | <decimal-list-2..4> The text placement point. A list [tpx, tpy] of decimals that scales the note box position along each axis (−1=left/bottom, +1=right/top). An optional 4th element tp[3] adds a rotation offset in degrees applied on top of the computed text angle. |
| rm | <integer> The measurement rounding mode. One of: 0=none, 1=round_d, and 2=round_s. |
| cmh | <decimal> The horizontal width minimum unit cell size. |
| cmv | <decimal> The vertical height minimum unit cell size. |
| layers | <string-list> The list of drafting layer names to render this object on. Defaults to the "dim"; rendered with dimension annotations. See draft_layers_show and the layer conventions. |
Only one of v1 or v2 should normally be used at a time. When neither is specified, the extension line vector angle will be at a right angle to the line formed by the dimension points p1 and p2.
Object example
Definition at line 427 of file dimension.scad.
| module draft_dim_radius | ( | o | = origin2d, |
| p | , | ||
| r | = 1, |
||
| v | , | ||
| t | , | ||
| u | , | ||
| d | = false, |
||
| w | = _draft_get_config("dim-radius-weight"), |
||
| s | = _draft_get_config("dim-radius-style"), |
||
| a | = _draft_get_config("dim-radius-arrow"), |
||
| a1 | , | ||
| a2 | , | ||
| off | = _draft_get_config("dim-offset"), |
||
| ts | = _draft_get_config("dim-text-size"), |
||
| tp | = _draft_get_config("dim-text-place"), |
||
| rm | = _draft_get_config("dim-round-mode"), |
||
| cmh | = _draft_get_config("dim-cmh"), |
||
| cmv | = _draft_get_config("dim-cmv"), |
||
| layers | = _draft_get_config("layers-dim") |
||
| ) |
Construct a radial dimension line.
| o | <point-2d> The radius center point. |
| p | <point-2d> A point on the radius. When p is specified, v is ignored — p takes precedence. Use either p or v, not both. |
| r | <decimal> The radius length. |
| v | <line-2d | decimal> The dimension line angle for radius r. A 2d line, vector, or decimal angle. Ignored when p is also specified. |
| t | <string | string-list> A single or multi-line text string that overrides the measured length. |
| u | <string> The units for the measured length. One of the predefined in Length Units. |
| d | <boolean> Construct a diameter dimension line. |
| w | <decimal> The line weight. |
| s | <integer | integer-list> The line style. |
| a | <integer | integer-list-5> The arrowhead style applied to both ends. A single integer selects the style; a list of up to 5 fields customizes fill, side, length, and angle; see the field table in arrow. |
| a1 | <integer | integer-list-5> The arrowhead 1 override; when set, takes precedence over a for endpoint 1. See the field table in arrow. |
| a2 | <integer | integer-list-5> The arrowhead 2 override; when set, takes precedence over a for endpoint 2. See the field table in arrow. |
| off | <decimal | decimal-list-2> The dimension line offset. A list [o1, o2] of decimals or a single decimal for (o1=o2). |
| ts | <decimal-list-3> The text size specification <width, line-height, heading-height>. Sets the note box cell size in units of cmh / cmv. Passed directly to draft_note() as its size parameter. |
| tp | <decimal-list-2..4> The text placement point. A list [tpx, tpy] of decimals that scales the note box position along each axis (−1=left/bottom, +1=right/top). An optional 4th element tp[3] adds a rotation offset in degrees applied on top of the computed text angle. |
| rm | <integer> The measurement rounding mode. One of: 0=none, 1=round_d, and 2=round_s. |
| cmh | <decimal> The horizontal width minimum unit cell size. |
| cmv | <decimal> The vertical height minimum unit cell size. |
| layers | <string-list> The list of drafting layer names to render this object on. Defaults to the "dim"; rendered with dimension annotations. See draft_layers_show and the layer conventions. |
Object example
Definition at line 661 of file dimension.scad.
| module draft_dim_angle | ( | o | = origin2d, |
| r | = 1, |
||
| v1 | , | ||
| v2 | , | ||
| fn | , | ||
| cw | = false, |
||
| t | , | ||
| u | , | ||
| e | = _draft_get_config("dim-angle-extension-ratio"), |
||
| es | = _draft_get_config("dim-angle-extension-style"), |
||
| w | = _draft_get_config("dim-angle-weight"), |
||
| s | = _draft_get_config("dim-angle-style"), |
||
| a | = _draft_get_config("dim-angle-arrow"), |
||
| a1 | , | ||
| a2 | , | ||
| off | = _draft_get_config("dim-offset"), |
||
| ts | = _draft_get_config("dim-text-size"), |
||
| tp | = _draft_get_config("dim-text-place"), |
||
| rm | = _draft_get_config("dim-round-mode"), |
||
| cmh | = _draft_get_config("dim-cmh"), |
||
| cmv | = _draft_get_config("dim-cmv"), |
||
| layers | = _draft_get_config("layers-dim") |
||
| ) |
Construct a angular dimension arc.
| o | <point-2d> The arc center point. |
| r | <decimal> The arc radius length. |
| v1 | <line-2d | decimal> The arc initial angle. A 2d line, vector, or decimal angle. |
| v2 | <line-2d | decimal> The arc terminal angle. A 2d line, vector, or decimal angle. |
| fn | <integer> The number of facets. |
| cw | <boolean> Sweep clockwise along arc from the head of vector v1 to the head of vector v2 when cw = true, and counter clockwise when cw = false. |
| t | <string | string-list> A single or multi-line text string that overrides the measured angle. |
| u | <string> The units for the measured angle. One of the predefined in Angle Units. |
| e | <decimal | decimal-list-2> The extension line to radius ratio. A list [e1, e2] of decimals or a single decimal for (e1=e2). |
| es | <integer | integer-list> The extension line style. |
| w | <decimal> The arc weight. |
| s | <integer | integer-list> The arc style. |
| a | <integer | integer-list-5> The arrowhead style applied to both ends. A single integer selects the style; a list of up to 5 fields customises fill, side, length, and angle; see the field table in arrow. |
| a1 | <integer | integer-list-5> The arrowhead 1 override; when set, takes precedence over a for endpoint 1. See the field table in arrow. |
| a2 | <integer | integer-list-5> The arrowhead 2 override; when set, takes precedence over a for endpoint 2. See the field table in arrow. |
| off | <decimal> The dimension arc offset. |
| ts | <decimal-list-3> The text size specification <width, line-height, heading-height>. Sets the note box cell size in units of cmh / cmv. Passed directly to draft_note() as its size parameter. |
| tp | <decimal-list-2..4> The text placement point. A list [tpx, tpy] of decimals that scales the note box position along each axis (−1=left/bottom, +1=right/top). An optional 3rd element tp[2] offsets the text pivot angle (degrees) along the arc, and an optional 4th element tp[3] adds a rotation offset in degrees applied on top of the computed text angle. |
| rm | <integer> The measurement rounding mode. One of: 0=none, 1=round_d, and 2=round_s. |
| cmh | <decimal> The horizontal width minimum unit cell size. |
| cmv | <decimal> The vertical height minimum unit cell size. |
| layers | <string-list> The list of drafting layer names to render this object on. Defaults to the "dim"; rendered with dimension annotations. See draft_layers_show and the layer conventions. |
Object example
Definition at line 887 of file dimension.scad.
| module draft_dim_center | ( | o | = origin2d, |
| r | , | ||
| v | = 0, |
||
| l | = _draft_get_config("dim-center-length"), |
||
| e | , | ||
| es | = _draft_get_config("dim-center-extension-style"), |
||
| w | = _draft_get_config("dim-center-weight"), |
||
| s | = _draft_get_config("dim-center-style"), |
||
| layers | = _draft_get_config("layers-dim") |
||
| ) |
Construct a center mark dimension cross.
| o | <point-2d> The center point. |
| r | <decimal> A circular arc radius. |
| v | <line-2d | decimal> The cross rotation angle. A 2d line, vector, or decimal angle. |
| l | <decimal> The cross line length. |
| e | <decimal | decimal-list-4> The length of the extension lines. A list [e1, e2, e3, e4] of decimals or a single decimal for (e1=e2=e3=e4). |
| es | <integer | integer-list> The extension line style. Defaults to dim-center-extension-style from draft_config_map. |
| w | <decimal> The line weight. |
| s | <integer | integer-list> The line style. |
| layers | <string-list> The list of drafting layer names to render this object on. Defaults to the "dim"; rendered with dimension annotations. See draft_layers_show and the layer conventions. |
Object example
Definition at line 1072 of file dimension.scad.
| $draft_scale = 1 |
<integer> Line construction drafting scale multiplier.
This is a special variable (prefixed with $) that propagates automatically through the OpenSCAD child scope. It scales line-level constructions such as line widths and arrowhead sizes.
It is distinct from draft_sheet_scale, which is a plain variable that scales sheet-level geometry but does not propagate through children. In typical use both are set to the same value:
Definition at line 129 of file config.scad.
| draft_sheet_scale = 1 |
<integer> Sheet construction drafting scale multiplier.
This is a plain (non-special) variable set once at design time. It scales all sheet-level constructions — frame dimensions, zone widths, title-block sizes, and table cell sizes — by the given factor. It does not propagate automatically through the OpenSCAD child scope.
Contrast with $draft_scale, which is a special variable that does propagate through children. When constructing elements that must track sheet scale dynamically (e.g., objects placed via draft_move), set $draft_scale explicitly inside the child block:
Both variables default to 1 (no scaling).
Definition at line 159 of file config.scad.
| draft_sheet_size = "A" |
<string> Drafting sheet size identifier.
Sheet sizes
Available sizes in inches table
| sheet size (id) | standard (std) | sheet x-dimension (sdx) | sheet y-dimension (sdy) |
|---|---|---|---|
| A | ANSI | 8.5 | 11 |
| B | ANSI | 11 | 17 |
| C | ANSI | 17 | 22 |
| D | ANSI | 22 | 34 |
| E | ANSI | 34 | 44 |
| A5 | ISO A | 5.86614 | 8.26772 |
| A4 | ISO A | 8.26772 | 11.6929 |
| A3 | ISO A | 11.6929 | 16.5354 |
| A2 | ISO A | 16.5354 | 23.3858 |
| A1 | ISO A | 23.3858 | 33.1102 |
| A0 | ISO A | 33.1102 | 46.811 |
| B5 | ISO B | 6.9685 | 9.84252 |
| B4 | ISO B | 9.84252 | 13.937 |
| B3 | ISO B | 13.937 | 19.685 |
| B2 | ISO B | 19.685 | 27.8346 |
| B1 | ISO B | 27.8346 | 39.3701 |
| B0 | ISO B | 39.3701 | 55.6693 |
| Letter | Other | 8.5 | 11 |
| Legal | Other | 8.5 | 14 |
| Executive | Other | 7.5 | 10 |
| C5E | Other | 6.41732 | 9.01575 |
| Comm10 | Other | 4.13386 | 9.48819 |
| DLE | Other | 4.33071 | 8.66142 |
| Folio | Other | 8.26772 | 12.9921 |
| Ledger | Other | 17.0079 | 10.9843 |
| Tabloid | Other | 10.9843 | 17.0079 |
Available sizes in mm table
| sheet size (id) | standard (std) | sheet x-dimension (sdx) | sheet y-dimension (sdy) |
|---|---|---|---|
| A | ANSI | 215.9 | 279.4 |
| B | ANSI | 279.4 | 431.8 |
| C | ANSI | 431.8 | 558.8 |
| D | ANSI | 558.8 | 863.6 |
| E | ANSI | 863.6 | 1117.6 |
| A5 | ISO A | 149 | 210 |
| A4 | ISO A | 210 | 297 |
| A3 | ISO A | 297 | 420 |
| A2 | ISO A | 420 | 594 |
| A1 | ISO A | 594 | 841 |
| A0 | ISO A | 841 | 1189 |
| B5 | ISO B | 177 | 250 |
| B4 | ISO B | 250 | 354 |
| B3 | ISO B | 354 | 500 |
| B2 | ISO B | 500 | 707 |
| B1 | ISO B | 707 | 1000 |
| B0 | ISO B | 1000 | 1414 |
| Letter | Other | 215.9 | 279.4 |
| Legal | Other | 215.9 | 355.6 |
| Executive | Other | 190.5 | 254 |
| C5E | Other | 163 | 229 |
| Comm10 | Other | 105 | 241 |
| DLE | Other | 110 | 220 |
| Folio | Other | 210 | 330 |
| Ledger | Other | 432 | 279 |
| Tabloid | Other | 279 | 432 |
Definition at line 376 of file config.scad.
| draft_sheet_config = "L84TS" |
<string> Drafting sheet configuration identifier.
Available configurations:
Sheet configurations table
| configuration name (id) | configuration description (info) |
|---|---|
| L84TS | Small sheet landscape layout with 8x4 traditional zones |
| P48TS | Small sheet Portrait layout with 4x8 traditional zones |
Configuration keys table
| key | value |
|---|---|
| id | configuration name |
| info | configuration description |
| sll | sheet landscape layout |
| smx | sheet margin x |
| smy | sheet margin y |
| szm | zone margin xy |
| zox | zone ordering x |
| zoy | zone ordering y |
| zlx | zone labels x |
| zly | zone labels y |
| zrf | zone reference font |
| zfs | zone font scaling |
| slc | sheet line config |
| flc | frame line config |
| zlc | zone line config |
| glc | grid line config |
| olc | origin line and arrow config |
Definition at line 596 of file config.scad.
| draft_layers_show = ["all"] |
<string-list> List of active drafting layer names.
Controls which layers are rendered. Only modules whose layers parameter contains at least one name that also appears in this list will produce geometry.
The string "all" is a wildcard that matches every layer list, so setting this variable to ["all"] renders everything regardless of individual layer assignments.
Layer names are arbitrary strings. The library assigns the following default names by module category:
| layer name | category |
|---|---|
"default" | general-purpose geometry (draft_in_layers) |
"sheet" | sheet frame, zones, rulers, axes |
"table" | tables (draft_table, draft_ztable) |
"note" | text notes (draft_note) |
"titleblock" | title block (draft_title_block) |
"dim" | all dimension modules |
Custom layer names can be used freely — pass any string as the layers argument to any module, then include that same string here to enable it.
Example — render geometry and dimensions only:
Example — render everything:
Example — render a custom layer alongside the sheet:
Definition at line 649 of file config.scad.
| draft_config_map_style1 |
<map> A drafting configuration map; style1.
Configuration values for drafting primitives and tools. Specific values can be overridden as shown in draft_config_map or completely new maps may assembled to implement new styles as desired.
style1 table
| key | value |
|---|---|
| font-sheet-zone-reference | Liberation Sans |
| font-title-block-heading | Liberation Sans |
| font-title-block-entry | Liberation Sans |
| font-table-title | Liberation Sans |
| font-table-heading | Liberation Sans |
| font-table-entry | Liberation Sans |
| make-3d-height | 1 |
| line-width-min | 0.2 |
| line-segment-min | 1.25 |
| line-use-hull | true |
| arrow-line-length-min | 4 |
| arrow-angle-min | 15 |
| table-cmh | 6.35 |
| table-cmv | 6.35 |
| table-coh | 1 |
| table-cov | -1 |
| table-hlines | [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]] |
| table-vlines | [[0, 0], [0, 0], [0, 0]] |
| table-text-format | ["", [-1, -1], [0.4, -0.9], [0, -1.2], 0, 1, ["left", "center"]] |
| note-cmh | 6.35 |
| note-cmv | 6.35 |
| dim-cmh | 3.175 |
| dim-cmv | 3.175 |
| dim-text-place | [0, 1] |
| dim-text-size | undef |
| dim-round-mode | [1, 2] |
| dim-offset | 0.79375 |
| dim-leader-length | 12.7 |
| dim-leader-weight | 1 |
| dim-leader-style | 1 |
| dim-leader-arrow | [2, 1] |
| dim-leader-box-weight | 1 |
| dim-leader-box-style | 1 |
| dim-line-weight | 1 |
| dim-line-style | 1 |
| dim-line-arrow | 2 |
| dim-line-extension-style | 1 |
| dim-line-extension-length | 6.35 |
| dim-line-distance | 9.525 |
| dim-radius-weight | 1 |
| dim-radius-style | 1 |
| dim-radius-arrow | 2 |
| dim-angle-weight | 1 |
| dim-angle-style | 1 |
| dim-angle-arrow | 2 |
| dim-angle-extension-style | 3 |
| dim-angle-extension-ratio | 1 |
| dim-center-length | 1.5875 |
| dim-center-weight | 0.5 |
| dim-center-style | 1 |
| dim-center-extension-style | 3 |
| layers-default | ["all", "default"] |
| layers-sheet | ["all", "sheet"] |
| layers-table | ["all", "table"] |
| layers-note | ["all", "note"] |
| layers-titleblock | ["all", "titleblock"] |
| layers-dim | ["all", "dim"] |
All dimensions are in millimeters.
Definition at line 819 of file config.scad.
| draft_config_map = draft_config_map_style1 |
<map> Drafting configuration defaults map.
The following examples demonstrates how to override select values of an existing configuration map.
Example:
Definition at line 968 of file config.scad.
| draft_title_block_map_style1 |
<map> A title block map; style 1.
A title block is constructed using zoned tables. A new layout can be designed by defining a new map or by merging overrides to this style map. The map keys and structure depends on the implementation of the title block rendering operation.
Definition at line 1221 of file config.scad.