Symbol
layer model for dimensioning:
The dimension symbols
(arrows, etc.) should be stored in a layer with the following
fields:
- a real number field to
store dimension text rotation (degree counterclockwise where zero =
horizontal to the right, use expression
“360-rotation_field”)
Optional fields:
- a character field to store
the symbol name
- a real number field to
store the symbol scale
- a character field (2
characters) field to store the punctual object type according to
the following scheme:
"B1" = first arrow block ("Block 1")
"B2" = second arrow block ("Block 2")
"LB" = leader arrow block ("Leader Block")
"AB" = arc symbol ("Arc Block")
"D1" = dimension point 1
"D2" = dimension point 2
(required if you want to use the editing features of an existing
dimension)
- an integer number field to
store the unique ID of the dimension (necessary if you want to
group the objects of a dimension, and implement the erasing and
editing features of an existing dimension)
An SQL example to create a
PostGIS table and indexes for dimension symbol:
CREATE TABLE
qad_dimension.dim_symbol
(
name character
varying(50),
scale double
precision,
rot double
precision,
color character
varying(10),
type character varying(2)
NOT NULL,
id_parent bigint NOT
NULL,
geom
geometry(Point,3003),
id serial NOT
NULL,
CONSTRAINT
dim_symbol_pkey PRIMARY KEY (id)
)
WITH (
OIDS=FALSE
);
CREATE INDEX
dim_symbol_id_parent
ON
qad_dimension.dim_symbol
USING btree
(id_parent);
CREATE INDEX
sidx_dim_symbol_geom
ON
qad_dimension.dim_symbol
USING gist
(geom);
The symbol layer must be
defined with a style set as follows:
- <Style>-<Single
Symbol> option enabled
- <Style>-<map
units> option enabled
- Set the size of the symbol
so that the width of the arrow is 1 map unit (tab
<Style>)
- The rotation must be read by
a real number field that stores the symbol rotation through the
formula "360-<field that stores the rotation>"
(degree counterclockwise where zero =
horizontal to the right, <Style>-<Advanced> option "rotation field
name"-<Espressione>)
- The scale can be read by a
real number field that stores the scale of the symbol
(<Style>-<Advanced>-<Size scale field>-“ field
that stores the scale” and <Style>-< Advanced
>-<Size scale field >-<Scale diameter>)
The arrow symbol when
inserted with rotation = 0 must be horizontal with the arrow
pointing to the right and its insertion point should be on the tip
of the arrow.