Draft Skalieren

From FreeCAD Documentation
Revision as of 08:20, 3 September 2019 by FuzzyBot (talk | contribs) (Updating to match new version of source page)

Skalieren

Menüeintrag
Entwurf → Skalieren
Arbeitsbereich
Draft, Arch
Standardtastenkürzel
S C
Eingeführt in Version
-
Siehe auch
Klonen, Versetzen

Beschreibung

Dieses Werkzeug skaliert ausgewählte Objekte um einen Basis-Punkt. Wenn kein Objekt ausgewählt ist, wird man aufgefordert eines zu wählen.

The Scale tool can produce a copy or a Draft Clone at a defined scale. Use Draft Offset to produce a scaled copy of a wire set at a certain offset. A simple copy with no scaling can be produced with Draft Move.

This 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 Workbench or PartDesign Workbench.

File:Draft Scale example.jpg

Scaling one object from a reference point to a second point

How to use

  1. Select the objects that you wish to scale.
  2. Press the Draft Scale button, or press S then C keys. If no object is selected, you will be invited to select one.
  3. Click a first point on the 3D view, or type a coordinate and press the add point button. This serves as the base point of the operation.
  4. Set the X, Y, and Z factors, and the appropriate result options, then press Enter or the OK button to finish the operation.

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.
  • Fill in the X, Y and Z factors to define the scaling along that direction.
    • Click the "Uniform scaling" checkbox to lock the X, Y and Z factors to the same value.
    • Click the "Working plane orientation" checkbox to lock the X, Y and Z scaling along the current Working Plane; otherwise, global X, Y and Z directions are used.
  • Three options control the result of the scaling operation:
    • Create a clone. A Draft Clone of the original object will be created. This will work for all object types.
Note: even if the scaling factors are left at their default values (1.0, 1.0, 1.0), once the clone is created you will be able to change these factors manually in the property editor.
  • Modify original. The original object will have its size modified. This will only work with Draft objects and non-parametric Part shapes.
  • Create a copy. A scaled copy of the original object will be created. This will work for all object types, but only the copies of Draft objects will be parametric.
Note: a copy is a completely different object from the original shape; it will be created at the specified scale, and then will have its own set of properties. On the other hand, a Draft Clone is linked to the original shape and the only property that can be changed is the scale.

Scripting

See also: Draft API and FreeCAD Scripting Basics.

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

scaledlist = scale(objectslist, delta=Vector(1,1,1), center=Vector(0,0,0), copy=False, legacy=False)
  • Scales the objects in objectslist by the factors specified by the components of delta, defined as a FreeCAD.Vector, and using center as base point.
    • objectslist is either a single object or a list of objects.
  • If copy is True copies are created instead of modifying the original objects.
  • If legacy is True, direct copy mode is used (outdated), otherwise a parametric copy is made.
  • scaledlist is returned with the original scaled objects, or with the new clones.
    • scaledlist is either a single object or a list of objects, depending on the input objectslist.

Example:

import FreeCAD, Draft

Polygon1 = Draft.makePolygon(3, radius=1200)
delta1 = FreeCAD.Vector(2.3, 0.75, 0)

clone_1 = Draft.scale(Polygon1, delta1, copy=True)

Polygon2 = Draft.makePolygon(5, radius=750)
delta2 = FreeCAD.Vector(-2, -1.5, 0)

clone_2 = Draft.scale([Polygon1, Polygon2], delta2, copy=True)
Draft.move(clone_2, FreeCAD.Vector(3500, 1000, 0))