| Chapter 4 -- Variables |
|---|
|
The variables listed in this
chapter access DataCAD's internal variables. These variables can
only be passed as mode IN parameters; they cannot be used as mode
OUT or mode IN OUT parameters. They can be read from and written to
like regular variables. All these variables can be accessed from
DataCAD.
When your macro performs a function similar to a DataCAD function (adding special door types, for instance), use the DataCAD variable for that function (door height, thickness, etc.). I/O Variables Plotter Variables The variables in this section contain various user settings. These variables do not effect plotting as done through DCAL, but instead effect plotting done through DataCAD. They are available in DCAL so that a macro can be consistent with the DataCAD Plotting menu. pltcentx pltcentx : real; The x value of the center of the current plot, as defined in world coordinates. pltcenty pltcenty : real; The y value of the center of the current plot, as defined in world coordinates. pltcolor pltcolor : boolean; The current user setting for producing a color plot. pltpcustx pltpcustx : real; The custom x paper size in inches. Notice that the units are inches, not 1/32s of an inch which is the base unit in world coordinates. pltpcusty pltpcusty : real; The custom y paper size in inches. The following code determines the world coordinate sizes of the currently selected paper size: IF pltpsize = 1 THEN x := 10.5; y := 8.0; ELSIF pltpsize = 2 THEN x := 16.0; y := 10.0; ELSIF pltpsize = 3 THEN x := 21.0; y := 16.0; ELSIF pltpsize = 4 THEN x := 33.0; y := 21.0; ELSIF pltpsize = 5 THEN x := 43.0; y := 33.0; ELSE x := pltpcustx; y := pltpcusty; END; { convert from inches to world coordinates } x := x * 32.0; y := y * 32.0; pltpensort pltpensort : boolean; The current user setting for pen sorting. pltpenspeed pltpenspeed : integer; The setting of the plotter pen speed. Not all plotters support pen speeds set within the program. pltpenwidth pltpenwidth : integer; The setting of the plotter pen width. pltpsize pltpsize : integer; The paper size used by the plotter. The following values are valid: 1 8 x 10.5 2 10 x 16 3 16 x 21 4 12 x 32 5 33 x 43 6 Custom (see pltpcustx and pltpcusty) pltrot pltrot : boolean; true when DataCAD rotates the plots. pltrotang pltrotang : real; When pltrot is true, pltrotang is the angle of rotation for the plot. pltrotcentx pltrotcentx : real; The x value of the center of rotation when DataCAD is doing a rotated plot. pltrotcenty pltrotcenty : real; The y value of the center of rotation when DataCAD is doing a rotated plot. pltscalenum pltscalenum : integer; The current plotter scale index setting. See the procedure scale_get for more information on scale indices. Data Variables Doors, Walls , and Windows These variables access information about doors, walls, and windows. Most of these variables are accessible from the Architect menu. centwall centwall : boolean; true if you are currently specifying walls by their center lines. When centwall is false, walls are drawn by one side and DataCAD asks you to point to the other side. cut_lyr cut_lyr : layer; The layer that DataCAD searches for wall lines when cut_srch is true. cut_srch cut_srch : boolean; Controls whether the DataCAD cutout function searches for lines on the current layer (cut_srch = false) or on the layer determined by cut_lyr (cut_srch = true). docut docut : boolean; true when the procedure that places a door or window in a wall cuts the wall opening, otherwise the wall is not cut. This is the same variable as is toggled on the Architect menu. dojamb dojamb : boolean; true when jambs are drawn when an opening is cut. This is the same variable as is toggled on the Architect menu. doorang doorang : real; The angle that determines the opening of a door. This is the same variable that is accessed from the Doors menu under Architect. doorhgt doorhgt : real; The height of a door. doorthk doorthk : real; The door thickness. doortype doortype : integer; The type of door being drawn at the DataCAD Door menu. Its values are: 0 Single 1 Double 2 Bi-fold 3 Sliding glassthk glassthk : real; The thickness of the pane of glass that is drawn in the window routines. A thickness of zero means only one line is drawn, rather than two. headhgt headhgt : real; The header height for windows. jambwth jambwth : real; The jamb width for doors and windows. sidedoor sidedoor : boolean; true when doors and windows are drawn by their sides (jambs). false when they are drawn by their center and one side. This variable is used for both doors and windows. sillhgt sillhgt : real; The window sill height. sillin sillin : real; The window sill width on the inside of the wall. sillout sillout : real; The window sill width on the outside of the wall. wallend wallend : integer; The wall end condition; valid values are: wall_none Nothing is done at the ends. wall_clip T-intersect with nearest wall. wall_cap Wall is capped. wallhilite wallhilite : boolean; Controls wall highlighting when getesc is called. wallhiliteout wallhiliteout : boolean; Controls whether wall highlighting highlights the inside or outside wall. true means the outside wall is highlighted when wallhilite is also true. wallhilitecolor wallhilitecolor : integer; wallhilitecolor is the color used for highlighting wall lines. wallhilitewidth wallhilitewidth : integer; The line width (weight) used for highlighting wall lines. wallson wallson : integer; Determines when walls are drawn. The valid values for wallson are: wall_on Draw walls. wall_off Don't draw walls. wall_on and wall_off are described in the "Constants" chapter. wallwidth wallwidth : real; The current wall width being drawn. Entity Property Variables The variables in this section are associated with entities that are added to the drawing database. lineattr lineattr : integer; Contains the attribute that is assigned to added entities. This value is put into the attr field of a variable of type entity. This is used for such purposes as distinguishing hatching lines from wall boundary lines. linecolor linecolor : integer; The color assigned to the entities that are added to the database. This variable is assigned by layer, and changing its value changes the value for the current layer only. Changing this variable does not change the color of the layer name on the screen. You must call wrtlyr to force the layer name to change. lineosht lineosht : real; The current line overshoot factor. Each line is drawn this distance past its actual end point. linespcg linespcg : real; The current line spacing distance. It is the distance of each line pattern repeat (dot to dot, dash to dash, etc). linetype linetype : integer; The line type used for entities added to the database. It may take any of the values: ltype_solid, ltype_dotted, ltype_dashed, or ltype_dotdash. In addition, any of the user- defined line types may be specified. These line types are assigned numbers begining at 4; the first user line type is given the number 4, the next 5, etc. linewidth linewidth : integer; linewidth is the line width (also called line weight) given to entities added to the database. This value is assigned to the field width of a variable of type entity. Polygon Variables The variables in this section are used in DataCAD's 2D Polygon menu. plyrect plyrect : boolean; Controls whether the 2D Polygon menu enters regular polygons or rectangles. When it is true the menu starts off in the polygon entry state. polycntr polycntr : boolean; Controls whether DataCAD adds a center point to the regular polygons it enters on the Polygons menu. The center point is added when polycntr is true. polydiam polydiam : boolean; true creates polygons by the diameter of the inscribing or circumscribing circle. When false, polygons are created by the center and one point on a radius. polyinsd polyinsd : boolean; true inscribes polygons inside their defining circle. When false, polygons are circumscribed about the defining circle. polysides polysides : integer; The number of sides used in the regular polygons. polyvert polyvert : boolean; true when the second point entered to define a polygon is at a vertex. When it is false, the second point defines a point on a face of the polygon. Symbol Variables The variables in this section are used when entering symbols from the template window. symang symang : real; symang is the current symbol rotation around the z axis.
symenlx symenlx : real; symenlx is the current symbol enlargement factor in the x direction. symenly symenly : real; symenly is the current symbol enlargement factor in the y direction. symenlz symenlz : real; symenlz is the current symbol enlargement factor in the z direction. symexplode symexplode : boolean; true when instances of symbols entered at DataCAD's Template menu are exploded into their constituent entities. symzoffset symzoffset : real; The z offset of instances of symbols entered in DataCAD. Processing Variables Grid Variables These variables control the grid on the current layer. Unless noted, every layer has its own copy of these variables; therefore, changing layers may cause the value of these variables to change. Changing these variables does not cause the grid to redraw. grid1sz grid1sz : integer; The size of the secondary display grid (the grid of crosses) measured in pixels. This is a global variable, that is, there is not a unique copy of this variable for every layer. gridang gridang : real; The angle of the grid and cursor on the current layer. gridclr gridclr : integer; The color of the primary display grid (the grid of dots). This is a global variable, that is, there is not a unique copy of this variable for every layer. gridclr1 gridclr1 : integer; The color of the secondary display grid (the grid of crosses). This is a global variable, that is, there is not a unique copy of this variable for every layer. gridorgx gridorgx : real; The x coordinate of the grid origin on the current layer. Changing this variable does not cause the grid to redraw. Each layer has its own grid origin. gridorgy gridorgy : real; The y coordinate of the grid origin on the current layer. Changing this variable does not cause the grid to redraw. Each layer has its own grid origin. gridshow gridshow : boolean; Determines when the main grid on the current layer (the grid of dots) is drawn. gridshowx gridshowx : real; The x spacing of the grid of dots on the current layer. gridshowy gridshowy : real; The y spacing of the grid of dots on the current layer. gridshw1 gridshw1 : boolean; true when the secondary grid (the grid of crosses ) is drawn. gridshw1x gridshw1x : real; The x spacing for the secondary displayed grid. gridshw1y gridshw1y : real; The y spacing for the secondary displayed grid. gridsnap gridsnap : boolean; true when the cursor snaps to the snap grid. gridsnapx gridsnapx : real; The x distance of the snap grid. gridsnapy gridsnapy : real; The y distance of the snap grid. numdivs numdivs : integer; The number of divisions that orthographic mode is using. When numdivs = 8, orthmode snaps every 45 degrees. orthmode orthmode : boolean; true when orthographic snapping mode is on. When orthmode is false, orthographic snapping is off. Object Snap Variables The variables in this section control the current object snap modes. osnap_mode osnap_mode : integer; For a description of the values that this variable can have, see the "Constants" chapter. osnap_num osnap_num : integer; This variable is used when one of the object snap modes currently in use is osnap_npoint. The line or arc is divided into osnap_num divisions before snapping occurs. Text Variables The variables in this section control text entry and display. txtaline txtaline : integer; txtaline determines the type of text alignment currently used when text is entered. The allowed values are: 0 Left justified 1 Center justified 2 Right justified txtang txtang : real; The angle at which text is entered. txtaspect txtaspect : real; The aspect ratio of text that is entered. txtboxclr txtboxclr : integer; The color of text boxes when text is too small to draw or when txton is false. If txtboxclr is 0, then text boxes are drawn as the color of the text entity currently being drawn. txtboxmin txtboxmin : integer; When text entities are less than txtboxmin pixels tall, text boxes are drawn instead of the text itself. txton txton : boolean; When txton is true, text is drawn when text entities are drawn, subject to txtboxmin. When txton is false, text is drawn as boxes when text entities are drawn. txtsize txtsize : real; The size (in world coordinates) of entered text. txtslant txtslant : real; The slant (in radians) of entered text. txtweight txtweight : integer; The line weight of entered text. Hidden Line Removal The variables in this section control the operation of the DataCAD hidden line removal system. hidecolor hidecolor : integer; Controls the line color used when DataCAD adds hidden lines. hideltype hideltype : integer; Controls the line type used when DataCAD adds hidden lines. hidepierce hidepierce : boolean; Controls the state of the pierce algorithm used in the hidden line removal system. When hidepierce is true, pierce calculations are performed. hidespcg hidespcg : real; Controls the hidden line removal line spacing factor. hidewidth hidewidth : integer; Controls the line width used for hidden lines. Miscellaneous Variables The variables in this section control several DataCAD functions. Some of them control how DataCAD looks, while others control what DataCAD does. anglestyle anglestyle : Integer; Controls DataCAD's current angle style: 0 Degrees, Minutes, Seconds 1 Bearings 2 Not used 3 Decimal Degrees 4 Radians 5 Gradians aperture aperture : boolean; Controls the display of the "miss distance" box around the DataCAD cursor. arrowratio arrowratio : Real; Controls arrow aspect ratio: Length/Width. arrowsize arrowsize : Real; Controls the size of arrows drawn in the text menu. Size is relative to current text size. arrowstyl arrowstyl : Integer; Controls the current style of arrow being drawn: 0 Open 1 Closed 2 Bridge atrdraw atrdraw : boolean; When atrdraw is true visible attributes that belong to entities are drawn along with the entity. You can't control this variable from the standard DataCAD interface. autopath autopath : Boolean; Automatic creation and setting of path for symbol files. bigcurs bigcurs : boolean; Controls the drawing of the full screen cursor. When bigcurs is true, the full screen cursor is drawn. When it is false, the small cursor is drawn. This variable is toggled by the plus (+) key. boxsym boxsym : Integer; Minimum size, in pixels, of symbols before boxes are drawn. chamfera chamfera : real; The length of the chamfer for the first line entered in the Chamfer menu. chamferb chamferb : real; The length of the chamfer for the second line entered in the Chamfer menu. circlefact circlefact : Real; Factor for 2D curve drawing precision. clockwise clockwise : Boolean; When true, angles increase in a clockwise direction. constref constref : boolean; true when the distance read out at the bottom of the screen is the distance from the constant reference point (usually the origin). When constref is false, the distance is measured from the last point entered (see refpnt). copyflag copyflag : Boolean; The AndCopy toggle in Move, Rotate, and Enlarge. crcdiv1 crcdiv1 : integer; The default primary circle divisions used with three-dimensional circular entities such as arcs and domes. crcdiv2 crcdiv2 : integer; The default secondary circle divisions used with three-dimensional circular entities such as domes and tori. curssz curssz : integer; The size, in pixels, of each arm of the small cursor. curvecenters curvecenters : Boolean; Controls center point display for 2D curves. dimcontrolpts dimcontrolpts : boolean; Controls the display of associative dimension control points. dimlimits dimlimits : boolean; When true, limits are added to dimensions. dimminustol DimMinusTol : Real; Minus tolerance amount used with DimTolerance and DimLimits. dimminustolang DimMinusTolAng : Real; Minus tolerance amount used with DimTolerance and DimLimits for angular dimensions. dimmon dimmon Boolean; Controls the display of associative dimensions. dimorient dimorient : integer; The current default dimensioning orientation. 0 Horizontal 1 Vertical 2 Aligned 3 Rotated dimplustol dimplustol : real; Plus tolerance amount used with dimtolerance and dimlimits. dimplustolang dimplustolang : Real; Plus tolerance amount used with DimTolerance and DimLimits for angular dimensions. dimticcolor dimticcolor : integer; The color of arrows to add to all dimensions. dimtolerance dimtolerance : boolean; When true, tolerances are added to dimensions. dimtxtcolor dimtxtcolor : integer The color of text to add to all dimensions. distancesync distancesync : Boolean; The dissync toggle in the Settings menu. distdelay distdelay : Integer; Delay time for distance readout. drawlines drawlines : boolean; When drawlines are true, entities are drawn with their appropriate line type. When drawlines are false, entities, even those with a user-defined line type, are drawn with solid lines. This can speed up redrawing the display. This variable is toggled in the Display menu under Userline. drawmarks drawmarks : boolean; Controls the drawing of markers every time a point is entered. These marks are drawn to the screen only and are not remembered. They disappear during the next screen refresh. dynamic dynamic : Boolean; The Dynamic toggle in 2D Curve Creation menus. dynamictxt dynamictxt : boolean; Controls the Dynamic toggle on the Text menu. enlcopy enlcopy : boolean; Controls the state of the AndCopy flag in the Enlarge menu. filcut filcut : boolean; When true, the lines that are pointed to during a fillet are cut back to join the resulting arc. When filcut is false, the lines are not modified. filrad filrad : real; The radius of the arc used for a fillet. findhatch findhatch : Boolean; When false, hatch lines are ignored for entity searches in object snapping. hatchon hatchon : Boolean; Controls hatch line displays. hither hither : real; The distance from the viewer to the hither clipping plane when DataCAD is in a perspective projection. inpstyl inpstyl : integer; The current style of entering points when you press (Spacebar). inpstyl can have the following values: 0 Relative polar coordinates 1 Absolute polar coordinates 2 Relative Cartesian coordinates 3 Absolute Cartesian coordinates lastdist lastdist : Point; Last distance used in Copy, Move, or Stretch. lastenlpt lastenlpt : Point; Last point used for center of 2D enlargement. lastrotpt lastrotpt : Point; Last point used for center of 2D rotation. layerswitch layerswitch : Boolean; layerswitch is the LyrSet toggle in the Views menus. layoutextents layoutextents ; Boolean; When true, only the extents of the drawing display in Plot Layout. lyrsearch lyrsearch : boolean; lyrsearch controls whether DataCAD searches for entities on the current layer or on every layer that is turned on. When this variable is true, the search occurs on all of the layers that are on. When it is false, the search occurs on the current layer only. This variable is toggled at the Line, Shape, Area menus. See also the discussion of mode_init. maxdrag maxdrag : Integer; maxdrag is the maximum number of entities to consider for Move/Drag and Rotate/Drag before using the extents box. mrkdraw mrkdraw : boolean; When mrkdraw is true, markers are drawn every time a point is entered. mircopy mircopy : boolean; mircopy controls the state of the AndCopy flag at the Mirror menu. mirfixtext mirfixtext : boolean; mirfixtext controls the state of the FixText flag at the Mirror menu. missdis missdis : integer; The size, in pixels, of the miss distance applied to searches of the database. It is also the size of the aperture around the cursor when aperture is true. See also ent_near. movcopy movcopy : boolean; movcopy controls the state of the AndCopy flag at the Move menu. multipen multipen : Integer; multipen controls sending pen change commands to plotter. 1 Send pen change commands. 2 Do NOT send pen change commands. nofloat nofloat : Boolean; When true, DataCAD's distance output uses a fixed number of digits to the right of the decimal point as specified by the variable sigdigits. noisy noisy : boolean; When noisy is set to true, DataCAD can beep. When it is false, DataCAD does not make noises. nounits nounits : Boolean; When nounits is true, DataCAD's distance output does not append the currently-set scale units. ovrdraw ovrdraw : boolean; When ovrdraw is false, line overshoots are not drawn. ratiobox ratiobox : boolean; When ratiobox is true, a rubberband box is drawn from the last entered point. The rubberband box is forced to be of a specific aspect ratio given by ratioRatio. This rubberbanding occurs during the next call to getpoint. Turn ratiobox on before calls to getpoint: ratioratio ratioratio : real; ratioratio is the ratio of the rubberband box drawn when ratiobox is true. regenorder regenorder : Integer; regenorder controls the order in which the database is re-drawn: 0 Active layer first. 1 Active layer last. 2 In order. rotcopy rotcopy : boolean; rotcopy controls the state of the AndCopy flag at the Rotate menu. rubbx rubbx : boolean; When rubbx is true, a rubberband rectangle is drawn from the last entered point. This rubberbanding occurs during the next call to getpoint. Turn rubbx on before calls to getpoint: rubbx := true; result := getpoint (pt, key); IF result = res_escape THEN ... rubbx does not have to be turned off; the call to getpoint automatically turns it off. rubln rubln : boolean; rubln controls the rubberband line being drawn. Use it in the same way as rubbx. savedelay savedelay : Integer; savedelay is the delay time for automatic file save. scaletype scaletype : Integer; Controls DataCAD's current scale type: 0 Architectural 1 Engineering 2 Decimal 3 Meters 4 Inches Fraction 5 Inches Decimal 6 Centimeters 7 Millimeters 8 Metric scrolldis scrolldis : real; scrolldis represents the fraction of the screen that moves during screen scrolling. scrolldis should be between 0.0 and 1.0, but DataCAD does not check this range. selecttype selecttype : integer; selecttype controls the current Entity, Group, Area, Fence state when getmode is called. 1 Entity 0 Group 2 Area 3 Fence showinspt showinspt : Boolean; Controls symbol insertion point displays. showneg showneg : Boolean; When showneg is true, negative numbers show in the distance display. showwgt showwgt : Boolean; Controls line weight displays. showz showz : Boolean; Shows the current z-base and z-height values on the status line. sigdigits sigdigits ; Integer; See nofloat. Must be in the range 0-3. smallgrid smallgrid : integer; The size, in pixels, of the smallest grid that can be drawn. snaplyrsearch snaplyrsearch : boolean; Controls whether DataCAD uses layer searching when snapping to entities with object snapping. snapquick snapquick : boolean; Controls the quick snapping state in DataCAD. This controls the snapping to selected 3D entities to their control points. snapsymfast snapsymfast : boolean; Controls whether DataCAD searches through the description of symbols when snapping. When true, DataCAD considers the insertion points of symbols when calculating snap points. srchquick srchquick : boolean; Controls the quick searching state in DataCAD. This controls the searching of selected 3D entities by their control points. srfgrid srfgrid : boolean; When srfgrid is true the grid associated with Bezier surface entities (entSrf) is drawn when the entities are drawn. srfpnts srfpnts : boolean; When srfpnts is true, the control points associated with Bezier surface entities (entSrf) are drawn when the entities are drawn. txtcurs txtcurs : boolean; When txtcurs is set to true before calling getpoint the text cursor is drawn instead of the normal cross hair cursor. This is the cursor that is used when DataCAD asks you to position some text on the drawing. The shape and orientation of the text cursor is subject to txtang, txtsize, txtslant, and txtaspect. txtuseplt txtuseplt : boolean; Controls text scaling. When true, text is scaled relative to the current plot scale. zbase zbase : real; The current value of Z-base as set when (z) is pressed. zeroangle zeroangle : Real; The angle specifying zero for all of DataCAD's angle conventions. zhite zhite : real; The current value of Z-height as set when (z) is pressed. zuser1 zuser1 : real; The Z-height that appears on the DataCAD menus as Z-User1. zuser2 zuser2 : real; The Z-height that appears on the DataCAD menus as Z-User2. |
