TechDraw Dimension Landmark

From FreeCAD Documentation
Jump to navigation Jump to search
Other languages:
Deutsch • ‎English • ‎français • ‎italiano

TechDraw Dimension Landmark.svg TechDraw Dimension Landmark

Menu location
TechDraw → Dimension Landmark
Default shortcut
Introduced in version
See also
TechDraw Dimension Horizontal, TechDraw Dimension Vertical


The Dimension Landmark tool adds a linear dimension to a View. The dimension is based on two Point feature (Draft.Point or Part.Vertex) from the 3D model. Note that the points must be feature objects that appear in the model tree view. Random vertexes from a shape will not work.

The purpose of this tool is to provide a workaround to the corruption of dimension caused by "topological naming" issues. The source points should use Expressions or other containing mechanism to establish their position. Since the points are Document Objects, and not shape components, their name does not change with recomputes, and hence they are easily found.

See the Limitation and WorkAround sections of TechDraw Dimension Length for more on dimensions and topological naming.

The Landmark Dimension generally behaves like any other Dimension


  1. Select 2 Point objects in the tree view or the 3D view.
  2. Select also the View to which the dimension is to be added.
  3. Press the Techdraw-landmarkdistance.svg Dimension Landmark button or TechDraw → Dimension Landmark
  4. A dimension will be added to the View. The dimension text may be dragged to the desired position.


The Landmark Dimension tool is initially limited to "Distance" dimensions. Other types may be added if demand warrants.


Landmark Dimension does not introduce any new properties.


See also: TechDraw API and FreeCAD Scripting Basics.

The Dimension Landmark tool can be used in macros and from the Python console by using the following functions:

dim1 = FreeCAD.ActiveDocument.addObject('TechDraw::LandmarkDimension','Landmark')
dim1.Type = "Distance"
dim1.References2D=[(TDView, 'Vertex1')]
dim1.References3D=[(Point3d1, 'Vertex1')]
dim1.References3D=[(Point3d2, 'Vertex1')]
rc = page.addView(dim1)