Difference between revisions of "Hatch fill"

From Evil Mad Scientist Wiki
Jump to: navigation, search
Line 2: Line 2:
  
  
[[Eggmazing|<<< Eggmazing]] || Hatch fill || [[Name Poem|Name Poem >>>]]
+
[[Eggbot_Control|EggBot Control]] || Hatch fill || [[Hershey_(EggBot)|Hershey Text]]
  
 
----
 
----
  
http://evilmadscience.s3.amazonaws.com/wiki/eggbot/extensiontut/extensions-hatch-fill-01.png
+
{{sized-external-image|439px|https://cdn.evilmadscientist.com/wiki/eggbot/extensiontut/ext9_hatch.jpg}}
  
This extension performs the classic hatch and crosshatch fill operations on selected closed objects in an Inkscape drawing. Should nothing be selected, then every closed object in the drawing will be filled. The orientation and spacing of the hatch fill is user selectable as is whether or not to draw hatches or crosshatches.  The choice of value for the hatch spacing will depend upon the thickness of the pen you are plotting with.  For a 0.3&nbsp;mm Sharpie pen, try using a value of 8 or 7 pixels.
 
  
Note that the fill generated by this extension is not a single, smooth, continuous tool path. Rather each fill is composed of many individual line segments, each segment requiring pen up and pen down operations in order to be drawn.  Consider first using Inkscape's live effects "Hatches (rough)" to generate your fills.  The results will plot faster.  Reserve use of this extension for cases in which "Hatches (rough)" will not work correctly such as hollow regins (e.g., an annulus).  The tutorial [[Drawing a smiley face]] demonstrates the use of "Hatches (rough)".    See also  [[creating filled regions]] for additional hints on Hatches (rough) and other region-filling methods.
+
This extension performs the classic hatch and crosshatch fill operations on selected closed objects in an Inkscape drawing. Should nothing be selected, then every closed object in the drawing will be filled. The orientation and spacing of the hatch fill is user selectable as is whether or not to draw hatches or crosshatches.  The choice of value for the hatch spacing will depend upon the thickness of the pen you are plotting with.  For a 0.3&nbsp;mm Sharpie pen, try using a value of 7 or 8 pixels.
 +
 
 +
Hatch Fill will fill any selected objects with a series of back and forth lines, with adjustable spacing and angle. The hatch spacing is measure in units of screen pixels (px), and the default value of 5.0 is appropriate for wide permanent mark- ers. A lower spacing will produce a more uniform fill, and a higher spacing will produce a more traditional hatch fill for shading. You can use the “Live preview” option to see the effects of different choices without actually applying them to your shapes and text.   
 +
 
 +
 
 +
The “Connect nearby ends” option (enabled by default) connects the ends of the hatch lines to make long wiggling paths that plot very efficiently. An additional option is provided for insetting the fill from the edges. This helps to avoid “color- ing outside the lines” when using the hatch fill.
 +
 
 +
Consider also using Inkscape's live effects "Hatches (rough)" to generate your fills.  The results will plot faster.  Reserve use of this extension for cases in which "Hatches (rough)" will not work correctly such as hollow regins (e.g., an annulus).  The tutorial [[Drawing a smiley face]] demonstrates the use of "Hatches (rough)".    See also  [[creating filled regions]] for additional hints on Hatches (rough) and other region-filling methods.
  
 
In the drawing,
 
In the drawing,
Line 19: Line 25:
  
 
http://evilmadscience.s3.amazonaws.com/wiki/eggbot/extensiontut/extensions-hatch-fill-03.png
 
http://evilmadscience.s3.amazonaws.com/wiki/eggbot/extensiontut/extensions-hatch-fill-03.png
 +
 +
  
 
== Notes ==
 
== Notes ==
  
1. The extension tries to determine an appropriate line thickness for the generated hatch lines.  This is an issue as the object being filled may be subject to a scaling operation.  In that case, the hatch lines need to be given thicknesses such that when the scaling is applied to them, they appear to have an appropriate thickness.  If the hatch lines should appear too thick or thin, then you can change their thickness within Inkscape.  Note, however, that the thickness they are drawn with on your computer screen has no bearing how they will appear when plotted with your Eggbot.
+
The extension works by computing the points of intersection between a hatch or crosshatch grid with the selected closed objects. An odd/even rule is then applied to determine which segments of the hatches or crosshatches to retain: for a given hatch line, its first intersection is considered to be the hatch line entering a closed object, the second intersection it leaving, the third it entering another object (or section of an object), and so on. While this algorithm works well in most cases, one fault with it occurs when a hatch line intersects the corner of an object. In some circumstances this can appear to the an odd intersection and lead to stray, unwanted hatch lines. The workaround is to change the spacing of the hatch lines.
 
 
2. The extension works by computing the points of intersection between a hatch or crosshatch grid with the selected closed objects. An odd/even rule is then applied to determine which segments of the hatches or crosshatches to retain: for a given hatch line, its first intersection is considered to be the hatch line entering a closed object, the second intersection it leaving, the third it entering another object (or section of an object), and so on. While this algorithm works well in most cases, one fault with it occurs when a hatch line intersects the corner of an object. In some circumstances this can appear to the an odd intersection and lead to stray, unwanted hatch lines. The workaround is to change the spacing of the hatch lines.
 
  
 
----
 
----
  
[[Eggmazing|<<< Eggmazing]] || Hatch fill || [[Name Poem|Name Poem >>>]]
+
[[Eggbot_Control|EggBot Control]] || Hatch fill || [[Hershey_(EggBot)|Hershey Text]]

Revision as of 13:07, 21 June 2019

eggbottiny.jpg This wiki page is part of the documentation for the Egg-Bot kit. Click here to return to the Egg-Bot overview.
The specifics of this portion assume that you have version 2.1.0 or higher of the Eggbot extensions installed.
Click here if you need help determining which version you have installed.


EggBot Control || Hatch fill || Hershey Text


ext9_hatch.jpg


This extension performs the classic hatch and crosshatch fill operations on selected closed objects in an Inkscape drawing. Should nothing be selected, then every closed object in the drawing will be filled. The orientation and spacing of the hatch fill is user selectable as is whether or not to draw hatches or crosshatches. The choice of value for the hatch spacing will depend upon the thickness of the pen you are plotting with. For a 0.3 mm Sharpie pen, try using a value of 7 or 8 pixels.

Hatch Fill will fill any selected objects with a series of back and forth lines, with adjustable spacing and angle. The hatch spacing is measure in units of screen pixels (px), and the default value of 5.0 is appropriate for wide permanent mark- ers. A lower spacing will produce a more uniform fill, and a higher spacing will produce a more traditional hatch fill for shading. You can use the “Live preview” option to see the effects of different choices without actually applying them to your shapes and text.


The “Connect nearby ends” option (enabled by default) connects the ends of the hatch lines to make long wiggling paths that plot very efficiently. An additional option is provided for insetting the fill from the edges. This helps to avoid “color- ing outside the lines” when using the hatch fill.

Consider also using Inkscape's live effects "Hatches (rough)" to generate your fills. The results will plot faster. Reserve use of this extension for cases in which "Hatches (rough)" will not work correctly such as hollow regins (e.g., an annulus). The tutorial Drawing a smiley face demonstrates the use of "Hatches (rough)". See also creating filled regions for additional hints on Hatches (rough) and other region-filling methods.

In the drawing,

extensions-hatch-fill-02.png

the objects can be filled differently by selecting them individually or in groups and applying the extension one at a time to each selection. To fill the three polygons on the left as a group, select the star and then while holding down the shift key, also select the two rectangles. Alternatively, you can click and drag to select them all at the same time. Once they are selected, apply the "Hatch fill" extension from the EggBot Contributed extension list . Next, convert the text to a path by selecting it and applying the "Object to Path" item of the Path menu. Then, with the result selected, again apply the "Hatch fill" extension. This process can be repeated for other objects to be filled.

extensions-hatch-fill-03.png


Notes

The extension works by computing the points of intersection between a hatch or crosshatch grid with the selected closed objects. An odd/even rule is then applied to determine which segments of the hatches or crosshatches to retain: for a given hatch line, its first intersection is considered to be the hatch line entering a closed object, the second intersection it leaving, the third it entering another object (or section of an object), and so on. While this algorithm works well in most cases, one fault with it occurs when a hatch line intersects the corner of an object. In some circumstances this can appear to the an odd intersection and lead to stray, unwanted hatch lines. The workaround is to change the spacing of the hatch lines.


EggBot Control || Hatch fill || Hershey Text