Object: HORIZONTAL-DIMENSION (The :GEOM-BASE Package) |
Mixins: LINEAR-DIMENSION, VANILLA-MIXIN |
Input Slots (required) | |
END-POINT [from LINEAR-DIMENSION] 3d point | |
Actual point where the dimension will stop measuring | |
START-POINT [from LINEAR-DIMENSION] 3d point | |
Actual point where the dimension will start measuring | |
Input Slots (optional) | |
ARROWHEAD-LENGTH [from LINEAR-DIMENSION] length (from tip to tail) of arrowhead glyph | |
Defaults to twice the arrowhead-width | |
ARROWHEAD-STYLE [from LINEAR-DIMENSION] keyword symbol | |
Style for arrowhead on end of leader-line. Currently supported values are :none, :wedge (the Default), and :double-wedge. | |
ARROWHEAD-STYLE-2 [from LINEAR-DIMENSION] keyword symbol | |
Style for arrowhead on end of leader-line. Currently supported values are :none (the Default), :wedge, and :double-wedge. | |
ARROWHEAD-WIDTH [from LINEAR-DIMENSION] width of arrowhead glyph | |
Defaults to half the character-size. | |
BASE-PLANE-NORMAL [from LINEAR-DIMENSION] | |
Must be specified in the subclass except for angular | |
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 [from LINEAR-DIMENSION] number | |
Size (glyph height) of the label text, in model units. Defaults to 1. | |
DIM-TEXT [from LINEAR-DIMENSION] 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 [from LINEAR-DIMENSION] 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 reasonable location for horizontal-dimension. | |
DIM-TEXT-START-OFFSET [from LINEAR-DIMENSION] 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 [from LINEAR-DIMENSION] number | |
2D distance relative to the base-plane-normal. Can be over-ridden in the subclass | |
DXF-FONT [from LINEAR-DIMENSION] string | |
This names the DXF font for this general-note. Defaults to (the font). | |
DXF-OFFSET [from LINEAR-DIMENSION] number | |
The start of text will be offset by this amount for DXF output. Default is 2. | |
DXF-SIZE-RATIO [from LINEAR-DIMENSION] number | |
The scale factor for DXF character size vs PDF character size. Default is 0.8 | |
DXF-TEXT-X-SCALE [from LINEAR-DIMENSION] number in percentage | |
Adjusts the character width for DXF output. Defaults to the text-x-scale. | |
FLIP-LEADERS? [from LINEAR-DIMENSION] 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 [from LINEAR-DIMENSION] string naming a standard pdf font | |
Font for the label text. Defaults to "Helvetica" | |
FULL-LEADER-LINE-LENGTH [from LINEAR-DIMENSION] 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 [from LINEAR-DIMENSION] keyword symbol, :left, :right, or :center | |
. For multi-line dim-text, this justification is applied. | |
LEADER-1? [from LINEAR-DIMENSION] boolean | |
Indicates whether the first (or only) leader line should be displayed. The Default is T | |
LEADER-2? [from LINEAR-DIMENSION] boolean | |
Indicates whether the second leader line should be displayed. The Default is T | |
LEADER-LINE-LENGTH [from LINEAR-DIMENSION] number | |
Indicates the length of the first leader for the case when outside-leaders? is non-NIL | |
LEADER-LINE-LENGTH-2 [from LINEAR-DIMENSION] number | |
Indicates the length of the second leader for the case when outside-leaders? is non-NIL | |
LEADER-TEXT-GAP [from LINEAR-DIMENSION] 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 [from LINEAR-DIMENSION] keyword symbol | |
Currently can be :bubble, :rectangle, or :none. Default is :none. | |
OUTSIDE-LEADERS-LENGTH-FACTOR [from LINEAR-DIMENSION] number | |
Indicates the default length of the outside-leaders as a multiple of arrowhead-length. Defaults to 3. | |
OUTSIDE-LEADERS? [from LINEAR-DIMENSION] 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? [from LINEAR-DIMENSION] 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? [from LINEAR-DIMENSION] boolean | |
Where applicable, determines whether text direction follows leader-line direction | |
TEXT-X-SCALE [from LINEAR-DIMENSION] number in percentage | |
Adjusts the character width for the dimension-text and currently only applies only to PDF output | |
UNDERLINE? [from LINEAR-DIMENSION] | |
GDL | |
VIEW-REFERENCE-OBJECT [from LINEAR-DIMENSION] 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? [from LINEAR-DIMENSION] boolean | |
Indicates whether to display a witness line coming off the end-point. Default is T | |
WITNESS-LINE-EXT [from LINEAR-DIMENSION] number | |
Distance the witness line(s) extend beyond the leader line. Default is 0.3 | |
WITNESS-LINE-GAP [from LINEAR-DIMENSION] number | |
Distance from the start-point and end-point to the start of each witness-line. Default is 0.1 | |
WITNESS-LINE-LENGTH [from LINEAR-DIMENSION] number | |
Length of the witness lines (or of the shorter witness line in case they are different lengths) | |
WITNESS-LINE? [from LINEAR-DIMENSION] 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:
| |
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. | |
Computed Slots | |
LEADER-DIRECTION-1-VECTOR [from LINEAR-DIMENSION] | |
Must be specified in the subclass except for angular | |
LEADER-DIRECTION-2-VECTOR [from LINEAR-DIMENSION] | |
Must be specified in the subclass except for angular | |
WITNESS-DIRECTION-VECTOR [from LINEAR-DIMENSION] | |
Must be specified in the subclass except for angular | |
(in-package :gdl-user) (define-object box-view (base-object) :objects ((box :type 'box :length 10 :width (* (the-child length) +phi+) :height (* (the-child :width) +phi+)) (width-dimension :type 'horizontal-dimension :character-size (/ (the box length) 20) :arrowhead-width (/ (the-child character-size) 3) :start-point (the box (vertex :top :left :rear)) :end-point (the box (vertex :top :right :rear))))) (generate-sample-drawing :object-roots (make-object 'box-view))