Draft Dimension/sv: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
(Updating to match new version of source page)
 
(26 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<languages/>
<languages/>

{{Docnav
|[[Draft_Text|Text]]
|[[Draft_Label|Label]]
|[[Draft_Workbench|Draft]]
|IconL=Draft_Text.svg
|IconR=Draft_Label.svg
|IconC=Workbench_Draft.svg
}}

<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
{{GuiCommand/sv|Name=Draft Dimension|Workbenches=[[Draft Module/sv|Skiss]]|MenuLocation=Draft → Dimension|Shortcut=D I|SeeAlso=[[Draft FlipDimension/sv|FlipDimension]]}}
{{GuiCommand/sv|Name=Draft Dimension|Workbenches=[[Draft_Workbench/sv|Skiss]]|MenuLocation=Draft → Dimension|Shortcut=D I|SeeAlso=[[Draft FlipDimension/sv|FlipDimension]]}}
</div>
</div>

==Description==


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
Line 10: Line 22:
</div>
</div>


Linear dimensions based on edges and radial dimensions are parametric. This means that they will update if the measured edge is modified. Measured edges can belong to Draft objects but also to solid bodies. Angular dimensions are not parametric.
The tool can measure edges or lines directly attached to solid bodies; if the body changes, the dimension updates itself. The tool can also measure a diameter or radius of curvature such as those produced by a [[Draft Arc]], or by the [[Part Fillet]], [[Sketcher CreateFillet]], and [[PartDesign Fillet]] operations.


The resulting dimension is placed in the 3D view, and is considered a Draft object. This object can be displayed on a [[TechDraw Workbench]] Page, using the [[TechDraw NewDraft]] or [[TechDraw NewArch]] tools. Alternatively, TechDraw has its own tools to display dimensions, such as [[TechDraw Dimension Length]] and [[TechDraw Dimension Radius]]; however, these tools are meant for preparing technical drawings, so they create the dimensions only in the drawing page, and not in the 3D view.
Draft Dimensions can be displayed on a [[TechDraw_Workbench|TechDraw Workbench]] page using the [[TechDraw_DraftView|TechDraw DraftView]] or [[TechDraw_ArchView|TechDraw ArchView]] commands. Alternatively the [[TechDraw_Workbench|TechDraw Workbench]] offer its own dimension commands. But these create dimensions that are only displayed on the drawing page and not in the [[3D_view|3D view]].


[[Image:Screenshot_Draft_Dimension.jpg|400px]]
[[Image:Screenshot_Draft_Dimension.jpg|400px]]
{{Caption|Dimension defined by three points}}
{{Caption|Linear dimension defined by three points}}

== Create ==

See also: [[Draft_Tray|Draft Tray]], [[Draft_Snap|Draft Snap]] and [[Draft_Constrain|Draft Constrain]].

=== Usage linear dimension ===


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
Line 23: Line 41:
* Nedtryckning av {{KEY|CTRL}} kommer att [[Draft_Snap/sv|snäppa]] din punkt till tillgängliga snäpp-punkter.
* Nedtryckning av {{KEY|CTRL}} kommer att [[Draft_Snap/sv|snäppa]] din punkt till tillgängliga snäpp-punkter.
* Nedtryckning av {{KEY|SHIFT}} kommer att [[Draft_Constrain/sv|begränsa]] dimensioneringen horisontellt eller vertikalt.
* Nedtryckning av {{KEY|SHIFT}} kommer att [[Draft_Constrain/sv|begränsa]] dimensioneringen horisontellt eller vertikalt.
* Skriv in siffror för att [[Draft_Coordinates/sv|manuellt mata in en koordinat]].
* Skriv in siffror för att manuellt mata in en koordinat.
* Om du trycker på {{KEY|ESC}} så avbryts funktionen.
* Om du trycker på {{KEY|ESC}} så avbryts funktionen.
</div>
</div>


=== Usage radial dimension ===
The dimension can be edited by double clicking on the element in the tree view, or by pressing the {{Button|[[Image:Draft Edit.svg|16px]] [[Draft Edit]]}} button. Then you can move the points to a new position.


# Optionally select a circular edge in the [[3D_view|3D view]].
The measuring points can be changed after creation by changing the start and end properties.
# There are several ways to invoke the command:
#* Press the {{Button|[[Image:Draft_Dimension.svg|16px]] [[Draft_Dimension|Draft Dimension]]}} button.
#* Select the {{MenuCommand|Annotation → [[Image:Draft_Dimension.svg|16px]] Dimension}} option from the menu.
#* Use the keyboard shortcut: {{KEY|D}} then {{KEY|I}}.
# The {{MenuCommand|Dimension}} task panel opens. See [[#Options|Options]] for more information.
# If you have not yet selected an edge do one of the following:
#* Press {{KEY|E}} or the {{Button|[[Image:view-select.svg|16px]] Select edge}} button and select a circular edge in the [[3D_view|3D view]].
#* Hold down the {{KEY|Alt}} key, select a circular edge in the [[3D_view|3D view]] and release the {{KEY|Alt}} key.
# To position the dimension line do one of the following:
#* For a diameter dimension:
#** Pick a point in the [[3D_view|3D view]], or type coordinates and press the {{Button|[[Image:Draft_AddPoint.svg|16px]] Enter point}} button.
#* For a radial dimension:
#** Hold down the {{KEY|Shift}} key and pick a point in the [[3D_view|3D view]].


=== Usage angular dimension ===
The position of the measurement line can also be changed after creation by changing its direction property.


# There are several ways to invoke the command:
===Available dimension types===
#* Press the {{Button|[[Image:Draft_Dimension.svg|16px]] [[Draft_Dimension|Draft Dimension]]}} button.
Release the modifier ({{KEY|Alt}} or {{KEY|Shift}}) after picking a point or an edge.
#* Select the {{MenuCommand|Annotation → [[Image:Draft_Dimension.svg|16px]] Dimension}} option from the menu.
#* Use the keyboard shortcut: {{KEY|D}} then {{KEY|I}}.
# The {{MenuCommand|Dimension}} task panel opens. See [[#Options|Options]] for more information.
# Do one of the following:
#* Press {{KEY|E}} or the {{Button|[[Image:view-select.svg|16px]] Select edge}} button and select a first straight edge in the [[3D_view|3D view]]. Repeat this to select a second straight edge.
#* Hold down the {{KEY|Alt}} key, select two straight edges in the [[3D_view|3D view]] and release the {{KEY|Alt}} key.
# To position the dimension arc pick a point in the [[3D_view|3D view]].
# The displayed angle depends on the edges and the picked point.


=== Options ===
* Linear dimensions: hold the {{KEY|Alt}} key, or click on the {{Button|[[Image:view-select.svg|16px]] select edge}} button, and pick a straight edge, then pick a second point to draw the dimension line parallel to that edge.
:{{emphasis|Note:}} you can also pre-select the edge before calling the tool.
* Horizontal and vertical dimensions: pick one point, then pick a second point, then hold the {{KEY|Shift}} key and move the pointer horizontally or vertically, then pick a third point to draw the dimension line parallel to either the X axis or the Y axis.
:{{emphasis|Note 1:}} click and hold {{KEY|Shift}} and move the pointer in different directions many times until the dimension line aligns to the desired axis. Clicking {{KEY|Shift}} while the pointer is far from the first point will usually align the dimension to the X axis; if the pointer is close to the first point it will usually align the dimension to the Y axis.
:{{emphasis|Note 2:}} instead of picking two points, pick an edge while holding {{KEY|Alt}}.
* Diameter dimensions: hold the {{KEY|Alt}} key and pick a curved edge, then pick a second point to draw the dimension line.
** Radius dimensions: hold the {{KEY|Alt}} key and pick a curved edge, then hold the {{KEY|Shift}} key and pick a second point to draw the dimension line.
* Angular dimensions: hold the {{KEY|Alt}} key and then pick two straight edges, then pick a point between the two edges to show the acute or obtuse angle, or elsewhere to show a supplementary or explementary angle.
:{{Emphasis|Note:}} the displayed angle largely depends on the original position of the selected edges. If you would like to display a particular angle, you may have to add auxiliary [[Draft Line]]s that extend from the original edges, and measure these extensions.


The single character keyboard shortcuts available in the task panel can be changed. See [[Draft_Preferences|Draft Preferences]]. The shortcuts mentioned here are the default shortcuts (for version 0.22).
{{Emphasis|Note:}} by pre-selecting an edge, or by picking it with {{KEY|Alt}} or {{Button|[[Image:view-select.svg|16px]] select edge}}, the dimension will become {{emphasis|parametric}}, that is, it will remember which edge it is bound to. If the endpoints of that edge move later on, the dimension will follow them, and adjust the displayed measurement.


* To manually enter coordinates enter the X, Y and Z component, and press {{KEY|Enter}} after each. Or you can press the {{Button|[[Image:Draft_AddPoint.svg|16px]] Enter point}} button when you have the desired values. It is advisable to move the pointer out of the [[3D_view|3D view]] before entering coordinates.
==Options==
* Press {{KEY|X}}, {{KEY|Y}} or {{KEY|Z}} after a point to constrain the next point on the given axis.
* Press {{KEY|R}} or click the {{MenuCommand|Relative}} checkbox to toggle relative mode. If relative mode is on, coordinates are relative to the last point, if available, else they are relative to the coordinate system origin.
* Press {{KEY|G}} or click the {{MenuCommand|Global}} checkbox to toggle global mode. If global mode is on, coordinates are relative to the global coordinate system, else they are relative to the [[Draft_SelectPlane|working plane]] coordinate system. {{Version|0.20}}
* To enter coordinates manually, simply enter the numbers, then press {{KEY|Enter}} between each X, Y and Z component. You can press the {{Button|[[Image:Draft_AddPoint.svg|16px]] [[Draft_AddPoint|add point]]}} button when you have the desired values to insert the point.
* Press {{KEY|R}} or click the checkbox to toggle ''relative'' mode. If relative mode is on, the coordinates of the next point are relative to the previous one; if not, they are absolute, taken from the origin (0,0,0).
* Press {{KEY|N}} or click the {{MenuCommand|Continue}} checkbox to toggle continue mode. This mode only works for linear dimensions. If continue mode is on, the command will restart after finishing, allowing you to continue creating dimensions. All subsequent dimensions will start from the final point of the previous dimension, and will use the same baseline as the first dimension. Note that edge selection is not possible for subsequent dimensions.
* Press {{KEY|S}} to switch [[Draft_Snap|Draft snapping]] on or off.
* Press {{KEY|T}} or click the checkbox to toggle ''continue'' mode. If continue mode is on, the Dimension tool will restart after you give the final point, allowing you to draw another dimension without pressing the tool button again; the following dimensions will start from the final point of the previous dimension, and will share the same baseline.
* Press {{KEY|Esc}} or the {{Button|Close}} button to finish the command.
* Hold {{KEY|Ctrl}} while drawing to force [[Draft_Snap|snapping]] your point to the nearest snap location, independently of the distance.

* Hold {{KEY|Shift}} while drawing to [[Draft_Constrain|constrain]] your next point horizontally or vertically in relation to the previous one, and to switch between diameter and radius modes.
== Convert ==
* Press {{KEY|Esc}} or the {{Button|Close}} button to abort the current command, and finish ''continued'' dimensions; dimensions already placed will remain.

=== Usage ===

# Select one or more [[Std_MeasureDistance|Std MeasureDistance]] objects.
# There are several ways to invoke the command:
#* Press the {{Button|[[Image:Draft_Dimension.svg|16px]] [[Draft_Dimension|Draft Dimension]]}} button.
#* Select the {{MenuCommand|Annotation → [[Image:Draft_Dimension.svg|16px]] Dimension}} option from the menu.
#* Use the keyboard shortcut: {{KEY|D}} then {{KEY|I}}.
# Each selected object is replaced by a non-parametric linear Draft Dimension.

==Notes==

* Linear and radial Draft Dimensions can be edited with the [[Draft_Edit|Draft Edit]] command.
* Draft Dimensions created or saved with [[Release_notes_0.21|FreeCAD version 0.21]] are not backward compatible.


==Properties==
==Properties==


See also: [[Property_editor|Property editor]].
=== Data ===

* {{PropertyData|Start}}: specifies the start point of the distance to measure.
A Draft Dimension object is derived from an [[App_FeaturePython|App FeaturePython]] object and inherits all its properties. The following properties are additional unless otherwise stated:
* {{PropertyData|End}}: specified the end point of the distance to measure.

* {{PropertyData|Dimline}}: specifies a point through which the dimension line must pass.
=== Data linear and radial dimension ===
* {{PropertyData|Distance}}: (read-only) indicates the measured length.

* {{PropertyData|Diameter}}: if it is {{TRUE}} it displays a diameter dimension; otherwise it displays a radius dimension; this property only works if the dimension is attached to a circular arc.
{{TitleProperty|Dimension}}

* {{PropertyData|Dimline|VectorDistance}}: specifies the point through which the dimension line passes.
* {{PropertyData|Linked Geometry|LinkSubList}}: specifies the object and its subelement(s) the dimension is linked to.
* {{PropertyData|Normal|Vector}}: specifies the normal of the plane of the text.
* {{PropertyData|Support|Link|hidden}}: specifies the measured object.

{{TitleProperty|Linear/radial dimension}}

* {{PropertyData|Direction|Vector}}: specifies the direction of the measurement.
* {{PropertyData|Distance|Length}}: (read-only) specifies the value of the measurement.
* {{PropertyData|End|VectorDistance}}: specifies the end point of the measurement.
* {{PropertyData|Start|VectorDistance}}: specifies the start point of the measurement.

{{TitleProperty|Radial dimension}}

* {{PropertyData|Diameter|Bool}}: specifies if a radial dimension is displayed as a diameter dimension. Not used for linear dimensions.

=== Data angular dimension ===

{{TitleProperty|Angular dimension}}

* {{PropertyData|Angle|Angle}}: (read-only) specifies the value of the measurement.
* {{PropertyData|Center|VectorDistance}}: specifies the center of the measurement.
* {{PropertyData|First Angle|Angle}}: specifies the start angle of the measurement.
* {{PropertyData|Last Angle|Angle}}: specifies the end angle of the measurement.

{{TitleProperty|Dimension}}

* {{PropertyData|Dimline|VectorDistance}}: specifies the point through which the dimension arc passes.
* {{PropertyData|Linked Geometry|LinkSubList|hidden}}: not used.
* {{PropertyData|Normal|Vector|hidden}}: specifies the normal of the plane of the dimension.
* {{PropertyData|Support|Link|hidden}}: not used.


=== View ===
=== View ===

* {{PropertyView|Ext Lines}}: specifies the maximum length of the extension lines that go from the measurement points to the dimension line.
{{TitleProperty|Annotation}}
* {{PropertyView|Ext Overshoot}}: specifies the additional length of the extension lines beyond the dimension line.

* {{PropertyView|Dim Overshoot}}: specifies the additional length added to the dimension line.
* {{PropertyView|Arrow Size}}: specifies the size of the symbol displayed at the ends of the dimension line.
* {{PropertyView|Annotation Style|Enumeration}}: specifies the annotation style applied to the dimension. See [[Draft_AnnotationStyleEditor|Draft AnnotationStyleEditor]].
* {{PropertyView|Arrow Type}}: specifies the type of symbol displayed at the ends of the dimension line, which can be "Dot", "Circle", "Arrow", or "Tick".
* {{PropertyView|Scale Multiplier|Float}}: specifies the general scaling factor applied to the dimension.

* {{PropertyView|Flip Arrows}}: specifies whether to flip the orientation of the symbols at the ends of the dimension line; it only works if these symbols are arrows.
{{TitleProperty|Display Options}}
* {{PropertyView|Font Name}}: specifies the font to use to draw the text. It can be a font name, such as "Arial", a default style such as "sans", "serif" or "mono", a family such as "Arial,Helvetica,sans" or a name with a style such as "Arial:Bold". If the given font is not found on the system, a generic one is used instead.

* {{PropertyView|Font Size}}: specifies the size of the letters. If the dimension object is created in the tree view but no text is visible, increase the size of the text until it is visible.
* {{PropertyView|Display Mode|Enumeration}}: specifies how the text is displayed. If it is {{value|World}} the text will be displayed on a plane defined by the {{PropertyData|Normal}} of the measurement. If it is {{value|Screen}} the text will always face the screen. This is an inherited property. The mentioned options are the renamed options ({{Version|0.21}}).
* {{PropertyView|Flip Text}}: specifies whether to flip the orientation of the text indicating the measurement.

* {{PropertyView|Text Position}}: specifies the position of the text in absolute coordinates, referred to the origin (0,0,0); leave this property at its default value (0,0,0) to display the text next to the dimension line.
{{TitleProperty|Graphics}}
* {{PropertyView|Text Spacing}}: specifies the space between the text and the dimension line.

* {{PropertyView|Override}}: specifies a custom text to display instead of the actual measurement. Use the string {{incode|$dim}} inside the text to display the measurement value.
* {{PropertyView|Decimals}}: specifies the number of decimal places to display on the measurement.
* {{PropertyView|Arrow Size|Length}}: specifies the size of the symbols displayed at the ends of the dimension line or arc.
* {{PropertyView|Arrow Type|Enumeration}}: specifies the type of symbol displayed at the ends of the dimension line or arc, which can be {{value|Dot}}, {{value|Circle}}, {{value|Arrow}}, {{value|Tick}} or {{value|Tick-2}}.
* {{PropertyView|Show Unit}}: if it is {{TRUE}} the unit is displayed next to numerical value of the measurement.
* {{PropertyView|Unit Override}}: specifies a unit in which to express the measurement, for example, "km", "m", "cm", "mm", "mi", "ft", "in"; leave this property blank to use the default units. {{Version|0.17}}
* {{PropertyView|Dim Overshoot|Distance}}: specifies the additional length added to the dimension line. Not used for angular dimensions.
* {{PropertyView|Ext Lines|Distance}}: specifies the length of the extension lines that go from the dimension line to the measured points. Use {{Value|0}} for full extension lines. A negative value defines the gap between the ends of the extension lines and the measured points. A positive value defines the maximum length of the extension lines. Only used for linear dimensions.
* {{PropertyView|Ext Overshoot|Distance}}: specifies the additional length of the extension lines beyond the dimension line. Not used for angular dimensions.
* {{PropertyView|Flip Arrows|Bool}}: specifies whether to flip the orientation of the symbols at the ends of the dimension line or arc. Only works if the symbols are arrows.
* {{PropertyView|Line Color|Color}}: specifies the color of the dimension line or arc, and the arrows.
* {{PropertyView|Line Width|Float}}: specifies the width of the lines or arc belonging to the dimension.
* {{PropertyView|Show Line|Bool}}: specifies whether to display the dimension line. Does not affect the display of extension lines and overshoots. Not used for angular dimensions.

{{TitleProperty|Text}}

* {{PropertyView|Flip Text|Bool}}: specifies whether to flip the orientation of the text.
* {{PropertyView|Font Name|Font}}: specifies the font used to draw the text. It can be a font name, such as {{value|Arial}}, a default style such as {{value|sans}}, {{value|serif}} or {{value|mono}}, a family such as {{value|Arial,Helvetica,sans}}, or a name with a style such as {{value|Arial:Bold}}. If the given font is not found on the system, a default font is used instead.
* {{PropertyView|Font Size|Length}}: specifies the size of the letters. The text can be invisible in the [[3D_view|3D view]] if this value is very small.
* {{PropertyView|Override|String}}: specifies a custom text to display instead of the actual measurement. Use the string {{value|$dim}} inside the text to include the measurement.
* {{PropertyView|Text Color|Color}}: specifies the color of the text. {{Version|0.21}}
* {{PropertyView|Text Position|VectorDistance}}: specifies the position of the text in absolute coordinates. {{Value|[0, 0, 0]}} will display the text in its default position near the dimension line or arc.
* {{PropertyView|Text Spacing|Length}}: specifies the space between the text and the dimension line or arc.

{{TitleProperty|Units}}

* {{PropertyView|Decimals|Integer}}: specifies the number of decimal places to display for the measurement.
* {{PropertyView|Show Unit|Bool}}: specifies whether to display the unit next to the numerical value of the measurement. Not used for angular dimensions.
* {{PropertyView|Unit Override|String}}: specifies the unit in which to express the measurement, for example, {{value|km}}, {{value|m}}, {{value|cm}}, {{value|mm}}, {{value|mi}}, {{value|ft}}, {{value|in}} or {{value|arch}} for arch units. Leave this blank to use the default unit. Not used for angular dimensions.


==Scripting==
==Scripting==
{{Emphasis|See also:}} [[Draft API]] and [[FreeCAD Scripting Basics]].


See also: [https://freecad.github.io/SourceDoc/ Autogenerated API documentation] and [[FreeCAD Scripting Basics|FreeCAD Scripting Basics]].
The Dimension tool can be used in [[macros]] and from the [[Python]] console by using the following function:

To create a Draft Dimension use the {{incode|make_dimension}} method ({{Version|0.19}}) of the Draft module. This method replaces the deprecated {{incode|makeDimension}} method.

{{Code|code=
{{Code|code=
Dimension = makeDimension(p1, p2, p3=None, p4=None)}}
dimension = make_dimension(p1, p2, p3=None, p4=None)}}

There are various ways to invoke this function, depending on the arguments passed to it:
There are various ways to invoke this method, depending on the arguments passed to it:

{{Code|code=
{{Code|code=
Dimension = makeDimension(p1, p2, p3=None)
dimension = make_dimension(p1, p2, p3=None)
Dimension = makeDimension(object, i1, i2, p4=None)
dimension = make_dimension(object, i1, i2, p4=None)
Dimension = makeDimension(object, i1, mode, p4=None)
dimension = make_dimension(object, i1, mode, p4=None)
}}
}}


* Creates a linear {{incode|Dimension}} by measuring the distance between points {{incode|p1}} and {{incode|p2}}.
* Creates a linear {{incode|dimension}} by measuring the distance between points {{incode|p1}} and {{incode|p2}}.
* Creates a linear {{incode|Dimension}} linked to {{incode|object}}, measuring the distance between its vertices indexed {{incode|i1}} and {{incode|i2}}.
* Creates a linear {{incode|dimension}} linked to {{incode|object}}, measuring the distance between its vertices indexed {{incode|i1}} and {{incode|i2}}.
* Creates a circular {{incode|Dimension}} linked to {{incode|object}}, with {{incode|i1}} being the index of the curved edge to measure, and {{incode|mode}} being either {{incode|"radius"}} or {{incode|"diameter"}} to specify the type of dimension.
* Creates a circular {{incode|dimension}} linked to {{incode|object}}, with {{incode|i1}} being the index of the curved edge to measure, and {{incode|mode}} being either {{incode|"radius"}} or {{incode|"diameter"}} to specify the type of dimension.
** {{incode|p3}} in the first call, and {{incode|p4}} in the other two, specify an optional point through which the dimension line should go.
** {{incode|p3}} in the first call, and {{incode|p4}} in the other two, specify an optional point through which the dimension line should go.
** All points are defined by their {{incode|FreeCAD.Vector}}.
** All points are defined by their {{incode|FreeCAD.Vector}}.


To create an angular dimension use the following function:
To create an angular dimension use the following method:

{{Code|code=
{{Code|code=
Dimension = makeAngularDimension(center, angles, p3, normal=None)
dimension = make_angular_dimension(center, angles, p3, normal=None)
Dimension = makeAngularDimension(center, [angle1, angle2], p3, normal=None)
dimension = make_angular_dimension(center, [angle1, angle2], p3, normal=None)
}}
}}


* Creates an angular {{incode|Dimension}} from the given {{incode|center}} point, the {{incode|angles}} list with two elements, and the point {{incode|p3}} through which the arc should go.
* Creates an angular {{incode|dimension}} from the given {{incode|center}} point, the {{incode|angles}} list with two elements, and the point {{incode|p3}} through which the arc should go.
** If {{incode|angle1 > angle2}}, the displayed angle is the difference {{incode|angle1 - angle2}}; otherwise, the explementary angle is displayed, {{incode|360 - (angle2 - angle1)}}.
** If {{incode|angle1 > angle2}}, the displayed angle is the difference {{incode|angle1 - angle2}}; otherwise, the explementary angle is displayed, {{incode|360 - (angle2 - angle1)}}.
** The angles should be given in radians; the {{incode|math.radians()}} function can be used to convert angles given in degrees.
** The angles should be given in degrees.


The view properties of {{incode|Dimension}} can be changed by overwriting its attributes; for example, overwrite {{incode|ViewObject.FontSize}} with the new size in millimeters.
The view properties of {{incode|dimension}} can be changed by overwriting its attributes; for example, overwrite {{incode|ViewObject.FontSize}} with the new size in millimeters.


Example:
Example:

{{Code|code=
{{Code|code=
import math, FreeCAD, Draft
import FreeCAD as App
import Draft


doc = App.newDocument()
p1 = FreeCAD.Vector(0, 0, 0)
p2 = FreeCAD.Vector(1000, 1000, 0)
p3 = FreeCAD.Vector(-2500, 0, 0)
Dimension1 = Draft.makeDimension(p1, p2, p3)
Dimension1.ViewObject.FontSize = 200


p1 = App.Vector(0, 0, 0)
Polygon = Draft.makePolygon(3, radius=1000)
p4 = FreeCAD.Vector(-2000, 1500, 0)
p2 = App.Vector(1000, 1000, 0)
p3 = App.Vector(-2500, 0, 0)
Dimension2 = Draft.makeDimension(Polygon, 1, 2, p4)
dimension1 = Draft.make_dimension(p1, p2, p3)
Dimension2.ViewObject.FontSize = 200
dimension1.ViewObject.FontSize = 200


polygon = Draft.make_polygon(3, radius=1000)
center = FreeCAD.Vector(2000, 0, 0)
doc.recompute()
p5 = FreeCAD.Vector(3000, 1000, 0)
angle1 = math.radians(45)
angle2 = math.radians(10)
Dimension3 = Draft.makeAngularDimension(center, [angle1, angle2], p5)
Dimension3.ViewObject.FontSize = 200


p4 = App.Vector(-2000, 1500, 0)
Dimension4 = Draft.makeAngularDimension(center, [angle2, angle1], p5*1.2)
dimension2 = Draft.make_dimension(polygon, 1, 2, p4)
Dimension4.ViewObject.FontSize = 200
dimension2.ViewObject.FontSize = 200

center = App.Vector(2000, 0, 0)
p5 = App.Vector(3000, 1000, 0)
angle1 = 45
angle2 = 10
dimension3 = Draft.make_angular_dimension(center, [angle1, angle2], p5)
dimension3.ViewObject.FontSize = 200

dimension4 = Draft.make_angular_dimension(center, [angle2, angle1], p5*1.2)
dimension4.ViewObject.FontSize = 200

doc.recompute()
}}
}}


==Links==
* Video tutorial: [http://www.youtube.com/watch?v=nxNT0KychcY Projecting dimensions on a Drawing Page], FreeCAD 0.14


{{Docnav
{{Draft Tools navi}}
|[[Draft_Text|Text]]
{{Userdocnavi}}
|[[Draft_Label|Label]]
{{clear}}
|[[Draft_Workbench|Draft]]
|IconL=Draft_Text.svg
|IconR=Draft_Label.svg
|IconC=Workbench_Draft.svg
}}

{{Draft Tools navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}

Latest revision as of 04:58, 9 January 2024

Draft Dimension

Menyplacering
Draft → Dimension
Arbetsbänkar
Skiss
Standard genväg
D I
Introducerad i version
-
Se även
FlipDimension

Description

Beskrivning

Detta verktyg ber användaren om två punkter för att definiera det segment som ska måttsättas, sedan en tredje punkt för att placera dimensionslinjen.

Linear dimensions based on edges and radial dimensions are parametric. This means that they will update if the measured edge is modified. Measured edges can belong to Draft objects but also to solid bodies. Angular dimensions are not parametric.

Draft Dimensions can be displayed on a TechDraw Workbench page using the TechDraw DraftView or TechDraw ArchView commands. Alternatively the TechDraw Workbench offer its own dimension commands. But these create dimensions that are only displayed on the drawing page and not in the 3D view.

Linear dimension defined by three points

Create

See also: Draft Tray, Draft Snap and Draft Constrain.

Usage linear dimension

Bruk

  • Markera 3 punkter i ett tomt område i 3d vyn, eller på ett existerande objekt.
  • Nedtryckning av CTRL kommer att snäppa din punkt till tillgängliga snäpp-punkter.
  • Nedtryckning av SHIFT kommer att begränsa dimensioneringen horisontellt eller vertikalt.
  • Skriv in siffror för att manuellt mata in en koordinat.
  • Om du trycker på ESC så avbryts funktionen.

Usage radial dimension

  1. Optionally select a circular edge in the 3D view.
  2. There are several ways to invoke the command:
    • Press the Draft Dimension button.
    • Select the Annotation → Dimension option from the menu.
    • Use the keyboard shortcut: D then I.
  3. The Dimension task panel opens. See Options for more information.
  4. If you have not yet selected an edge do one of the following:
    • Press E or the Select edge button and select a circular edge in the 3D view.
    • Hold down the Alt key, select a circular edge in the 3D view and release the Alt key.
  5. To position the dimension line do one of the following:
    • For a diameter dimension:
      • Pick a point in the 3D view, or type coordinates and press the Enter point button.
    • For a radial dimension:
      • Hold down the Shift key and pick a point in the 3D view.

Usage angular dimension

  1. There are several ways to invoke the command:
    • Press the Draft Dimension button.
    • Select the Annotation → Dimension option from the menu.
    • Use the keyboard shortcut: D then I.
  2. The Dimension task panel opens. See Options for more information.
  3. Do one of the following:
    • Press E or the Select edge button and select a first straight edge in the 3D view. Repeat this to select a second straight edge.
    • Hold down the Alt key, select two straight edges in the 3D view and release the Alt key.
  4. To position the dimension arc pick a point in the 3D view.
  5. The displayed angle depends on the edges and the picked point.

Options

The single character keyboard shortcuts available in the task panel can be changed. See Draft Preferences. The shortcuts mentioned here are the default shortcuts (for version 0.22).

  • To manually enter coordinates enter the X, Y and Z component, and press Enter after each. Or you can press the Enter point button when you have the desired values. It is advisable to move the pointer out of the 3D view before entering coordinates.
  • Press R or click the Relative checkbox to toggle relative mode. If relative mode is on, coordinates are relative to the last point, if available, else they are relative to the coordinate system origin.
  • Press G or click the Global checkbox to toggle global mode. If global mode is on, coordinates are relative to the global coordinate system, else they are relative to the working plane coordinate system. introduced in version 0.20
  • Press N or click the Continue checkbox to toggle continue mode. This mode only works for linear dimensions. If continue mode is on, the command will restart after finishing, allowing you to continue creating dimensions. All subsequent dimensions will start from the final point of the previous dimension, and will use the same baseline as the first dimension. Note that edge selection is not possible for subsequent dimensions.
  • Press S to switch Draft snapping on or off.
  • Press Esc or the Close button to finish the command.

Convert

Usage

  1. Select one or more Std MeasureDistance objects.
  2. There are several ways to invoke the command:
    • Press the Draft Dimension button.
    • Select the Annotation → Dimension option from the menu.
    • Use the keyboard shortcut: D then I.
  3. Each selected object is replaced by a non-parametric linear Draft Dimension.

Notes

  • Linear and radial Draft Dimensions can be edited with the Draft Edit command.
  • Draft Dimensions created or saved with FreeCAD version 0.21 are not backward compatible.

Properties

See also: Property editor.

A Draft Dimension object is derived from an App FeaturePython object and inherits all its properties. The following properties are additional unless otherwise stated:

Data linear and radial dimension

Dimension

  • DataDimline (VectorDistance): specifies the point through which the dimension line passes.
  • DataLinked Geometry (LinkSubList): specifies the object and its subelement(s) the dimension is linked to.
  • DataNormal (Vector): specifies the normal of the plane of the text.
  • Data (hidden)Support (Link): specifies the measured object.

Linear/radial dimension

  • DataDirection (Vector): specifies the direction of the measurement.
  • DataDistance (Length): (read-only) specifies the value of the measurement.
  • DataEnd (VectorDistance): specifies the end point of the measurement.
  • DataStart (VectorDistance): specifies the start point of the measurement.

Radial dimension

  • DataDiameter (Bool): specifies if a radial dimension is displayed as a diameter dimension. Not used for linear dimensions.

Data angular dimension

Angular dimension

  • DataAngle (Angle): (read-only) specifies the value of the measurement.
  • DataCenter (VectorDistance): specifies the center of the measurement.
  • DataFirst Angle (Angle): specifies the start angle of the measurement.
  • DataLast Angle (Angle): specifies the end angle of the measurement.

Dimension

  • DataDimline (VectorDistance): specifies the point through which the dimension arc passes.
  • Data (hidden)Linked Geometry (LinkSubList): not used.
  • Data (hidden)Normal (Vector): specifies the normal of the plane of the dimension.
  • Data (hidden)Support (Link): not used.

View

Annotation

  • VyAnnotation Style (Enumeration): specifies the annotation style applied to the dimension. See Draft AnnotationStyleEditor.
  • VyScale Multiplier (Float): specifies the general scaling factor applied to the dimension.

Display Options

  • VyDisplay Mode (Enumeration): specifies how the text is displayed. If it is World the text will be displayed on a plane defined by the DataNormal of the measurement. If it is Screen the text will always face the screen. This is an inherited property. The mentioned options are the renamed options (introduced in version 0.21).

Graphics

  • VyArrow Size (Length): specifies the size of the symbols displayed at the ends of the dimension line or arc.
  • VyArrow Type (Enumeration): specifies the type of symbol displayed at the ends of the dimension line or arc, which can be Dot, Circle, Arrow, Tick or Tick-2.
  • VyDim Overshoot (Distance): specifies the additional length added to the dimension line. Not used for angular dimensions.
  • VyExt Lines (Distance): specifies the length of the extension lines that go from the dimension line to the measured points. Use 0 for full extension lines. A negative value defines the gap between the ends of the extension lines and the measured points. A positive value defines the maximum length of the extension lines. Only used for linear dimensions.
  • VyExt Overshoot (Distance): specifies the additional length of the extension lines beyond the dimension line. Not used for angular dimensions.
  • VyFlip Arrows (Bool): specifies whether to flip the orientation of the symbols at the ends of the dimension line or arc. Only works if the symbols are arrows.
  • VyLine Color (Color): specifies the color of the dimension line or arc, and the arrows.
  • VyLine Width (Float): specifies the width of the lines or arc belonging to the dimension.
  • VyShow Line (Bool): specifies whether to display the dimension line. Does not affect the display of extension lines and overshoots. Not used for angular dimensions.

Text

  • VyFlip Text (Bool): specifies whether to flip the orientation of the text.
  • VyFont Name (Font): specifies the font used to draw the text. It can be a font name, such as Arial, a default style such as sans, serif or mono, a family such as Arial,Helvetica,sans, or a name with a style such as Arial:Bold. If the given font is not found on the system, a default font is used instead.
  • VyFont Size (Length): specifies the size of the letters. The text can be invisible in the 3D view if this value is very small.
  • VyOverride (String): specifies a custom text to display instead of the actual measurement. Use the string $dim inside the text to include the measurement.
  • VyText Color (Color): specifies the color of the text. introduced in version 0.21
  • VyText Position (VectorDistance): specifies the position of the text in absolute coordinates. [0, 0, 0] will display the text in its default position near the dimension line or arc.
  • VyText Spacing (Length): specifies the space between the text and the dimension line or arc.

Units

  • VyDecimals (Integer): specifies the number of decimal places to display for the measurement.
  • VyShow Unit (Bool): specifies whether to display the unit next to the numerical value of the measurement. Not used for angular dimensions.
  • VyUnit Override (String): specifies the unit in which to express the measurement, for example, km, m, cm, mm, mi, ft, in or arch for arch units. Leave this blank to use the default unit. Not used for angular dimensions.

Scripting

See also: Autogenerated API documentation and FreeCAD Scripting Basics.

To create a Draft Dimension use the make_dimension method (introduced in version 0.19) of the Draft module. This method replaces the deprecated makeDimension method.

dimension = make_dimension(p1, p2, p3=None, p4=None)

There are various ways to invoke this method, depending on the arguments passed to it:

dimension = make_dimension(p1, p2, p3=None)
dimension = make_dimension(object, i1, i2, p4=None)
dimension = make_dimension(object, i1, mode, p4=None)
  • Creates a linear dimension by measuring the distance between points p1 and p2.
  • Creates a linear dimension linked to object, measuring the distance between its vertices indexed i1 and i2.
  • Creates a circular dimension linked to object, with i1 being the index of the curved edge to measure, and mode being either "radius" or "diameter" to specify the type of dimension.
    • p3 in the first call, and p4 in the other two, specify an optional point through which the dimension line should go.
    • All points are defined by their FreeCAD.Vector.

To create an angular dimension use the following method:

dimension = make_angular_dimension(center, angles, p3, normal=None)
dimension = make_angular_dimension(center, [angle1, angle2], p3, normal=None)
  • Creates an angular dimension from the given center point, the angles list with two elements, and the point p3 through which the arc should go.
    • If angle1 > angle2, the displayed angle is the difference angle1 - angle2; otherwise, the explementary angle is displayed, 360 - (angle2 - angle1).
    • The angles should be given in degrees.

The view properties of dimension can be changed by overwriting its attributes; for example, overwrite ViewObject.FontSize with the new size in millimeters.

Example:

import FreeCAD as App
import Draft

doc = App.newDocument()

p1 = App.Vector(0, 0, 0)
p2 = App.Vector(1000, 1000, 0)
p3 = App.Vector(-2500, 0, 0)
dimension1 = Draft.make_dimension(p1, p2, p3)
dimension1.ViewObject.FontSize = 200

polygon = Draft.make_polygon(3, radius=1000)
doc.recompute()

p4 = App.Vector(-2000, 1500, 0)
dimension2 = Draft.make_dimension(polygon, 1, 2, p4)
dimension2.ViewObject.FontSize = 200

center = App.Vector(2000, 0, 0)
p5 = App.Vector(3000, 1000, 0)
angle1 = 45
angle2 = 10
dimension3 = Draft.make_angular_dimension(center, [angle1, angle2], p5)
dimension3.ViewObject.FontSize = 200

dimension4 = Draft.make_angular_dimension(center, [angle2, angle1], p5*1.2)
dimension4.ViewObject.FontSize = 200

doc.recompute()