TechDraw GeometricHatch

From FreeCAD Documentation

TechDraw GeometricHatch

Menu location
TechDraw → Hatching → Apply Geometric Hatch to Face
Default shortcut
Introduced in version
See also
TechDraw Hatch, TechDraw Hatching


The TechDraw GeometricHatch tool fills a closed region in a View with a pattern based on an AutoDesk PAT hatching specification. Alternatively the TechDraw Hatch tool uses SVG based hatch patterns. See Hatching for details.

Geometric hatch pattern on a face


  1. Select a closed region in a View.
  2. There are several ways to invoke the tool:
    • Press the TechDraw GeometricHatch button.
    • Select the TechDraw → Hatching → Apply Geometric Hatch to Face option from the menu.
  3. The Apply Geometric Hatch to Face task panel opens.
  4. Optionally change the Pattern File, the Pattern Name, the Pattern Scale, the Line Weight and the Line Color.
  5. Press the OK button.


  • For a solid color fill use TechDraw Hatch instead and select solid.svg as the Pattern File.
  • Hatching objects are vulnerable to the "topological naming problem". See TechDraw LengthDimension for more information. It is recommended that hatching be one of the last steps in your drawing process.
  • A small set of sample patterns are available in:
Where $INSTALL_DIR is the directory where FreeCAD was installed, for example:


  • DataSource: The View and Face to receive the hatch pattern.
  • DataFile Pattern: The location of the PAT file to use.
  • DataName Pattern: The name of the PAT specification within File Pattern.
  • DataScale Pattern: The scale to be applied to the pattern (must be > 0.0).
  • ViewWeight Pattern: The thickness of the pattern lines.
  • ViewColor Pattern: The color for the pattern lines.


See also: Autogenerated API documentation and FreeCAD Scripting Basics.

A GeometricHatch can be created with macros and from the Python console by using the following functions:

hatch = FreeCAD.ActiveDocument.addObject("TechDraw::DrawGeomHatch", "GeomHatch")
hatch.Source = (view1, ["Face0"])
hatch.FilePattern = "path/to/myPATfile.pat"
hatch.NamePattern = "Diamond"

It is also possible to use TechDraw's geometric hatch engine to produce a compound object in the 3D space. One must take care that the base face lies on the XY plane, as the algorithm is not tailored yet for other cases:

import TechDraw
face = Part.makePlane(10, 10)
patfile = "path/to/myPATfile.pat"
pattern = "Diamond"
scale = 10
hatch = TechDraw.makeGeomHatch(face, scale, pattern, patfile)