|Draft → Clone|
|Introduced in version|
|Draft Move, Draft Scale|
The Draft Clone tool produces linked copies of a selected shape. This means that if the original object changes its shape and properties, all clones change as well. Nevertheless, each clone retains its unique position, rotation, and scale, as well as its view properties like shape color, line width, and transparency.
To create simple copies, that are completely independent from an original object, use Draft Move, Draft Rotate, and Draft Scale. To position copies in an orthogonal array use Draft Array; to position copies along a path use Draft PathArray; to position copies at specified points use Draft PointArray.
Clone next to the original object
How to use
- Select an object that you wish to clone.
- Press the button.
Depending on its options, thetool also creates a clone at a specified scale.
All Arch Workbench objects have the possibility to behave as clones by using their DataCloneOf property. If you use the Draft Clone tool on a selected Arch object, you will produce such an Arch clone instead of a regular Draft clone.
Currently, Sketcher Sketches cannot be mapped to the faces of a clone.
There are no options for this tool. Either it works with the selected objects or not.
- DataObjects: specifies a list of base objects which are being cloned.
- DataScale: specifies the scaling factor for the clone, in each X, Y, and Z direction.
- DataFuse: if it is and DataObjects includes many shapes that intersect each other, the resulting clone will be fuse them together into a single shape, or make a compound of them. introduced in version 0.17
cloned_object = clone(obj, delta=None, forcedraft=False)
- Creates a
obj, which can be a single object or a list of objects.
- If given,
FreeCAD.Vectorthat moves the new clone away from the original position of the base object.
True, the resulting object will be a Draft clone, and not an Arch clone, even if
objis an Arch Workbench object.
The fusion of the objects that are part of the clone can be achieved by setting its
Fuse attribute to
import FreeCAD, Draft place = FreeCAD.Placement(FreeCAD.Vector(1000, 0, 0), FreeCAD.Rotation()) Polygon1 = Draft.makePolygon(3, 750) Polygon2 = Draft.makePolygon(5, 750, placement=place) obj = [Polygon1, Polygon2] vector = FreeCAD.Vector(2600, 500, 0) cloned_object = Draft.clone(obj, delta=vector) cloned_object.Fuse = True FreeCAD.ActiveDocument.recompute()