Hatch drawing definition

From wiki.fine.cz
Revision as of 16:21, 8 June 2022 by Jan.Gajdosik (talk | contribs)
Jump to navigation Jump to search

Used to store hatch definition. Hatch contains serie (one or more) of fills. There are three types of fills.

Data XML definition

Property XML Description Default
Type [A] Type Type of hatch, possible values StandardFill, LineFill or CompositeFill (empty)
StandardFill

Area filled with solid color.

Property XML Description Default
Color [A] Color Color of fill clDefault

Example of Data XML

<Fill Type="StandardFill" Color="clFill">

LineFill

Area filled with sequence of lines separated by distance. All lines are oriented in one direction.

Property XML Description Default
Line direction [A] Direction Direction of line [rad] (empty)
Line origin [E] Origin Point defining origin of the line [mm] 0, 0
Line distance [A] Distance 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)
Color [A] Color Color of fill clDefault

Example of Data XML

<Fill 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>

</Fill>

CompositeFill

this type is aggregate for drawing multiple fill in same area.

Property XML Description Default
Fill [E] Fill Definition of child hatch. May contain one or more fills. (empty)

Example of Data XML - Multiple line hatch

<Fill Type="CompositeFill">

  <Fill Type="StandardFill" />

  <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>

</Fill>