---
- GuiCommand:
Name: EM FHPlaneHole
MenuLocation: EM -> FHPlaneHole
Workbenches: EM_Workbench
Shortcut: **E** **H**
Version: 0.17
SeeAlso: EM_FHPlane, EM_FHNode, EM_FHPlaneAddRemoveNodeHole
---
The FHPlaneHole tool inserts a plane hole object, that represents a FastHenry uniform conductive plane hole.
FastHenry Point FHPlaneHole
FastHenry Rectangle FHPlaneHole
FastHenry Circle FHPlaneHole
The FHPlaneHole object can be based on the position of a Draft Point object, or you can select the 3D location of the FHPlaneHole.
- Press the EM FHPlaneHole button, or press E then H keys.
- Click a point on the 3D view, or type coordinates and press the add point button.
Alternatively, you can also:
- Select one or multiple Draft Point object(s)
- Press the EM FHPlaneHole button, or press E then H keys. As many FHPlaneHole objects will be created as the Draft Point objects, at the same coordinates of the Draft Points.
-
FHPlaneHole objects have no meaning if they are not part of a FHPlane. To adopt a FHPlaneHole within a FHPlane, use the EM FHPlaneAddRemoveNodeHole command, or select the FHPlaneHole at FHPlane creation. To remove a FHPlaneHole from a FHPlane, you can use the EM FHPlaneAddRemoveNodeHole command.
-
FHPlaneHole objects represent FastHenry plane holes, and therefore follow the same rules of the uniform conductive plane holes. In particular, holes are created removing the internal plane nodes from the plane node array, before constructing the segment mesh. You can enable the view of the internal FHPlane nodes by turning the FHPlane ShowNodes property on. Three types of FHPlaneHoles exist, and can be selected by changing the Type FHPlaneNode property.
- Point hole: Removes the single FHPlane internal node closer to the position of the FHPlaneHole. The Point FHPlaneHole is shown as a single vertex (small dot), to help to visualize its position; see the FastHenry Point FHPlaneHole picture above.
- Rect hole: Removes all the FHPlane internal nodes that are within as well as close to the area defined by the base point of the FHPlaneNode and the Length and Width properties. This means that not only the internal nodes strictly within the rectangular area defined by the FHPlaneHole are removed, but also the internal nodes outside the rectangle, but within half of the internal node - node distance. The Rect FHPlaneHole is shown as a 2D rectangle, to help to visualize its position and area; see the FastHenry Rect FHPlaneHole picture above.
- Circle hole: Removes all the FHPlane internal nodes that are within as well as close to the area defined by the base point of the FHPlaneNode and the Radius property. This means that not only the internal nodes strictly within the circular area defined by the FHPlaneHole are removed, but also the internal nodes outside the circle, but within half of the internal node - node distance. The Circle FHPlaneHole is shown as a 2D circle, to help to visualize its position and area; see the FastHenry Circle FHPlaneHole picture above. Note that if the FHPlane discretization as specified by the seg1 and seg1 FHPlane properties is coarse, the shape of the circular hole can not resemble a circle. This is normal, and it is how FastHenry handles circular holes, not a defect of the ElectroMagnetic Workbench for FastHenry.
- 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.
-
X: the X coordinate of the FHPlaneHole
-
Y: the Y coordinate of the FHPlaneHole
-
Z: the Z coordinate of the FHPlaneHole
-
Length: the Rectangular hole length (along x from FHPlaneHole base point)
-
Width: the Rectangular hole width (along y from FHPlaneHole base point)
-
Radius: the Circular hole radius
-
Type: the type of FastHenry plane hole. Can be "Point", "Rect" or "Circle".
See also:
The FHPlaneHole object can be used in macros and from the Python console by using the following function:
hole = makeFHPlaneHole(baseobj=None, X=0.0, Y=0.0, Z=0.0, holetype=None, length=None, width=None, radius=None, name='FHPlaneHole')
-
Creates a
FHPlaneHole
object. -
baseobj
is the Draft Point object whose position can be used as base for the FHPlaneHole. It has priority overX
,Y
,Z
. If nobaseobj
is given,X
,Y
,Z
are used as coordinates. -
X
x coordinate of the hole, in absolute coordinate system. -
Y
y coordinate of the hole, in absolute coordinate system. -
Z
z coordinate of the hole, in absolute coordinate system. -
holetype
is the type of hole. Allowed values are: "Point", "Rect", "Circle" -
length
is the length of the hole (along the x dimension), in case of rectangular "Rect" hole. -
width
is the width of the hole (along the y dimension), in case of rectangular "Rect" hole. -
radius
is the radius of the hole, in case of circular "Circle" hole. -
name
is the name of the object
The placement of the FHPlaneHole can be changed by modifying its Placement
property, or changing the X
,Y
,Z
properties individually. Changing X
,Y
,Z
modifies the node position in the relative coordinate system of the Placement
.
Additionally, the _FHPlaneHole class exposes these methods. The _FHPlaneHole class can be accessed through the FHPlaneHole object Proxy (e.g. fhhole.Proxy).
pos = getAbsCoord()
- Get a
FreeCAD.Vector
containing the hole coordinates in the absolute reference system
pos = getRelCoord()
- Get a
FreeCAD.Vector
containing the hole coordinates relative to the FHPlaneHole Placement
pos = setRelCoord(rel_coord, placement=None)
-
Sets the hole position relative to the placement
-
rel_coord
is a FreeCAD.Vector containing the hole coordinates relative to the FHPlaneHole Placement -
placement
is a new FHPlaneHole placement. IfNone
, the placement is not changed
pos = setAbsCoord(abs_coord, placement=None)
-
Sets the absolute hole position, considering the object placement, and in case forcing a new placement
-
abs_coord
is a FreeCAD.Vector containing the hole coordinates in the absolute reference system -
placement
is a new FHPlaneHole placement. IfNone
, the placement is not changed
Example:
import FreeCAD, EM
fhhole = EM.makeFHPlaneHole(X=1.0,Y=1.0,Z=0.0,holetype="Rect",length=1.0,width=2.0)
{{EM Tools navi}}
⏵ documentation index > EM > EM FHPlaneHole