Package Documentation

Object: LINEAR-DIMENSION (The :GEOM-BASE Package)
Mixins: OUTLINE-SPECIALIZATION-MIXIN, BASE-OBJECT

Description

Creates a dimension along either the horizontal, vertical, or an arbitray axis. Use horizontal-dimension, vertical-dimension, or parallel-dimension, respectively, to achieve these.


Input Slots (required)

BASE-PLANE-NORMAL

Must be specified in the subclass except for angular


END-POINT 3d point

Actual point where the dimension will stop measuring


LEADER-DIRECTION-1-VECTOR

Must be specified in the subclass except for angular


LEADER-DIRECTION-2-VECTOR

Must be specified in the subclass except for angular


START-POINT 3d point

Actual point where the dimension will start measuring


WITNESS-DIRECTION-VECTOR

Must be specified in the subclass except for angular



Input Slots (optional)

ARROWHEAD-LENGTH length (from tip to tail) of arrowhead glyph

Defaults to twice the arrowhead-width


ARROWHEAD-STYLE keyword symbol

Style for arrowhead on end of leader-line. Currently supported values are :none, :wedge (the Default), and :double-wedge.


ARROWHEAD-STYLE-2 keyword symbol

Style for arrowhead on end of leader-line. Currently supported values are :none (the Default), :wedge, and :double-wedge.


ARROWHEAD-WIDTH width of arrowhead glyph

Defaults to half the character-size.


BOUNDING-BOX [from BASE-OBJECT] list of two 3d points

The left front bottom and right rear top corners, in global coordinates, of the rectangular volume bounding the tree of geometric objects rooted at this object.


CHARACTER-SIZE number

Size (glyph height) of the label text, in model units. Defaults to 1.


DIM-TEXT string

Determines the text which shows up as the dimension label. Defaults to the dim-value, which is computed specially in each specific dimension type.


DIM-TEXT-BIAS keyword symbol, :start, :end, or :center

Indicates where to position the text in the case when outside-leaders? is non-nil. Defaults to :center


DIM-TEXT-START 3d point

Determines where the text will start. Defaults to halfway between start-point and end-point.


DIM-TEXT-START-OFFSET 3d vector (normally only 2d are used)

. The dim-text-start is offset by this vector, in model space. Defaults to #(0.0 0.0 0.0)


DIM-VALUE number

2D distance relative to the base-plane-normal. Can be over-ridden in the subclass


DXF-FONT string

This names the DXF font for this general-note. Defaults to (the font).


DXF-OFFSET number

The start of text will be offset by this amount for DXF output. Default is 2.


DXF-SIZE-RATIO number

The scale factor for DXF character size vs PDF character size. Default is 0.8


DXF-TEXT-X-SCALE number in percentage

Adjusts the character width for DXF output. Defaults to the text-x-scale.


FLIP-LEADERS? boolean

Indicates which direction the witness lines should take from the start and end points. The Default is NIL, which indicates :rear (i.e. ``up'') for horizontal-dimensions and :right for vertical-dimensions


FONT string naming a standard pdf font

Font for the label text. Defaults to "Helvetica"


FULL-LEADER-LINE-LENGTH number

Indicates the length of the full leader when outside-leaders? is nil. This defaults to nil, which indicates that the full-leader's length should be auto-computed based on the given start-point and end-point.


HIDDEN? [from VANILLA-MIXIN*] boolean

Indicates whether the object should effectively be a hidden-object even if specified in :objects. Default is nil.


IMAGE-FILE [from BASE-OBJECT] pathname or string

Points to a pre-existing image file to be displayed instead of actual geometry for this object. Defaults to nil


JUSTIFICATION keyword symbol, :left, :right, or :center

. For multi-line dim-text, this justification is applied.


LEADER-1? boolean

Indicates whether the first (or only) leader line should be displayed. The Default is T


LEADER-2? boolean

Indicates whether the second leader line should be displayed. The Default is T


LEADER-LINE-LENGTH number

Indicates the length of the first leader for the case when outside-leaders? is non-NIL


LEADER-LINE-LENGTH-2 number

Indicates the length of the second leader for the case when outside-leaders? is non-NIL


LEADER-TEXT-GAP number

Amount of gap between leader lines and dimension text, when the dimension text is within the leader. Defaults to half the character-size.


OBLIQUENESS [from BASE-OBJECT] 3x3 orthonormal matrix of double-float numbers

This is synonymous with the orientation.


ONCLICK-FUNCTION [from BASE-OBJECT] lambda function of zero arguments, or nil

If non-nil, this function gets invoked when the user clicks the object in graphics front-ends which support this functionality, e.g. SVG/Raphael and X3DOM.


ORIENTATION [from BASE-OBJECT] 3x3 matrix of double-float numbers

Indicates the absolute Rotation Matrix used to create the coordinate system of this object. This matrix is given in absolute terms (i.e. with respect to the root's orientation), and is generally created with the alignment function. It should be an orthonormal matrix, meaning each row is a vector with a magnitude of one (1.0).


OUTLINE-SHAPE-TYPE keyword symbol

Currently can be :bubble, :rectangle, or :none. Default is :none.


OUTSIDE-LEADERS-LENGTH-FACTOR number

Indicates the default length of the outside-leaders as a multiple of arrowhead-length. Defaults to 3.


OUTSIDE-LEADERS? boolean

Indicates whether the leader line(s) should be inside or outside the interval between the start and end points. The default is NIL, which indicates that the leader line(s) should be inside the interval


ROOT [from VANILLA-MIXIN*] gdl instance

The root-level node in this object's ``tree'' (instance hierarchy).


SAFE-CHILDREN [from VANILLA-MIXIN*] list of gdl instances

All objects from the :objects specification, including elements of sequences as flat lists. Any children which throw errors come back as a plist with error information


STRINGS-FOR-DISPLAY [from VANILLA-MIXIN*] string or list of strings

Determines how the name of objects of this type will be printed in most places. This defaults to the name-for-display (generally the part's name as specified in its parent), followed by an index number if the part is an element of a sequence.


TEXT-ABOVE-LEADER? boolean

Indicates whether the text is to the right or above the leader line, rather than in-line with it. Default is T.


TEXT-ALONG-AXIS? boolean

Where applicable, determines whether text direction follows leader-line direction


TEXT-X-SCALE number in percentage

Adjusts the character width for the dimension-text and currently only applies only to PDF output


UNDERLINE?

GDL


VIEW-REFERENCE-OBJECT gdl object or nil

View object which will use this dimension. Defaults to NIL.


VISIBLE-CHILDREN [from VANILLA-MIXIN*] list of gdl instances

Additional objects to display in Tatu tree. Typically this would be a subset of hidden-children. Defaults to NIL.


WITNESS-LINE-2? boolean

Indicates whether to display a witness line coming off the end-point. Default is T


WITNESS-LINE-EXT number

Distance the witness line(s) extend beyond the leader line. Default is 0.3


WITNESS-LINE-GAP number

Distance from the start-point and end-point to the start of each witness-line. Default is 0.1


WITNESS-LINE-LENGTH number

Length of the witness lines (or of the shorter witness line in case they are different lengths)


WITNESS-LINE? boolean

Indicates whether to display a witness line coming off the start-point. Default is T



Input Slots (optional, defaulting)

CENTER [from BASE-OBJECT] 3d point

Indicates in global coordinates where the center of the reference box of this object should be located.


DISPLAY-CONTROLS [from BASE-OBJECT] plist

May contain keywords and values indicating display characteristics for this object. The following keywords are recognized currently:

:color
color keyword from the *color-table* parameter, or an HTML-style hexidecimal RGB string value, e.g. "#FFFFFF" for pure white. Defaults to :black.
:line-thickness
an integer, defaulting to 1, indicating relative line thickness for wireframe representations of this object.
:dash-pattern
(currently PDF/PNG/JPEG only). This is a list of two or three numbers which indicate the length, in pixels, of the dashes and blank spaces in a dashed line. The optional third number indicates how far into the line or curve to start the dash pattern.


HEIGHT [from BASE-OBJECT] number

Z-axis dimension of the reference box. Defaults to zero.


LENGTH [from BASE-OBJECT] number

Y-axis dimension of the reference box. Defaults to zero.


WIDTH [from BASE-OBJECT] number

X-axis dimension of the reference box. Defaults to zero.


Package Documentation