|
|
| Menu location |
|---|
| Modification → Array Tools → Array Modify → Array |
| Workbenches |
| Draft, BIM |
| Default shortcut |
| None |
| Introduced in version |
| 0.19 |
| See also |
| Draft PolarArray, Draft CircularArray, Draft PathArray, Draft PathLinkArray, Draft PointArray, Draft PointLinkArray |
Description
The Draft OrthoArray command creates an orthogonal (3-axes) array from a selected object. The command can optionally create a Link array, which is more efficient than a regular array.
The command can be used on 2D objects created with the Draft Workbench or Sketcher Workbench, but also on many 3D objects such as those created with the Part Workbench, PartDesign Workbench or BIM Workbench.
Draft OrthoArray
Usage
- Optionally select one object.
- There are several ways to invoke the command:
- The Orthogonal Array task panel opens. See Options for more information.
- If you have not yet selected an object: select one object.
- Enter the required parameters in the task panel.
- To finish the command do one of the following:
- Click in the 3D View.
- Press Enter.
- Press the OK button.
Options
- Optionally press the Switch to ... Mode button: introduced in 1.1
- Linear Mode: introduced in 1.1
- Select the X axis, Y axis or Z axis radio button to specify the direction of the array.
- Enter the Number of Elements.
- Enter the Interval.
- Ortho Mode:
- Enter the Number of Elements for the X, Y and Z directions. This number must be at least
1for every direction. - Enter the X Intervals to specify the displacement for the elements in the X direction. For a rectangular array the Y and Z values must be
0. - Enter the Y Intervals to specify the displacement for the elements in the Y direction. For a rectangular array the X and Z values must be
0. - Enter the Z Intervals to specify the displacement for the elements in the Z direction. For a rectangular array the X and Y values must be
0.
- Enter the Number of Elements for the X, Y and Z directions. This number must be at least
- Linear Mode: introduced in 1.1
- Press the Reset X, Reset Y or Reset Z button to reset the interval in the given direction to the default.
- If the Fuse checkbox is checked overlapping elements in the array are fused.
- If the Link array checkbox is checked a Link array instead of a regular array is created. A Link array is more efficient because its elements are App Link objects.
- Press Esc or the Cancel button to abort the command.
Notes
- A Draft OrthoArray can be turned into a Draft PolarArray or a Draft CircularArray by changing its ÚdajeArray Type property.
- A Link array cannot be turned into a regular array or vice versa. The type of array must be decided at creation time.
- Fused Link arrays are not displayed properly, in the 3D View their elements always appear unfused.
Properties
See also: Property View.
The Draft OrthoArray command, the Draft PolarArray command and the Draft CircularArray command create the same object. This object is derived from a Part Feature object and inherits all its properties (with the exception of some View properties that are not inherited by Link arrays). The following properties are additional unless otherwise stated:
Data
Link
The properties in this group are only available for Link arrays. See Std LinkMake for more information.
- ÚdajeScale (
Float) - Údaje (Hidden)Scale Vector (
Vector) - ÚdajeScale List (
VectorList) - Údaje (Hidden)Visibility List (
BoolList) - Údaje (Hidden)Placement List (
PlacementList) - Údaje (Hidden)Element List (
LinkList) - Údaje (Hidden)_ Link Touched (
Bool) - Údaje (Hidden)_ Child Cache (
LinkList) - Údaje (Hidden)_ Link Owner (
Integer) - Údaje (Hidden)Colored Elements (
LinkSubHidden) - ÚdajeLink Copy On Change (
Enumeration) - ÚdajeLink Transform (
Bool)
Circular array
The properties in this group are hidden for orthogonal arrays and polar arrays.
- ÚdajeNumber Circles (
Integer): specifies the number of circular layers. Must be at least2. - ÚdajeRadial Distance (
Distance): specifies the distance between circular layers. - ÚdajeSymmetry (
Integer): specifies the number of symmetry lines. This number changes the distribution of the elements in the array. - ÚdajeTangential Distance (
Distance): specifies the distance between elements in the same circular layer. Must be larger than zero.
Draft
- ÚdajeAlways Sync Placement (
Bool)
Objects
- ÚdajeArray Type (
Enumeration): specifies the type of array, which can beortho,polarorcircular. - ÚdajeAxis Reference (
LinkGlobal): specifies the object and edge to be used instead of the ÚdajeAxis and ÚdajeCenter properties. Not used for orthogonal arrays. - ÚdajeBase (
Link): specifies the object to duplicate in the array. - ÚdajeCount (
Integer): (read-only) specifies the total number of elements in the array. - ÚdajeExpand Array (
Bool): specifies whether to expand the array in the Tree View to enable the selection of its individual elements. Only available for Link arrays. - ÚdajeFuse (
Bool): specifies if overlapping elements in the array are fused or not. - Údaje (Hidden)Placement List (
PlacementList): the placement for each element. Appears in the Link group for Link arrays. introduced in 1.1
Orthogonal array
The properties in this group are hidden for circular arrays and polar arrays.
- ÚdajeInterval X (
VectorDistance): specifies the interval between elements in the X direction. - ÚdajeInterval Y (
VectorDistance): specifies the interval between elements in the Y direction. - ÚdajeInterval Z (
VectorDistance): specifies the interval between elements in the Z direction. - ÚdajeNumber X (
Integer): specifies the number of elements in the X direction. Must be at least1. - ÚdajeNumber Y (
Integer): specifies the number of elements in the Y direction. Must be at least1. - ÚdajeNumber Z (
Integer): specifies the number of elements in the Z direction. Must be at least1.
Polar array
The properties in this group are hidden for circular arrays and orthogonal arrays.
- ÚdajeAngle (
Angle): specifies the aperture of the circular arc. Use360°for a full circle. - ÚdajeInterval Axis (
VectorDistance): specifies the interval between elements in the ÚdajeAxis direction. - ÚdajeNumber Polar (
Integer): specifies the number of elements in the polar direction.
Polar/circular array
The properties in this group are hidden for orthogonal arrays.
- ÚdajeAxis (
Vector): specifies the direction of the axis of the array. - ÚdajeCenter (
VectorDistance): specifies the center point of the array. The axis of the array passes through this point. For circular arrays it is an offset from the ÚdajePlacement of the ÚdajeBase object.
View
Link
The properties in this group, with the exception of the inherited property, are only available for Link arrays. See Std LinkMake for more information.
- PohledDraw Style (
Enumeration) - PohledLine Width (
FloatConstraint) - PohledOverride Material (
Bool) - PohledPoint Size (
FloatConstraint) - PohledSelectable (
Bool): this is an inherited property that appears in the Selection group for other arrays - PohledShape Material (
Material)
Base
The properties in this group, with the exception of the inherited property, are only available for Link arrays. See Std LinkMake for more information.
- Pohled (Hidden)Child View Provider (
PersistentObject) - Pohled (Hidden)Material List (
MaterialList) - Pohled (Hidden)Override Color List (
ColorList) - Pohled (Hidden)Override Material List (
BoolList) - Pohled (Hidden)Proxy (
PythonObject): this is an inherited property.
Display Options
The properties in this group are inherited properties. See Part Feature for more information.
- PohledBounding Box (
Bool): this property is not inherited by Link arrays. - PohledDisplay Mode (
Enumeration): for Link arrays it can beLinkorChildView. For other arrays it can be:Flat Lines,Shaded,WireframeorPoints - PohledShow In Tree (
Bool) - PohledVisibility (
Bool)
Draft
- PohledPattern (
Enumeration): not used. - PohledPattern Size (
Float): not used.
Object style
The properties in this group are not inherited by Link arrays.
Scripting
See also: Autogenerated API documentation and FreeCAD Scripting Basics.
Parametric array
To create a parametric orthogonal array use the make_array method (introduced in 0.19) of the Draft module. This method replaces the deprecated makeArray method. The make_array method can create Draft OrthoArrays, Draft PolarArrays and Draft CircularArrays. For each array type one or more wrappers are available.
The main method:
array = make_array(base_object, arg1, arg2, arg3, arg4=None, arg5=None, arg6=None, use_link=True)
The wrappers for orthogonal arrays are:
array = make_ortho_array(base_object,
v_x=App.Vector(10, 0, 0), v_y=App.Vector(0, 10, 0), v_z=App.Vector(0, 0, 10),
n_x=2, n_y=2, n_z=1,
use_link=True)
array = make_ortho_array2d(base_object,
v_x=App.Vector(10, 0, 0), v_y=App.Vector(0, 10, 0),
n_x=2, n_y=2,
use_link=True)
The wrappers for rectangular arrays are:
array = make_rect_array(base_object,
d_x=10, d_y=10, d_z=10,
n_x=2, n_y=2, n_z=1,
use_link=True)
array = make_rect_array2d(base_object,
d_x=10, d_y=10,
n_x=2, n_y=2,
use_link=True)
base_objectis the object to be arrayed. It can also be theLabel(string) of an object in the current document.v_x,v_y, andv_zare the vectors between the base points of the elements in the respective directions.d_x,d_y, andd_zare the distances between the base points of the elements in the respective directions.n_x,n_y, andn_zare the numbers of elements in the respective directions.- If
use_linkisTruethe created elements are App Links instead of regular copies. arrayis returned with the created array object.
Example:
import FreeCAD as App
import Draft
doc = App.newDocument()
rect = Draft.make_rectangle(1500, 500)
v_x = App.Vector(1600, 0, 0)
v_y = App.Vector(0, 600, 0)
array = Draft.make_ortho_array2d(rect, v_x, v_y, 3, 4)
doc.recompute()
Non-parametric array
To create a non-parametric orthogonal array use the array method of the Draft module. This method returns None.
array(objectslist, xvector, yvector, xnum, ynum)
array(objectslist, xvector, yvector, zvector, xnum, ynum, znum)
Example:
import FreeCAD as App
import Draft
doc = App.newDocument()
rect = Draft.make_rectangle(1500, 500)
v_x = App.Vector(1600, 0, 0)
v_y = App.Vector(0, 600, 0)
Draft.array(rect, v_x, v_y, 3, 4)
doc.recompute()
Tato stránka je načtena z https://wiki.freecad.org/Draft_OrthoArray