Skip to content

Latest commit

 

History

History
118 lines (79 loc) · 5.86 KB

Draft_Offset.md

File metadata and controls

118 lines (79 loc) · 5.86 KB
Error in user YAML: (<unknown>): did not find expected alphabetic or numeric character while scanning an alias at line 5 column 14
---
- GuiCommand:
   Name: Draft Offset
   MenuLocation: Modification -> Offset
   Workbenches: Draft_Workbench, Arch_Workbench
   Shortcut: **O** **S**
   SeeAlso: Part_Offset2D
---

Draft Offset

Description

The Draft Offset command offsets each segment of a selected object over a given distance, or creates an offset copy of the selected object.

*Offsetting a Draft Wire*

Usage

See also: Draft Snap and Draft Constrain.

  1. Optionally select one object. The object must lie on the current Draft working plane.
  2. There are several ways to invoke the command:
    • Press the Draft Offset button.
    • Select the Modification → Offset option from the menu.
    • Use the keyboard shortcut: O then S.
  3. If you have not yet selected an object: select an object in the 3D view.
  4. The Offset task panel opens. See Options for more information.
  5. To define the offset distance do one of the following:
    • Pick a point in the 3D view.
    • Enter a numerical value:
      1. Make sure the pointer is on the correct side of the object in the 3D view.
      2. Do not move the pointer out of the 3D view.
      3. Enter a Distance.
      4. Press Enter to finish the command.

Options

The single character keyboard shortcuts and the modifier keys mentioned here can be changed. See Draft Preferences.

  • If the OCC-style offset checkbox is checked a special offset style is used: open Draft Wires are offset on both sides, and new edges are connected with rounded corners. This only works for planar Draft objects with at least two straight edges. Note that with this style a new non-parametric object is created, and if copy mode is off the original object is deleted.
  • Press P or click the Copy checkbox to toggle copy mode. If copy mode is on, the command will create an offset copy instead of offsetting the original object.
  • Holding down Alt before picking points in the 3D view will also toggle copy mode. While Alt is held down multiple offset points can be picked. Release Alt to finish the command and see the created copies.
  • Hold down Shift to keep the offset distance linked to the current segment.
  • Press S to switch Draft snapping on or off.
  • Press Esc or the Close button to abort the command.

Notes

  • To create an offset version of a Draft BSpline its points are offset individually, and from the new points a new spline is calculated. This new spline is not parallel to the original spline. For an exact parallel offset of a Draft BSpline the Part Offset2D command should be used.
  • The Draft Offset command cannot handle Draft BezCurves. Use the Part Offset2D command instead.

Preferences

See also: Preferences Editor and Draft Preferences.

  • To change the number of decimals used for the input of the distance: Edit → Preferences... → General → Units → Units settings → Number of decimals.

Scripting

See also: Autogenerated API documentation and FreeCAD Scripting Basics.

To offset objects use the offset method of the Draft module. The method can only handle Draft Wires, Draft Circles, Draft Rectangles, Draft Polygons and Draft BSplines.

offset_obj = offset(obj, delta, copy=False, bind=False, sym=False, occ=False)
  • objis the object to be offset.

  • deltacontains the offset information:

-   For [Draft Wires](Draft_Wire.md), [Draft Rectangles](Draft_Rectangle.md) and [Draft Polygons](Draft_Polygon.md) it is an offset vector that must be perpendicular to the first segment of the object.
-   For [Draft Circles](Draft_Circle.md) it is the new radius.
-   For [Draft BSplines](Draft_BSpline.md) it is a list of new points.
  • If copy is True the original object is kept and a new object is created.

  • If bind is True a face is created by connecting the shape of the original object and the shape of its offset. This only works for open Draft Wires.

  • If sym is True, and bind is True as well, the offset is made on both sides of the original object, the total width being the length of the given vector. This only works for open Draft Wires.

  • If occ is True OCC-style offsetting is used. See Options. If occ is True the bind and sym arguments are ignored.

  • offset_objis returned with the original offset object, or with the new object. If bind is True or occ is True, the new object is a [Part::Feature](Part_Feature.md) object.

Example:

import FreeCAD as App
import Draft

doc = App.newDocument()

p1 = App.Vector(0, 0, 0)
p2 = App.Vector(1500, 2000, 0)
p3 = App.Vector(4000, 0, 0)

wire = Draft.make_wire([p1, p2, p3])
doc.recompute()

vector = App.Vector(-200, 150, 0)
offset1 = Draft.offset(wire, vector, copy=True, bind=True, sym=True)
offset2 = Draft.offset(wire, 3*vector, copy=True)
offset3 = Draft.offset(wire, 6*vector, copy=True)
offset4 = Draft.offset(wire, 9*vector, copy=True)
offset5 = Draft.offset(wire, 1.5*vector, copy=True, occ=True)

doc.recompute()

documentation index > Draft > Draft Offset