libDXF 0.0.1
A library with DXF related functions written in C.
|
DXF definition of an AutoCAD dimension. More...
#include <dimension.h>
Data Fields | |
int | id_code |
char * | linetype |
char * | layer |
double | elevation |
double | thickness |
double | linetype_scale |
int16_t | visibility |
int | color |
int | paperspace |
int | graphics_data_size |
int16_t | shadow_mode |
DxfBinaryGraphicsData * | binary_graphics_data |
char * | dictionary_owner_soft |
char * | material |
char * | dictionary_owner_hard |
int16_t | lineweight |
char * | plot_style_name |
long | color_value |
char * | color_name |
long | transparency |
char * | dim_text |
char * | dimblock_name |
char * | dimstyle_name |
DxfPoint * | p0 |
DxfPoint * | p1 |
DxfPoint * | p2 |
DxfPoint * | p3 |
DxfPoint * | p4 |
DxfPoint * | p5 |
DxfPoint * | p6 |
double | leader_length |
double | text_line_spacing_factor |
double | actual_measurement |
double | angle |
double | hor_dir |
double | obl_angle |
double | text_angle |
int | flag |
int | attachment_point |
int | text_line_spacing |
double | extr_x0 |
double | extr_y0 |
double | extr_z0 |
int16_t | version_number |
struct DxfDimension * | next |
DXF definition of an AutoCAD dimension.
Definition at line 60 of file dimension.h.
Identification number for the entity.
This is to be an unique (sequential) number in the DXF file.
Group code = 5.
Definition at line 65 of file dimension.h.
Referenced by dxf_dimension_get_id_code(), dxf_dimension_read(), and dxf_dimension_set_id_code().
The linetype of the entity.
Defaults to BYLAYER
if ommitted in the DXF file.
Group code = 6.
Definition at line 70 of file dimension.h.
Referenced by dxf_dimension_free(), dxf_dimension_get_linetype(), dxf_dimension_read(), and dxf_dimension_set_linetype().
Layer on which the entity is drawn.
Defaults to layer "0" if no valid layername is given.
Group code = 8.
Definition at line 74 of file dimension.h.
Referenced by dxf_dimension_free(), dxf_dimension_get_layer(), dxf_dimension_read(), and dxf_dimension_set_layer().
Elevation of the entity in the local Z-direction.
Defaults to 0.0 if omitted in the DXF file, or prior to DXF version R12, or DXF_FLATLAND equals 0 (default).
Group code = 38.
Definition at line 78 of file dimension.h.
Referenced by dxf_dimension_get_elevation(), dxf_dimension_read(), and dxf_dimension_set_elevation().
Thickness of the entity in the local Z-direction.
Defaults to 0.0 if ommitted in the DXF file.
Group code = 39.
Definition at line 84 of file dimension.h.
Referenced by dxf_dimension_get_thickness(), dxf_dimension_read(), and dxf_dimension_set_thickness().
Linetype scale (optional).
Group code = 48.
Definition at line 88 of file dimension.h.
Referenced by dxf_dimension_get_linetype_scale(), dxf_dimension_read(), and dxf_dimension_set_linetype_scale().
int16_t dxf_dimension_struct::visibility |
Object visibility (optional):
Group code = 60.
Definition at line 92 of file dimension.h.
Referenced by dxf_dimension_get_visibility(), dxf_dimension_read(), and dxf_dimension_set_visibility().
Color of the entity.
Defaults to BYLAYER
if ommitted in the DXF file.
Note that entities encapsulated in a block with the color BYBLOCK
are represented in the "native" color of the BLOCK
entity.
Group code = 62.
Definition at line 100 of file dimension.h.
Referenced by dxf_dimension_get_color(), dxf_dimension_read(), and dxf_dimension_set_color().
Entities are to be drawn on either PAPERSPACE
or MODELSPACE
.
Optional, defaults to DXF_MODELSPACE
(0).
Group code = 67.
Definition at line 107 of file dimension.h.
Referenced by dxf_dimension_get_paperspace(), dxf_dimension_read(), and dxf_dimension_set_paperspace().
Number of bytes in the proxy entity graphics represented in the sub-sequent 310 groups, which are binary chunk records (optional).
Group code = 92.
Definition at line 113 of file dimension.h.
Referenced by dxf_dimension_get_graphics_data_size(), and dxf_dimension_set_graphics_data_size().
Shadow mode:
Group code = 284.
Definition at line 122 of file dimension.h.
Referenced by dxf_dimension_get_shadow_mode(), and dxf_dimension_set_shadow_mode().
Proxy entity graphics data.
Multiple lines of 256 characters maximum per line (optional).
Group code = 310.
Definition at line 132 of file dimension.h.
Referenced by dxf_dimension_get_binary_graphics_data(), and dxf_dimension_set_binary_graphics_data().
Soft-pointer ID/handle to owner dictionary (optional).
Group code = 330.
Definition at line 138 of file dimension.h.
Referenced by dxf_dimension_free(), dxf_dimension_get_dictionary_owner_soft(), dxf_dimension_read(), and dxf_dimension_set_dictionary_owner_soft().
Hard-pointer ID/handle to material object (present if not BYLAYER).
Group code = 347.
Definition at line 142 of file dimension.h.
Referenced by dxf_dimension_get_material(), and dxf_dimension_set_material().
Hard owner ID/handle to owner dictionary (optional).
Group code = 360.
Definition at line 147 of file dimension.h.
Referenced by dxf_dimension_free(), dxf_dimension_get_dictionary_owner_hard(), dxf_dimension_read(), and dxf_dimension_set_dictionary_owner_hard().
int16_t dxf_dimension_struct::lineweight |
Lineweight enum value.
Stored and moved around as a 16-bit integer.
Group code = 370.
Definition at line 151 of file dimension.h.
Referenced by dxf_dimension_get_lineweight(), and dxf_dimension_set_lineweight().
Hard pointer ID / handle of PlotStyleName object.
Group code = 390.
Definition at line 156 of file dimension.h.
Referenced by dxf_dimension_get_plot_style_name(), and dxf_dimension_set_plot_style_name().
A 24-bit color value that should be dealt with in terms of bytes with values of 0 to 255.
The lowest byte is the blue value, the middle byte is the green value, and the third byte is the red value.
The top byte is always 0.
The group code cannot be used by custom entities for their own data because the group code is reserved for AcDbEntity, class-level color data and AcDbEntity, class-level transparency data.
Group code = 420.
Definition at line 160 of file dimension.h.
Referenced by dxf_dimension_get_color_value(), and dxf_dimension_set_color_value().
Color name.
The group code cannot be used by custom entities for their own data because the group code is reserved for AcDbEntity, class-level color data and AcDbEntity, class-level transparency data.
Group code = 430.
Definition at line 172 of file dimension.h.
Referenced by dxf_dimension_get_color_name(), and dxf_dimension_set_color_name().
Transparency value.
The group code cannot be used by custom entities for their own data because the group code is reserved for AcDbEntity, class-level color data and AcDbEntity, class-level transparency data.
Group code = 440.
Definition at line 180 of file dimension.h.
Referenced by dxf_dimension_get_transparency(), and dxf_dimension_set_transparency().
Dimension text explicitly entered by the user.
If null or "<>", the dimension measurement is drawn as the text, if " " [one blank space], the text is suppressed.
Anything else is drawn as the text.
Group code = 1.
Definition at line 189 of file dimension.h.
Referenced by dxf_dimension_free(), dxf_dimension_get_dim_text(), dxf_dimension_read(), and dxf_dimension_set_dim_text().
Name of pseudo-Block containing the current dimension entity geometry.
Group code = 2.
Definition at line 196 of file dimension.h.
Referenced by dxf_dimension_free(), dxf_dimension_get_dimblock_name(), dxf_dimension_read(), dxf_dimension_set_dimblock_name(), and dxf_dimension_set_dimstyle_name().
Dimension style name.
Group code = 3.
Definition at line 200 of file dimension.h.
Referenced by dxf_dimension_free(), dxf_dimension_get_dimstyle_name(), and dxf_dimension_read().
Definition point for all dimension types.
Group codes = 10, 20 and 30.
Definition at line 203 of file dimension.h.
Referenced by dxf_dimension_get_p0(), dxf_dimension_get_x0(), dxf_dimension_get_y0(), dxf_dimension_get_z0(), dxf_dimension_read(), dxf_dimension_set_p0(), dxf_dimension_set_x0(), dxf_dimension_set_y0(), and dxf_dimension_set_z0().
Middle point of dimension text.
Group codes = 11, 21 and 31.
Definition at line 206 of file dimension.h.
Referenced by dxf_dimension_get_p1(), dxf_dimension_get_x1(), dxf_dimension_get_y1(), dxf_dimension_get_z1(), dxf_dimension_read(), dxf_dimension_set_p1(), dxf_dimension_set_x1(), dxf_dimension_set_y1(), and dxf_dimension_set_z1().
Dimension block translation vector.
Group codes = 12, 22 and 32.
Definition at line 209 of file dimension.h.
Referenced by dxf_dimension_get_p2(), dxf_dimension_get_x2(), dxf_dimension_get_y2(), dxf_dimension_get_z2(), dxf_dimension_read(), dxf_dimension_set_p2(), dxf_dimension_set_x2(), dxf_dimension_set_y2(), and dxf_dimension_set_z2().
Definition point for linear and angular dimensions.
Group codes = 13, 23 and 33.
Definition at line 212 of file dimension.h.
Referenced by dxf_dimension_get_p3(), dxf_dimension_get_x3(), dxf_dimension_get_y3(), dxf_dimension_get_z3(), dxf_dimension_read(), dxf_dimension_set_p3(), dxf_dimension_set_x3(), dxf_dimension_set_y3(), and dxf_dimension_set_z3().
Definition point for linear and angular dimensions.
Group codes = 14, 24 and 34.
Definition at line 215 of file dimension.h.
Referenced by dxf_dimension_get_p4(), dxf_dimension_get_x4(), dxf_dimension_get_y4(), dxf_dimension_get_z4(), dxf_dimension_read(), dxf_dimension_set_p4(), dxf_dimension_set_x4(), dxf_dimension_set_y4(), and dxf_dimension_set_z4().
Definition point for diameter, radius, and angular dimensions.
Group codes = 15, 25 and 35.
Definition at line 218 of file dimension.h.
Referenced by dxf_dimension_get_p5(), dxf_dimension_get_x5(), dxf_dimension_get_y5(), dxf_dimension_get_z5(), dxf_dimension_read(), dxf_dimension_set_p5(), dxf_dimension_set_x5(), dxf_dimension_set_y5(), and dxf_dimension_set_z5().
Point defining dimension arc for angular dimensions.
Group codes = 16, 26 and 36.
Definition at line 222 of file dimension.h.
Referenced by dxf_dimension_get_p6(), dxf_dimension_get_x6(), dxf_dimension_get_y6(), dxf_dimension_get_z6(), dxf_dimension_read(), dxf_dimension_set_p6(), dxf_dimension_set_x6(), dxf_dimension_set_y6(), and dxf_dimension_set_z6().
Leader length for radius and diameter dimensions.
Group code = 40.
Definition at line 225 of file dimension.h.
Referenced by dxf_dimension_get_leader_length(), dxf_dimension_read(), and dxf_dimension_set_leader_length().
Dimension text line spacing factor (optional):
Percentage of default (3-on-5) line spacing to be applied.
Valid values range from 0.25 to 4.00.
Group code = 41.
Definition at line 228 of file dimension.h.
Referenced by dxf_dimension_get_text_line_spacing_factor(), dxf_dimension_read(), and dxf_dimension_set_text_line_spacing_factor().
Actual measurement (optional; read-only value).
Group code = 42.
Definition at line 234 of file dimension.h.
Referenced by dxf_dimension_get_actual_measurement(), dxf_dimension_read(), and dxf_dimension_set_actual_measurement().
double dxf_dimension_struct::angle |
Angle of rotated, horizontal, or vertical linear dimensions.
Group code = 50.
Definition at line 237 of file dimension.h.
Referenced by dxf_dimension_get_angle(), dxf_dimension_read(), and dxf_dimension_set_angle().
In addition, all dimension types have an optional group (group code 51) that indicates the horizontal direction for the Dimension entity.
This determines the orientation of dimension text and dimension lines for horizontal, vertical, and rotated linear dimensions.
The group value is the negative of the Entity Coordinate Systems (ECS) angle of the UCS X axis in effect when the Dimension was drawn.
The X axis of the UCS in effect when the Dimension was drawn is always parallel to the XY plane for the Dimension's ECS, and the angle between the UCS X axis and the ECS X axis is a single 2D angle.
The value in group code 51 is the angle from horizontal (the effective X axis) to the ECS X axis.
Entity Coordinate Systems (ECS) are described elsewhere in this documentation.
Group code = 51.
Definition at line 241 of file dimension.h.
Referenced by dxf_dimension_get_hor_dir(), dxf_dimension_read(), and dxf_dimension_set_hor_dir().
Linear dimension types with an oblique angle have an optional group (group code 52).
When added to the rotation angle of the linear dimension (group code 50) this gives the angle of the extension lines.
Group code = 52.
Definition at line 260 of file dimension.h.
Referenced by dxf_dimension_get_obl_angle(), dxf_dimension_read(), and dxf_dimension_set_obl_angle().
The optional group code 53 is the rotation angle of the dimension text away from its default orientation (the direction of the dimension line).
Group code = 53.
Definition at line 267 of file dimension.h.
Referenced by dxf_dimension_get_text_angle(), dxf_dimension_read(), and dxf_dimension_set_text_angle().
Dimension type.
Values 0–6 are integer values that represent the dimension type.
Values 32, 64, and 128 are bit values, which are added to the integer values (value 32 is always set in R13 and later releases).
0 = Rotated, horizontal, or vertical.
1 = Aligned.
2 = Angular.
3 = Diameter.
4 = Radius.
5 = Angular 3-point.
6 = Ordinate.
32 = Indicates that the block reference (group code 2) is referenced by this dimension only.
64 = Ordinate type.
This is a bit value (bit 7) used only with integer value 6.
If set, ordinate is X-type; if not set, ordinate is Y-type.
128 = This is a bit value (bit 8) added to the other group 70 values if the dimension text has been positioned at a user-defined location rather than at the default location.
Group code = 70.
Definition at line 272 of file dimension.h.
Referenced by dxf_dimension_get_flag(), dxf_dimension_read(), and dxf_dimension_set_flag().
Attachment point:
1 = Top left;
2 = Top center;
3 = Top right;
4 = Middle left;
5 = Middle center;
6 = Middle right;
7 = Bottom left;
8 = Bottom center;
9 = Bottom right.
Group code = 71.
Definition at line 298 of file dimension.h.
Referenced by dxf_dimension_get_attachment_point(), dxf_dimension_read(), and dxf_dimension_set_attachment_point().
Dimension text line spacing style (optional):
1 (or missing) = At least (taller characters will override);
2 = Exact (taller characters will not override).
Group code = 72.
Definition at line 310 of file dimension.h.
Referenced by dxf_dimension_get_text_line_spacing(), dxf_dimension_read(), and dxf_dimension_set_text_line_spacing().
X-value of the extrusion vector.
Defaults to 0.0 if ommitted in the DXF file.
Group code = 210.
Definition at line 316 of file dimension.h.
Referenced by dxf_dimension_get_extr_x0(), dxf_dimension_get_extrusion_vector_as_point(), dxf_dimension_read(), dxf_dimension_set_extr_x0(), and dxf_dimension_set_extrusion_vector().
Y-value of the extrusion vector.
Defaults to 0.0 if ommitted in the DXF file.
Group code = 220.
Definition at line 320 of file dimension.h.
Referenced by dxf_dimension_get_extr_y0(), dxf_dimension_get_extrusion_vector_as_point(), dxf_dimension_read(), dxf_dimension_set_extr_y0(), and dxf_dimension_set_extrusion_vector().
Z-value of the extrusion vector.
Defaults to 1.0 if ommitted in the DXF file.
Group code = 230.
Definition at line 324 of file dimension.h.
Referenced by dxf_dimension_get_extr_z0(), dxf_dimension_get_extrusion_vector_as_point(), dxf_dimension_read(), dxf_dimension_set_extr_z0(), and dxf_dimension_set_extrusion_vector().
Version number:
0 = 2010.
Group code = 280.
Definition at line 328 of file dimension.h.
pointer to the next DxfDimension.
NULL
in the last DxfDimension.
Definition at line 332 of file dimension.h.
Referenced by dxf_dimension_free(), dxf_dimension_get_last(), dxf_dimension_get_next(), and dxf_dimension_set_next().