Draft Clone: Difference between revisions

From FreeCAD Documentation
(Marked this version for translation)
m (Docnav)
Line 2: Line 2:
<translate>
<translate>
<!--T:19-->
<!--T:19-->
{{docnav|[[Draft_PointArray|Point Array]]|[[Draft_Drawing|Drawing]]|[[Draft_Module|Draft]]|IconL=Draft_PointArray.svg|IconC=Workbench_Draft.svg|IconR=Draft_Drawing.svg}}
{{Docnav|[[Draft_PointArray|Point Array]]|[[Draft_Drawing|Drawing]]|[[Draft_Module|Draft]]|IconL=Draft_PointArray.svg|IconC=Workbench_Draft.svg|IconR=Draft_Drawing.svg}}


<!--T:1-->
<!--T:1-->
Line 90: Line 90:


<!--T:18-->
<!--T:18-->
{{docnav|[[Draft_PointArray|Point Array]]|[[Draft_Drawing|Drawing]]|[[Draft_Module|Draft]]|IconL=Draft_PointArray.svg|IconC=Workbench_Draft.svg|IconR=Draft_Drawing.svg}}
{{Docnav|[[Draft_PointArray|Point Array]]|[[Draft_Drawing|Drawing]]|[[Draft_Module|Draft]]|IconL=Draft_PointArray.svg|IconC=Workbench_Draft.svg|IconR=Draft_Drawing.svg}}


<!--T:20-->
<!--T:20-->

Revision as of 20:22, 11 February 2019

Draft Clone

Menu location
Draft → Clone
Workbenches
Draft, Arch
Default shortcut
None
Introduced in version
-
See also
Draft Move, Draft Scale

Description

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.

The Clone tool can be used on 2D shapes created with the Draft Workbench, but can also be used on many types of 3D objects such as those created with the Part, PartDesign, or Arch Workbenches.

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

  1. Select an object that you wish to clone.
  2. Press the Draft Clone button.

Depending on its options, the Draft Scale tool also creates a clone at a specified scale.

Clones of 2D objects created with the Draft or Sketcher Workbenches will also be 2D objects, and therefore can be used as such for the PartDesign Workbench.

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.

Limitations

Currently, Sketcher Sketches cannot be mapped to the faces of a clone.

Options

There are no options for this tool. Either it works with the selected objects or not.

Properties

  • 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 true 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

Scripting

See also: Draft API and FreeCAD Scripting Basics.

The Clone tool can be used in macros and from the Python console by using the following function:

cloned_object = clone(obj, delta=None, forcedraft=False)
  • Creates a cloned_object from obj, which can be a single object or a list of objects.
  • If given, delta is a FreeCAD.Vector that moves the new clone away from the original position of the base object.
  • If forcedraft is True, the resulting object will be a Draft clone, and not an Arch clone, even if obj is an Arch Workbench object.

The fusion of the objects that are part of the clone can be achieved by setting its Fuse attribute to True.

Example:

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()