EM FHSegment: Difference between revisions
mNo edit summary |
(First creation) |
||
Line 34: | Line 34: | ||
# Press the {{Button|[[Image:EM_FHSegment.svg|16px]] [[EM_FHSegment|EM FHSegment]]}} button, or press {{KEY|E}} then {{KEY|S}} keys. As many FHSegment objects will be created as the Draft Line objects. |
# Press the {{Button|[[Image:EM_FHSegment.svg|16px]] [[EM_FHSegment|EM FHSegment]]}} button, or press {{KEY|E}} then {{KEY|S}} keys. As many FHSegment objects will be created as the Draft Line objects. |
||
===Remarks:=== |
|||
⚫ | |||
⚫ | * If you create a FHSegment object based on a Draft Line object, you can NOT freely move the FHSegment or the end point FHNodes. The FHSegment will always be constrained to the base object. To change the position of the FHSegment, or of its end point, change the underlying Draft Line object (the base object is hidden by default, you can show it again by selecting the object in the tree and pressing {{KEY|Space}}. |
||
* If the FHSegment object has no base object {{incode|baseobj}}, its position is controlled by the starting and ending FHNodes. You cannot change a FHSegment position by changing its Placement. |
|||
==Options== |
==Options== |
||
Line 43: | Line 47: | ||
==Properties== |
==Properties== |
||
* {{PropertyData| |
* {{PropertyData|Base}}: The base object this component is built upon (a [[Draft_Line|Draft Line]]) |
||
* {{PropertyData| |
* {{PropertyData|NodeStart}}: the starting [[EM_FHNode|FHNode]] |
||
* {{PropertyData| |
* {{PropertyData|NodeEnd}}: the ending [[EM_FHNode|FHNode]] |
||
* {{PropertyData|Width}}: the FHSegment width ('w' segment parameter in FastHenry) |
|||
* {{PropertyData|Height}}: the FHSegment height ('h' segment parameter in FastHenry) |
|||
* {{PropertyData|Sigma}}: the FHSegment conductivity ('sigma' segment parameter in FastHenry) |
|||
* {{PropertyData|ww}}: the FHSegment cross-section direction along the width ('wx', 'wy', 'wz' segment parameter in FastHenry) |
|||
* {{PropertyData|nhinc}}: the Number of filaments in the height direction ('nhinc' segment parameter in FastHenry) |
|||
* {{PropertyData|nwinc}}: the Number of filaments in the width direction ('nwinc' segment parameter in FastHenry) |
|||
* {{PropertyData|rh}}: the ratio of adjacent filaments in the height direction ('rh' segment parameter in FastHenry) |
|||
* {{PropertyData|rw}}: the ratio of adjacent filaments in the width direction ('rw' segment parameter in FastHenry) |
|||
==Scripting== |
==Scripting== |
||
Line 54: | Line 66: | ||
{{Code|code= |
{{Code|code= |
||
segment = makeFHSegment(baseobj=None, nodeStart=None, nodeEnd=None, width=None, height=None, name='FHSegment') |
|||
}} |
}} |
||
* Creates a {{incode| |
* Creates a {{incode|FHSegment}} object. |
||
* {{incode|baseobj}} is the Draft |
* {{incode|baseobj}} is the Draft Line object that can be used as base for the FHSegment. If {{incode|nodeStart}} and {{incode|nodeEnd}} are specified, they have priority over the {{incode|baseobj}}, and {{incode|baseobj}} is ignored. |
||
* {{incode| |
* {{incode|nodeStart}} is the segment starting node [[EM_FHNode|FHNode]] object. |
||
* {{incode| |
* {{incode|nodeEnd}} is the segment ending node [[EM_FHNode|FHNode]] object. |
||
* {{incode| |
* {{incode|width}} is the segment width. Defaults to {{incode|EMFHSEGMENT_DEF_SEGWIDTH}}. |
||
* {{incode| |
* {{incode|height}} is the segment height. Defaults to {{incode|EMFHSEGMENT_DEF_SEGHEIGHT}}. |
||
* {{incode|size}} is the node size. Defaults to {{incode|EMFHNODE_DEF_NODESIZE}}. |
|||
* {{incode|name}} is the name of the object |
* {{incode|name}} is the name of the object |
||
The placement of the FHNode can be changed by modifying its {{incode|Placement}} property, or changing the {{incode|X}},{{incode|Y}},{{incode|Z}} properties individually. Changing {{incode|X}},{{incode|Y}},{{incode|Z}} modifies the node position in the relative coordinate system of the {{incode|Placement}}. |
|||
Additionally, the _FHNode class exposes these methods. The _FHNode class can be accessed through the FHNode object Proxy (e.g. fhnode.Proxy). |
|||
{{Code|code= |
|||
pos = getAbsCoord() |
|||
}} |
|||
* Get a {{incode|FreeCAD.Vector}} containing the node coordinates in the absolute reference system |
|||
{{Code|code= |
|||
pos = getRelCoord() |
|||
}} |
|||
* Get a {{incode|FreeCAD.Vector}} containing the node coordinates relative to the FHNode Placement |
|||
{{Code|code= |
|||
pos = setRelCoord(rel_coord, placement=None) |
|||
}} |
|||
* Sets the node position relative to the placement |
|||
* {{incode|rel_coord}} is a FreeCAD.Vector containing the node coordinates relative to the FHNode Placement |
|||
* {{incode|placement}} is a new FHNode placement. If {{incode|None}}, the placement is not changed |
|||
{{Code|code= |
|||
pos = setAbsCoord(abs_coord, placement=None) |
|||
}} |
|||
* Sets the absolute node position, considering the object placement, and in case forcing a new placement |
|||
* {{incode|abs_coord}} is a FreeCAD.Vector containing the node coordinates in the absolute reference system |
|||
* {{incode|placement}} is a new FHNode placement. If {{incode|None}}, the placement is not changed |
|||
Example: |
Example: |
||
Line 104: | Line 82: | ||
import FreeCAD, EM |
import FreeCAD, EM |
||
fhnode1 = EM.makeFHNode(X=1.0,Y=0,Z=0) |
|||
fhnode2 = EM.makeFHNode(X=0,Y=1.0,Z=0) |
|||
fhsegment = EM.makeFHSegment(nodeStart=fhnode1, nodeEnd=fhnode2) |
|||
}} |
}} |
||
Revision as of 18:00, 4 January 2019
EM FHSegment |
Menu location |
---|
EM → FHSegment |
Workbenches |
EM |
Default shortcut |
E S |
Introduced in version |
0.17 (Add-on) |
See also |
EM FHNode, EM FHPath |
Description
The FHSegment tool inserts a FastHenry segment object.
FastHenry FHSegment
How to use
The FHSegment object can be based on the position of a Draft Line object, or on two existing FHNodes that will be the FHSegment end points, or you can select the 3D location of the two end points, where two additional FHNodes will be created.
- Press the EM FHSegment button, or press E then S keys.
- Click a first point on the 3D view, or type a coordinate and press the add point button.
- Click a second point on the 3D view, or type a coordinate and press the add point button.
Alternatively, you can also:
- Select two FHNode objects
- Press the EM FHSegment button, or press E then S keys.
Or:
- Select one or multiple Draft Line object(s)
- Press the EM FHSegment button, or press E then S keys. As many FHSegment objects will be created as the Draft Line objects.
Remarks:
- If you create a FHSegment object based on a Draft Line object, you can NOT freely move the FHSegment or the end point FHNodes. The FHSegment will always be constrained to the base object. To change the position of the FHSegment, or of its end point, change the underlying Draft Line object (the base object is hidden by default, you can show it again by selecting the object in the tree and pressing Space.
- If the FHSegment object has no base object
baseobj
, its position is controlled by the starting and ending FHNodes. You cannot change a FHSegment position by changing its Placement.
Options
- To enter coordinates manually, simply enter the numbers, then press Enter between each X, Y and Z component. You can press the add point button when you have the desired values to insert the point.
- Press Esc or the Close button to abort the current command.
Properties
- DataBase: The base object this component is built upon (a Draft Line)
- DataNodeStart: the starting FHNode
- DataNodeEnd: the ending FHNode
- DataWidth: the FHSegment width ('w' segment parameter in FastHenry)
- DataHeight: the FHSegment height ('h' segment parameter in FastHenry)
- DataSigma: the FHSegment conductivity ('sigma' segment parameter in FastHenry)
- Dataww: the FHSegment cross-section direction along the width ('wx', 'wy', 'wz' segment parameter in FastHenry)
- Datanhinc: the Number of filaments in the height direction ('nhinc' segment parameter in FastHenry)
- Datanwinc: the Number of filaments in the width direction ('nwinc' segment parameter in FastHenry)
- Datarh: the ratio of adjacent filaments in the height direction ('rh' segment parameter in FastHenry)
- Datarw: the ratio of adjacent filaments in the width direction ('rw' segment parameter in FastHenry)
Scripting
See also: FreeCAD Scripting Basics.
The FHNode object can be used in macros and from the Python console by using the following function:
segment = makeFHSegment(baseobj=None, nodeStart=None, nodeEnd=None, width=None, height=None, name='FHSegment')
- Creates a
FHSegment
object. baseobj
is the Draft Line object that can be used as base for the FHSegment. IfnodeStart
andnodeEnd
are specified, they have priority over thebaseobj
, andbaseobj
is ignored.nodeStart
is the segment starting node FHNode object.nodeEnd
is the segment ending node FHNode object.width
is the segment width. Defaults toEMFHSEGMENT_DEF_SEGWIDTH
.height
is the segment height. Defaults toEMFHSEGMENT_DEF_SEGHEIGHT
.name
is the name of the object
Example:
import FreeCAD, EM
fhnode1 = EM.makeFHNode(X=1.0,Y=0,Z=0)
fhnode2 = EM.makeFHNode(X=0,Y=1.0,Z=0)
fhsegment = EM.makeFHSegment(nodeStart=fhnode1, nodeEnd=fhnode2)