Part Helix: Difference between revisions

From FreeCAD Documentation
(A common usage for the Helix is for creating screw threads in conjunction with the Sweep operation.)
(Marked this version for translation)
 
(29 intermediate revisions by 6 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
{{UnfinishedDocu{{#translation:}}}}
<translate>
<translate>

<!--T:18-->
{{Docnav
|[[Part_Wedge|Wedge]]
|[[Part_Spiral|Spiral]]
|[[Part_Workbench|Part]]
|IconL=Part_Wedge.svg
|IconR=Part_Spiral.svg
|IconC=Workbench_Part.svg
}}

<!--T:1-->
<!--T:1-->
{{GuiCommand
{{GuiCommand
|Name=Part Helix
|Name=Part Helix
|MenuLocation=Part → [[Part_CreatePrimitives|Create Primitives]] → Helix
|MenuLocation=Part → [[Part_Primitives|Create primitives]] → Helix
|Workbenches=[[Part Module|Part]], [[OpenSCAD_Module|OpenSCAD]]
|Workbenches=[[Part_Workbench|Part]], [[OpenSCAD_Workbench|OpenSCAD]]
|SeeAlso=[[Part CreatePrimitives]]
|SeeAlso=[[Part_Primitives|Part Primitives]]
}}
}}


== Description == <!--T:2-->
== Description == <!--T:2-->


<!--T:13-->
The {{Button|[[File:Part_Helix.svg|16px]] [[Part_Helix|Part Helix]]}} geometric primitive creates a helix shape, defined by a radius, a pitch, and a total height.
A [[Image:Part_Helix.svg|24px]] '''Part Helix''' is a parametric shape that can be created with the [[Image:Part_Primitives.svg|24px]] [[Part_Primitives|Part Primitives]] command. In the coordinate system defined by its {{PropertyData|Placement}} property, the axis of the helix matches the Z axis and its bottom point, the start point, lies on the X axis.


</translate>
<!--T:10-->
[[Image:Part_Helix_Example.png|400px]]
A common usage for the helix primitive is for [[Thread_for_Screw_Tutorial|creating screw threads]] in conjunction with a closed profile, and the {{Button|[[Image:Part_Sweep.svg|16px]] [[Part_Sweep|Sweep]]}} operation. This process works essentially the same in the [[PartDesign_Workbench|PartDesign Workbench]] by using the {{Button|[[File:PartDesign_AdditivePipe.svg|16px]] [[PartDesign_AdditivePipe|PartDesign Additive pipe]]}} tool.
<translate>


== Usage == <!--T:4-->
== Usage == <!--T:4-->


<!--T:9-->
<!--T:20-->
See [[Part_Primitives#Usage|Part Primitives]].
# Switch to the [[Image:Workbench_Part.svg|24px]] [[Part_Module|Part Workbench]].
# The Create Primitives dialogue can be accessed several ways:
#* Pressing the {{Button|[[File:Part_Primitives.svg|16px]] [[Part_Primitives|Primitives]]}} button located in the Part toolbar.
#* Using the {{MenuCommand|Part → [[File:Part_Primitives.svg|16px]] [[Part_Primitives|Create primitives]] → Helix}} entry in the Part menu.


== Example == <!--T:21-->
[[File:PartHelixPrimitivesOptions_en.png]]


====Parameter==== <!--T:5-->
<!--T:22-->
[[Image:Part_Helix_Scripting_Example.png|thumb|Part Helix from the scripting example]]


<!--T:23-->
* {{Parameter|Pitch:}}The pitch corresponds to the space between two consecutive "turns" of the helix measured along the main axis of the helix.
A Part Helix object created with the [[#Scripting|scripting example]] below is shown here.
* {{Parameter|Height:}} The height corresponds to the overall height of the helix measured along the main axis of the helix.
* {{Parameter|Radius:}} The radius corresponds to the radius of the circle built by the helix by viewing the helix from the top or bottom.
* {{Parameter|Angle}}: Per default the helix is built on a imaginary cylinder. With this option it is possible to build the helix on a imaginay cone. This angle corresponds to the angle of the cone. The value must be comprised between 0 and +90 deg.
* {{Parameter|Right-handed or Left-handed:}} This parameter specifies the [https://en.wikipedia.org/wiki/Screw_thread handedness] of the helix.


== Notes == <!--T:6-->
====Location====


<!--T:10-->
* {{Parameter|X:}} The main axis of the helix will be translated along the x axis of the value you indicate in this field.
* A Part Helix can be used to create screw threads. See [[Thread_for_Screw_Tutorial|Thread for Screw Tutorial]].
* {{Parameter|Y:}} The main axis of the helix will be translated along the y axis of the value you indicate in this field.
* {{Parameter|Z:}} The main axis of the helix will be translated along the z axis of the value you indicate in this field.
* {{Parameter|Direction:}} Per default the main axis of the helix is the z axis. Here you have the possibility to edit the main axis of the helix. If you select the parameter "user defined..." , you will be invited to indicate the main axis of the helix by entering the coordinates of its vector.
* {{Parameter|3D View:}} allows you select center in the 3D view


== Options == <!--T:6-->
== Properties == <!--T:24-->


=== Properties === <!--T:3-->
<!--T:25-->
See also: [[Property_editor|Property editor]].
Once you have created the helix you have the possibility to edit its parameters.

{|
<!--T:26-->
| [[File:PartHelixProperty_en.png]]
A Part Helix object is derived from a [[Part_Feature|Part Feature]] object and inherits all its properties. It also has the following additional properties:
|

The parameters in this menu are similar to those described above.<br />
=== Data === <!--T:27-->
{{KEY|Base}}<br />

* {{Parameter|Placement:}} allows you to move or rotate the helix
<!--T:28-->
* {{Parameter|Angle:}}
{{TitleProperty|Attachment}}
|}

<!--T:29-->
The object has the same attachment properties as a [[Part_Part2DObject#Data|Part Part2DObject]].

<!--T:30-->
{{TitleProperty|Coordinate System}}

<!--T:31-->
* {{PropertyData|Local Coord|Enumeration}}: The [https://en.wikipedia.org/wiki/Screw_thread handedness], or direction, of the helix: {{Value|Right-handed}} or {{Value|Left-handed}}. The default is {{Value|Right-handed}}, meaning the helix turns counterclockwise as it goes up.

<!--T:32-->
{{TitleProperty|Helix}}

<!--T:33-->
* {{PropertyData|Pitch|Length}}: The distance between two consecutive turns of the helix measured along its Z axis. The default is {{Value|1mm}}.
* {{PropertyData|Height|Length}}: The height of the helix. The default is {{Value|2mm}}.
* {{PropertyData|Radius|Length}}: The start radius of the helix. The helix has a constant radius if {{PropertyData|Angle}} is {{Value|0°}}.
* {{PropertyData|Segment Length|QuantityConstraint}}: The number of turns per helix subdivision. The default is {{Value|1}}, meaning each full turn of the helix is a separate segment. Use {{Value|0}} to suppress subdivision.
* {{PropertyData|Angle|Angle}}: The angle that defines of the outer shape of the helix. Valid range: {{Value|-90° &lt; value &lt; 90°}}. The default is {{Value|0°}}. If it is {{Value|0°}} the helix is cylindrical, else it is conical.

== Scripting == <!--T:34-->

<!--T:35-->
See also: [https://freecad.github.io/SourceDoc/ Autogenerated API documentation], [[Part_scripting|Part scripting]] and [[FreeCAD_Scripting_Basics|FreeCAD Scripting Basics]].

<!--T:36-->
A Part Helix can be created with the {{Incode|addObject()}} method of the document:


</translate>
</translate>
{{Code|code=
{{clear}}
helix = FreeCAD.ActiveDocument.addObject("Part::Helix", "myHelix")
}}
<translate>


<!--T:37-->
{{Part Tools navi{{#translation:}}}}
* Where {{Incode|"myHelix"}} is the name for the object.
* The function returns the newly created object.


<!--T:38-->
Example:

</translate>
{{Code|code=
import FreeCAD as App

doc = App.activeDocument()

helix = doc.addObject("Part::Helix", "myHelix")
helix.Pitch = 2
helix.Height = 3
helix.Radius = 4
helix.SegmentLength = 21
helix.Angle = 45
helix.Placement = App.Placement(App.Vector(1, 2, 3), App.Rotation(75, 60, 30))

doc.recompute()
}}
<translate>


<!--T:19-->
{{Docnav
|[[Part_Wedge|Wedge]]
|[[Part_Spiral|Spiral]]
|[[Part_Workbench|Part]]
|IconL=Part_Wedge.svg
|IconR=Part_Spiral.svg
|IconC=Workbench_Part.svg
}}

</translate>
{{Part_Tools_navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}

Latest revision as of 10:17, 3 March 2022

Part Helix

Menu location
Part → Create primitives → Helix
Workbenches
Part, OpenSCAD
Default shortcut
None
Introduced in version
-
See also
Part Primitives

Description

A Part Helix is a parametric shape that can be created with the Part Primitives command. In the coordinate system defined by its DataPlacement property, the axis of the helix matches the Z axis and its bottom point, the start point, lies on the X axis.

Usage

See Part Primitives.

Example

Part Helix from the scripting example

A Part Helix object created with the scripting example below is shown here.

Notes

Properties

See also: Property editor.

A Part Helix object is derived from a Part Feature object and inherits all its properties. It also has the following additional properties:

Data

Attachment

The object has the same attachment properties as a Part Part2DObject.

Coordinate System

  • DataLocal Coord (Enumeration): The handedness, or direction, of the helix: Right-handed or Left-handed. The default is Right-handed, meaning the helix turns counterclockwise as it goes up.

Helix

  • DataPitch (Length): The distance between two consecutive turns of the helix measured along its Z axis. The default is 1mm.
  • DataHeight (Length): The height of the helix. The default is 2mm.
  • DataRadius (Length): The start radius of the helix. The helix has a constant radius if DataAngle is .
  • DataSegment Length (QuantityConstraint): The number of turns per helix subdivision. The default is 1, meaning each full turn of the helix is a separate segment. Use 0 to suppress subdivision.
  • DataAngle (Angle): The angle that defines of the outer shape of the helix. Valid range: -90° < value < 90°. The default is . If it is the helix is cylindrical, else it is conical.

Scripting

See also: Autogenerated API documentation, Part scripting and FreeCAD Scripting Basics.

A Part Helix can be created with the addObject() method of the document:

helix = FreeCAD.ActiveDocument.addObject("Part::Helix", "myHelix")
  • Where "myHelix" is the name for the object.
  • The function returns the newly created object.

Example:

import FreeCAD as App

doc = App.activeDocument()

helix = doc.addObject("Part::Helix", "myHelix")
helix.Pitch = 2
helix.Height = 3
helix.Radius = 4
helix.SegmentLength = 21
helix.Angle = 45
helix.Placement = App.Placement(App.Vector(1, 2, 3), App.Rotation(75, 60, 30))

doc.recompute()