Draft Split

From FreeCAD Documentation
Revision as of 17:16, 12 June 2021 by Roy 043 (talk | contribs) (Updated Usage)
This documentation is a work in progress. Please don't mark it as translatable since it will change in the next hours and days.

Draft Split

Menu location
Modification → Split
Workbenches
Draft
Default shortcut
S P
Introduced in version
0.18
See also
Draft Join

Description

The Draft Split tool attempts to split an existing Draft Wire or Draft Line at a specified edge. This command is the counterpart of the Draft Join command

Usage

  1. There are several ways to invoke the command:
    • Press the Draft Split button.
    • Select the Modification → Split option from the menu.
    • Use the keyboard shortcut: S then P.
  2. Move the pointer over the correct edge of a Draft Line or Draft Wire.
  3. The edge is highlighted.
  4. Do one of the following:
    • If the wire is closed:
      • Pick any point on the edge.
      • The edge is detached from the source object and becomes a separate wire.
    • If the wire is open:
      • Optionally activate the correct Draft Snap. See Notes.
      • Pick the correct point on the edge.
      • The source object is split at the picked point.

Notes

  • If an open wire is split and the clicked point does not lie exactly on the selected edge, the new point will not be collinear with that former edge. Use an appropriate Draft Snap option to prevent this.
  • To split objects that are not Draft Lines or Draft Wires you can try using Draft Upgrade and/or Draft Downgrade on them one or more times first.

Scripting

See also: Autogenerated API documentation and FreeCAD Scripting Basics.

To split a wire use the split method of the Draft module. This method returns None.

split(wire, newPoint, edgeIndex)
  • wire the wire object to be split.
  • newPoint the point where the split should occur.
  • edgeIndex index of the edge where the split should occur (1-based).

Example:

import FreeCAD as App
import Draft

doc = App.newDocument()

p1 = App.Vector(0, 0, 0)
p2 = App.Vector(500, 0, 0)
p3 = App.Vector(250, 0, 0)

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

Draft.split(wire, p3, 1)
doc.recompute()