Skip to content

Latest commit

 

History

History
77 lines (52 loc) · 2.49 KB

Draft_Split.md

File metadata and controls

77 lines (52 loc) · 2.49 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 Split
   MenuLocation: Modification -> Split
   Workbenches: Draft_Workbench, Arch_Workbench
   Shortcut: **S** **P**
   Version: 0.18
   SeeAlso: Draft_Join
---

Draft Split

Description

The Draft Split command splits a Draft Line or Draft Wire at a specified point or 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 wire and becomes a separate wire.
    • If the wire is open:
      • Pick the correct point on the edge. See Notes.
      • The wire 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)
  • wirethe wire object to be split.

  • newPointthe point where the split should occur.

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

documentation index > Draft > Draft Split