Draft Split: Difference between revisions

From FreeCAD Documentation
m (Changed section to 'Usage')
(Button text.)
 
(38 intermediate revisions by 7 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
<translate>
<translate>

<!--T:20-->
<!--T:20-->
{{Docnav
{{Docnav|[[Draft_Join|Join]]|[[Draft_Upgrade|Upgrade]]|[[Draft_Module|Draft_Module]]|IconL=Draft_Join.svg|IconC=Workbench_Draft.svg|IconR=Draft_Upgrade.svg}}
|[[Draft_Join|Join]]
|[[Draft_Upgrade|Upgrade]]
|[[Draft_Workbench|Draft]]
|IconL=Draft_Join.svg
|IconR=Draft_Upgrade.svg
|IconC=Workbench_Draft.svg
}}


<!--T:1-->
<!--T:1-->
{{GuiCommand
{{GuiCommand
|Name=Draft Split
|Name=Draft Split
|MenuLocation=Draft → Split
|MenuLocation=Modification → Split
|Workbenches=[[Draft Module|Draft]]
|Workbenches=[[Draft_Workbench|Draft]], [[Arch_Workbench|Arch]]
|Shortcut=S P
|Shortcut={{KEY|S}} {{KEY|P}}
|Version=0.18
|Version=0.18
|SeeAlso=[[Draft Join]]
|SeeAlso=[[Draft_Join|Draft Join]]
}}
}}


Line 17: Line 25:


<!--T:3-->
<!--T:3-->
The [[Image:Draft_Split.svg|24px]] '''Draft Split''' command splits a [[Draft_Line|Draft Line]] or [[Draft_Wire|Draft Wire]] at a specified point or edge. This command is the counterpart of the [[Draft_Join|Draft Join]] command.
The Split tool attempts to split an existing wire at a specified edge or point.

<!--T:14-->
The counterpart to this tool is the [[Draft Join]] operation.


==Usage== <!--T:4-->
==Usage== <!--T:4-->


<!--T:5-->
<!--T:5-->
# There are several ways to invoke the command:
# Press the {{Button|[[Image:Draft Split.svg|16px]] [[Draft Split]]}} button or press {{KEY|S}} then {{KEY|P}} keys.
#* Press the {{Button|[[Image:Draft_Split.svg|16px]] [[Draft_Split|Split]]}} button.
# Click on a wire where you want to split it
#* Select the {{MenuCommand|Modification → [[Image:Draft_Split.svg|16px]] Split}} option from the menu.
#* Use the keyboard shortcut: {{KEY|S}} then {{KEY|P}}.
# Move the pointer over the correct edge of a [[Draft_Line|Draft Line]] or [[Draft_Wire|Draft Wire]].
# The edge is highlighted.
# 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|Notes]].
#** The wire is split at the picked point.


<!--T:21-->
== Notes == <!--T:26-->
If the wire is open, you will create two wires, each ending at the point at which you clicked. If the wire is closed, the edge which you clicked will be turned into its own open wire, and the remainder will convert into an open wire.


==Options== <!--T:6-->
<!--T:14-->
* 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|Draft Snap]] option to prevent this.
* To split objects that are not [[Draft_Line|Draft Lines]] or [[Draft_Wire|Draft Wires]] you can try using [[Draft_Upgrade|Draft Upgrade]] and/or [[Draft_Downgrade|Draft Downgrade]] on them one or more times first.


<!--T:7-->
==Scripting== <!--T:27-->
There are no options for this tool. Either it works with the selected objects or not.


==Scripting== <!--T:8-->
<!--T:8-->
{{Emphasis|See also:}} [[Draft API]] and [[FreeCAD Scripting Basics]].
See also: [https://freecad.github.io/SourceDoc/ Autogenerated API documentation] and [[FreeCAD Scripting Basics|FreeCAD Scripting Basics]].


<!--T:9-->
<!--T:9-->
To split a wire use the {{incode|split}} method of the Draft module. This method returns {{incode|None}}.
The Split tool can be used in [[macros]] and from the [[Python]] console by using the following function:


</translate>
<!--T:22-->
{{Code|code=
{{Code|code=
split(wire, newPoint, edgeIndex)
split(wire, newPoint, edgeIndex)
}}
}}
<translate>


<!--T:19-->
<!--T:28-->
* {{incode|wire}} the wire object to be split.
{{Docnav|[[Draft_Join|Join]]|[[Draft_Upgrade|Upgrade]]|[[Draft_Module|Draft_Module]]|IconL=Draft_Join.svg|IconC=Workbench_Draft.svg|IconR=Draft_Upgrade.svg}}
* {{incode|newPoint}} the point where the split should occur.
* {{incode|edgeIndex}} index of the edge where the split should occur (1-based).


<!--T:23-->
<!--T:29-->
Example:
{{Draft Tools navi}}

</translate>
{{Code|code=
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()
}}
<translate>


<!--T:19-->
{{Docnav
|[[Draft_Join|Join]]
|[[Draft_Upgrade|Upgrade]]
|[[Draft_Workbench|Draft]]
|IconL=Draft_Join.svg
|IconR=Draft_Upgrade.svg
|IconC=Workbench_Draft.svg
}}


<!--T:24-->
{{Userdocnavi}}
</translate>
</translate>
{{Draft Tools navi{{#translation:}}}}
{{clear}}
{{Userdocnavi{{#translation:}}}}

Latest revision as of 17:10, 3 December 2023

Draft Split

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

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