TechDraw LandmarkDimension

From FreeCAD Documentation
Revision as of 07:47, 29 May 2023 by David69 (talk | contribs)

TechDraw LandmarkDimension

Menu location
TechDraw → Dimensions → Insert Landmark Dimension - EXPERIMENTAL
Workbenches
TechDraw
Default shortcut
None
Introduced in version
0.19
See also
TechDraw HorizontalDimension, TechDraw VerticalDimension

Description

The TechDraw LandmarkDimension 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 TechDraw LengthDimension for more on dimensions and topological naming.

The Landmark Dimension generally behaves like any other Dimension.

Usage

  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 Insert Landmark Dimension - EXPERIMENTAL button or TechDraw → Insert Landmark Dimension - EXPERIMENTAL
  4. A dimension will be added to the View. The dimension text may be dragged to the desired position.

Limitations

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

Properties

Landmark Dimension does not introduce any new properties.

Scripting

See also: Autogenerated API documentation and FreeCAD Scripting Basics.

The Landmark Dimension 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)