Difference between revisions of "Hatch drawing definition"
Jan.Gajdosik (talk | contribs) |
Jan.Gajdosik (talk | contribs) |
||
Line 1: | Line 1: | ||
Used to store hatch definition. | Used to store hatch definition. | ||
==== Data XML definition[edit | edit source] ==== | ==== Data XML definition [edit | edit source] ==== | ||
{| class="wikitable" | |||
!Property | |||
!XML | |||
!Description | |||
!Default | |||
|- | |||
|Type | |||
|<sup>[[Legend of XML elements|[A]]]</sup> <code>Type</code> | |||
|Type of hatch, possible values StandardFill, LineFill, CompositeFill | |||
|(empty) | |||
|- | |||
|Line origin | |||
|<sup>[[Legend of XML elements|[E]]]</sup> <code>Origin</code> | |||
|Origin of line X, Y value in [mm] | |||
|0, 0 | |||
|} | |||
{| class="wikitable" | {| class="wikitable" | ||
!Property | !Property | ||
Line 33: | Line 49: | ||
|(empty) | |(empty) | ||
|} | |} | ||
'''Example of Data XML''' | '''Example of Data XML - Single line hatch''' | ||
<code><HatchDefinition Direction="0" Distance="2" Shift="4"></code> | <code><HatchDefinition Direction="0" Distance="2" Shift="4"></code> | ||
Line 50: | Line 66: | ||
<code></HatchDefinition></code> | <code></HatchDefinition></code> | ||
'''Example of Data XML - Multiple line hatch''' | |||
<code><HatchDefinition></code> | |||
<code><Fill Type="LineFill" Direction="45" Distance="6" Shift="3"></code> | |||
<code><Line Type="ElemLine"></code> | |||
<code><Elem Kind="Line" DX="3" DY="0"/></code> | |||
<code><Elem Kind="Move" DX="1" DY="0"/></code> | |||
<code></Line></code> | |||
<code></Fill></code> | |||
<code><Fill Type="LineFill" Direction="45" Distance="6" Shift="1.2"></code> | |||
<code><Line Type="ElemLine"></code> | |||
<code><Elem Kind="Move" DX="0" DY="3"/></code> | |||
<code><Elem Kind="Line" DX="3" DY="0"/></code> | |||
<code><Elem Kind="Move" DX="1" DY="0"/></code> | |||
<code></Line></code> | |||
<code></Fill></code> | |||
<code></HatchDefinition></code> | |||
<code><Hatch ID="GINT_BLDRCBBL" Number="4"> </code> | |||
<code> <Fill Type="StandardFill" Style="Solid" /> </code> | |||
<code> <Fill Type="CompositeFill"> </code> | |||
<code> <Fill Type="LineFill" Direction="0" Distance="9" Color="clFill"> </code> | |||
<code> <Line Type="ElemLine"> </code> | |||
<code> <Elem Kind="Move" DX="1.5" DY="0" /> </code> | |||
<code> <Elem Kind="Polygon" ShapeFilled="true"> </code> | |||
<code> <Pt X="0" Y="0" /> </code> | |||
<code> <Pt X="-0.75" Y="1.25" /> </code> | |||
<code> <Pt X="-0.75" Y="2.25" /> </code> | |||
<code> <Pt X="-0.25" Y="2.5" /> </code> | |||
<code> <Pt X="1.75" Y="2.25" /> </code> | |||
<code> <Pt X="2" Y="1" /> </code> | |||
<code> <Pt X="2.25" Y="0.75" /> </code> | |||
<code> <Pt X="1.5" Y="0" /> </code> | |||
<code> </Elem> </code> | |||
<code> <Elem Kind="Move" DX="3.75" DY="0" /> </code> | |||
<code> <Elem Kind="Polygon" ShapeFilled="true"> </code> | |||
<code> <Pt X="0" Y="0.25" /> </code> | |||
<code> <Pt X="-0.25" Y="1.25" /> </code> | |||
<code> <Pt X="0.5" Y="1.5" /> </code> | |||
<code> <Pt X="0.75" Y="1.25" /> </code> | |||
<code> <Pt X="0.75" Y="0.5" /> </code> | |||
<code> <Pt X="0.5" Y="0.25" /> </code> | |||
<code> </Elem> </code> | |||
<code> <Elem Kind="Move" DX="1.25" DY="0" /> </code> | |||
<code> <Elem Kind="Polygon" ShapeFilled="true"> </code> | |||
<code> <Pt X="0" Y="2" /> </code> | |||
<code> <Pt X="0.25" Y="2.75" /> </code> | |||
<code> <Pt X="1" Y="3" /> </code> | |||
<code> <Pt X="1.75" Y="2.75" /> </code> | |||
<code> <Pt X="2.25" Y="2" /> </code> | |||
<code> <Pt X="2.25" Y="1.25" /> </code> | |||
<code> <Pt X="1.5" Y="0.75" /> </code> | |||
<code> <Pt X="1" Y="0.75" /> </code> | |||
<code> <Pt X="0.25" Y="1.25" /> </code> | |||
<code> </Elem> </code> | |||
<code> <Elem Kind="Move" DX="2.5" DY="0" /> </code> | |||
<code> </Line> </code> | |||
<code> </Fill> </code> | |||
<code> <Fill Type="LineFill" Direction="0" Distance="9" Color="clFill"> </code> | |||
<code> <Origin X="0" Y="3.25" /> </code> | |||
<code> <Line Type="ElemLine"> </code> | |||
<code> <Elem Kind="Polygon" ShapeFilled="true"> </code> | |||
<code> <Pt X="0" Y="0.25" /> </code> | |||
<code> <Pt X="0" Y="1.75" /> </code> | |||
<code> <Pt X="1" Y="1.25" /> </code> | |||
<code> <Pt X="1.25" Y="0.5" /> </code> | |||
<code> <Pt X="0.5" Y="0" /> </code> | |||
<code> </Elem> </code> | |||
<code> <Elem Kind="Move" DX="1.5" DY="0" /> </code> | |||
<code> <Elem Kind="Polygon" ShapeFilled="true"> </code> | |||
<code> <Pt X="0" Y="2.75" /> </code> | |||
<code> <Pt X="0" Y="3.5" /> </code> | |||
<code> <Pt X="1" Y="4" /> </code> | |||
<code> <Pt X="1.75" Y="3.75" /> </code> | |||
<code> <Pt X="2.5" Y="3.75" /> </code> | |||
<code> <Pt X="4" Y="3" /> </code> | |||
<code> <Pt X="4.5" Y="2.25" /> </code> | |||
<code> <Pt X="4" Y="1.5" /> </code> | |||
<code> <Pt X="2.5" Y="1" /> </code> | |||
<code> <Pt X="1.75" Y="1.25" /> </code> | |||
<code> <Pt X="1.5" Y="1.75" /> </code> | |||
<code> <Pt X="0.5" Y="2.25" /> </code> | |||
<code> </Elem> </code> | |||
<code> <Elem Kind="Move" DX="4" DY="0" /> </code> | |||
<code> <Elem Kind="Polygon" ShapeFilled="true"> </code> | |||
<code> <Pt X="0" Y="0.25" /> </code> | |||
<code> <Pt X="0.125" Y="1" /> </code> | |||
<code> <Pt X="1.25" Y="1.25" /> </code> | |||
<code> <Pt X="1.75" Y="0.75" /> </code> | |||
<code> <Pt X="1.25" Y="0.375" /> </code> | |||
<code> <Pt X="0.75" Y="0" /> </code> | |||
<code> </Elem> </code> | |||
<code> <Elem Kind="Move" DX="3.5" DY="0" /> </code> | |||
<code> </Line> </code> | |||
<code> </Fill> </code> | |||
<code> <Fill Type="LineFill" Direction="0" Distance="9" Color="clFill"> </code> | |||
<code> <Origin X="0" Y="6.25" /> </code> | |||
<code> <Line Type="ElemLine"> </code> | |||
<code> <Elem Kind="Move" DX="0.25" DY="0" /> </code> | |||
<code> <Elem Kind="Polygon" ShapeFilled="true"> </code> | |||
<code> <Pt X="0" Y="2" /> </code> | |||
<code> <Pt X="0.25" Y="2.5" /> </code> | |||
<code> <Pt X="1" Y="2" /> </code> | |||
<code> <Pt X="1" Y="1.75" /> </code> | |||
<code> <Pt X="0.625" Y="1.5" /> </code> | |||
<code> <Pt X="0.25" Y="1.75" /> </code> | |||
<code> </Elem> </code> | |||
<code> <Elem Kind="Move" DX="3.75" DY="0" /> </code> | |||
<code> <Elem Kind="Polygon" ShapeFilled="true"> </code> | |||
<code> <Pt X="0" Y="2" /> </code> | |||
<code> <Pt X="0.25" Y="2.25" /> </code> | |||
<code> <Pt X="0.75" Y="2" /> </code> | |||
<code> <Pt X="0.75" Y="1.5" /> </code> | |||
<code> <Pt X="0.25" Y="1.5" /> </code> | |||
<code> </Elem> </code> | |||
<code> <Elem Kind="Move" DX="1.25" DY="0" /> </code> | |||
<code> <Elem Kind="Polygon" ShapeFilled="true"> </code> | |||
<code> <Pt X="0" Y="1" /> </code> | |||
<code> <Pt X="0" Y="1.5" /> </code> | |||
<code> <Pt X="0.25" Y="1.75" /> </code> | |||
<code> <Pt X="0.75" Y="1.75" /> </code> | |||
<code> <Pt X="0.75" Y="1.25" /> </code> | |||
<code> <Pt X="0.75" Y="1" /> </code> | |||
<code> <Pt X="0.375" Y="0.75" /> </code> | |||
<code> </Elem> </code> | |||
<code> <Elem Kind="Move" DX="1.75" DY="0" /> </code> | |||
<code> <Elem Kind="Polygon" ShapeFilled="true"> </code> | |||
<code> <Pt X="0" Y="0.5" /> </code> | |||
<code> <Pt X="0" Y="2.5" /> </code> | |||
<code> <Pt X="0.5" Y="3" /> </code> | |||
<code> <Pt X="1.5" Y="2.75" /> </code> | |||
<code> <Pt X="1.75" Y="1.5" /> </code> | |||
<code> <Pt X="2.25" Y="1" /> </code> | |||
<code> <Pt X="1.75" Y="0.25" /> </code> | |||
<code> <Pt X="1" Y="0" /> </code> | |||
<code> <Pt X="0.5" Y="0.25" /> </code> | |||
<code> </Elem> </code> | |||
<code> <Elem Kind="Move" DX="2" DY="0" /> </code> | |||
<code> </Line> </code> | |||
<code> </Fill> </code> | |||
<code> </Fill> </code> | |||
<code></Hatch></code> | |||
Revision as of 06:37, 1 June 2022
Used to store hatch definition.
Data XML definition [edit | edit source]
Property | XML | Description | Default |
---|---|---|---|
Type | [A] Type
|
Type of hatch, possible values StandardFill, LineFill, CompositeFill | (empty) |
Line origin | [E] Origin
|
Origin of line X, Y value in [mm] | 0, 0 |
Property | XML | Description | Default |
---|---|---|---|
Line direction | [A] Direction
|
Direction of line [deg] | (empty) |
Line origin | [E] Origin
|
Origin of line X, Y value in [mm] | 0, 0 |
Line distance | [A] Background
|
Distance of parallel lines [mm] | (empty) |
Line shift | [A] Shift
|
Shift of next line (in direction of line) [mm] | (empty) |
Line definition | [E] Line
|
Definition of the line, if there is more than 1 line definition, lines are drawn in sequence Line1->Distance->Line2->Distance->...->Line1->... | (empty) |
Example of Data XML - Single line hatch
<HatchDefinition Direction="0" Distance="2" Shift="4">
<Line Type="ElemLine">
<Elem Kind="Line" DX="2" DY="0" />
<Elem Kind="Move" DX="-1" DY="1" />
<Elem Kind="Line" DX="0" DY="-2" />
<Elem Kind="Move" DX="7" DY="0" />
</Line>
</HatchDefinition>
Example of Data XML - Multiple line hatch
<HatchDefinition>
<Fill Type="LineFill" Direction="45" Distance="6" Shift="3">
<Line Type="ElemLine">
<Elem Kind="Line" DX="3" DY="0"/>
<Elem Kind="Move" DX="1" DY="0"/>
</Line>
</Fill>
<Fill Type="LineFill" Direction="45" Distance="6" Shift="1.2">
<Line Type="ElemLine">
<Elem Kind="Move" DX="0" DY="3"/>
<Elem Kind="Line" DX="3" DY="0"/>
<Elem Kind="Move" DX="1" DY="0"/>
</Line>
</Fill>
</HatchDefinition>
<Hatch ID="GINT_BLDRCBBL" Number="4">
<Fill Type="StandardFill" Style="Solid" />
<Fill Type="CompositeFill">
<Fill Type="LineFill" Direction="0" Distance="9" Color="clFill">
<Line Type="ElemLine">
<Elem Kind="Move" DX="1.5" DY="0" />
<Elem Kind="Polygon" ShapeFilled="true">
<Pt X="0" Y="0" />
<Pt X="-0.75" Y="1.25" />
<Pt X="-0.75" Y="2.25" />
<Pt X="-0.25" Y="2.5" />
<Pt X="1.75" Y="2.25" />
<Pt X="2" Y="1" />
<Pt X="2.25" Y="0.75" />
<Pt X="1.5" Y="0" />
</Elem>
<Elem Kind="Move" DX="3.75" DY="0" />
<Elem Kind="Polygon" ShapeFilled="true">
<Pt X="0" Y="0.25" />
<Pt X="-0.25" Y="1.25" />
<Pt X="0.5" Y="1.5" />
<Pt X="0.75" Y="1.25" />
<Pt X="0.75" Y="0.5" />
<Pt X="0.5" Y="0.25" />
</Elem>
<Elem Kind="Move" DX="1.25" DY="0" />
<Elem Kind="Polygon" ShapeFilled="true">
<Pt X="0" Y="2" />
<Pt X="0.25" Y="2.75" />
<Pt X="1" Y="3" />
<Pt X="1.75" Y="2.75" />
<Pt X="2.25" Y="2" />
<Pt X="2.25" Y="1.25" />
<Pt X="1.5" Y="0.75" />
<Pt X="1" Y="0.75" />
<Pt X="0.25" Y="1.25" />
</Elem>
<Elem Kind="Move" DX="2.5" DY="0" />
</Line>
</Fill>
<Fill Type="LineFill" Direction="0" Distance="9" Color="clFill">
<Origin X="0" Y="3.25" />
<Line Type="ElemLine">
<Elem Kind="Polygon" ShapeFilled="true">
<Pt X="0" Y="0.25" />
<Pt X="0" Y="1.75" />
<Pt X="1" Y="1.25" />
<Pt X="1.25" Y="0.5" />
<Pt X="0.5" Y="0" />
</Elem>
<Elem Kind="Move" DX="1.5" DY="0" />
<Elem Kind="Polygon" ShapeFilled="true">
<Pt X="0" Y="2.75" />
<Pt X="0" Y="3.5" />
<Pt X="1" Y="4" />
<Pt X="1.75" Y="3.75" />
<Pt X="2.5" Y="3.75" />
<Pt X="4" Y="3" />
<Pt X="4.5" Y="2.25" />
<Pt X="4" Y="1.5" />
<Pt X="2.5" Y="1" />
<Pt X="1.75" Y="1.25" />
<Pt X="1.5" Y="1.75" />
<Pt X="0.5" Y="2.25" />
</Elem>
<Elem Kind="Move" DX="4" DY="0" />
<Elem Kind="Polygon" ShapeFilled="true">
<Pt X="0" Y="0.25" />
<Pt X="0.125" Y="1" />
<Pt X="1.25" Y="1.25" />
<Pt X="1.75" Y="0.75" />
<Pt X="1.25" Y="0.375" />
<Pt X="0.75" Y="0" />
</Elem>
<Elem Kind="Move" DX="3.5" DY="0" />
</Line>
</Fill>
<Fill Type="LineFill" Direction="0" Distance="9" Color="clFill">
<Origin X="0" Y="6.25" />
<Line Type="ElemLine">
<Elem Kind="Move" DX="0.25" DY="0" />
<Elem Kind="Polygon" ShapeFilled="true">
<Pt X="0" Y="2" />
<Pt X="0.25" Y="2.5" />
<Pt X="1" Y="2" />
<Pt X="1" Y="1.75" />
<Pt X="0.625" Y="1.5" />
<Pt X="0.25" Y="1.75" />
</Elem>
<Elem Kind="Move" DX="3.75" DY="0" />
<Elem Kind="Polygon" ShapeFilled="true">
<Pt X="0" Y="2" />
<Pt X="0.25" Y="2.25" />
<Pt X="0.75" Y="2" />
<Pt X="0.75" Y="1.5" />
<Pt X="0.25" Y="1.5" />
</Elem>
<Elem Kind="Move" DX="1.25" DY="0" />
<Elem Kind="Polygon" ShapeFilled="true">
<Pt X="0" Y="1" />
<Pt X="0" Y="1.5" />
<Pt X="0.25" Y="1.75" />
<Pt X="0.75" Y="1.75" />
<Pt X="0.75" Y="1.25" />
<Pt X="0.75" Y="1" />
<Pt X="0.375" Y="0.75" />
</Elem>
<Elem Kind="Move" DX="1.75" DY="0" />
<Elem Kind="Polygon" ShapeFilled="true">
<Pt X="0" Y="0.5" />
<Pt X="0" Y="2.5" />
<Pt X="0.5" Y="3" />
<Pt X="1.5" Y="2.75" />
<Pt X="1.75" Y="1.5" />
<Pt X="2.25" Y="1" />
<Pt X="1.75" Y="0.25" />
<Pt X="1" Y="0" />
<Pt X="0.5" Y="0.25" />
</Elem>
<Elem Kind="Move" DX="2" DY="0" />
</Line>
</Fill>
</Fill>
</Hatch>
FDirection : Double; // smer vedeni car
FOrigin : TUnitsPt; // pocatek prvni cary
FDistance : TE2RandomUnitsSize; // vzdalenost mezi carami
FShift : TE2RandomUnitsSize; // posun pocatku car
FLines : TBsFastObjectList; // seznam car
FWidth : PUnitsSize; // tloustka car vyplne (NIL = pouziti DefaultPen)
FColor : TColor; // barva carove vyplne (clDefault = pouziti DefaultPen/DefaultBrush)