Draft Split: Difference between revisions
(Precise description (according to my experience in 0.19)) |
(Button text.) |
||
(27 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
<languages/> |
<languages/> |
||
<translate> |
<translate> |
||
<!--T:20--> |
<!--T:20--> |
||
{{Docnav |
{{Docnav |
||
|[[Draft_Join|Join]] |
|[[Draft_Join|Join]] |
||
|[[Draft_Upgrade|Upgrade]] |
|[[Draft_Upgrade|Upgrade]] |
||
|[[Draft_Workbench|Draft]] |
|||
|[[Draft_Module|Draft_Module]] |
|||
|IconL=Draft_Join.svg |
|IconL=Draft_Join.svg |
||
|IconR=Draft_Upgrade.svg |
|IconR=Draft_Upgrade.svg |
||
Line 14: | Line 15: | ||
{{GuiCommand |
{{GuiCommand |
||
|Name=Draft Split |
|Name=Draft Split |
||
|MenuLocation= |
|MenuLocation=Modification → Split |
||
|Workbenches=[[ |
|Workbenches=[[Draft_Workbench|Draft]], [[Arch_Workbench|Arch]] |
||
|Shortcut={{KEY|S}} {{KEY|P}} |
|Shortcut={{KEY|S}} {{KEY|P}} |
||
|Version=0.18 |
|Version=0.18 |
||
Line 24: | Line 25: | ||
<!--T:3--> |
<!--T:3--> |
||
The |
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 counterpart to this tool is the {{Button|[[Image:Draft Join.svg|16px]] [[Draft Join|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: |
#* Press the {{Button|[[Image:Draft_Split.svg|16px]] [[Draft_Split|Split]]}} button. |
||
# Click on (or nearby) a wire where you want to split it. The wire is highlighted. |
|||
#* 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: |
== 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. |
|||
<!--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: |
==Scripting== <!--T:27--> |
||
There are no options for this tool. Either it works with the selected objects or not. |
|||
<!--T:8--> |
|||
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|macros]] and from the [[Python|Python]] console by using the following function: |
|||
</translate> |
</translate> |
||
Line 54: | Line 63: | ||
}} |
}} |
||
<translate> |
<translate> |
||
⚫ | |||
* {{incode|wire}} the wire object to be split. |
|||
* {{incode|newPoint}} the point where the split should occur. |
|||
* {{incode|edgeIndex}} index of the edge where the split should occur (1-based). |
|||
<!--T:29--> |
|||
Example: |
|||
</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--> |
<!--T:19--> |
||
Line 59: | Line 95: | ||
|[[Draft_Join|Join]] |
|[[Draft_Join|Join]] |
||
|[[Draft_Upgrade|Upgrade]] |
|[[Draft_Upgrade|Upgrade]] |
||
|[[Draft_Workbench|Draft]] |
|||
|[[Draft_Module|Draft_Module]] |
|||
|IconL=Draft_Join.svg |
|IconL=Draft_Join.svg |
||
|IconR=Draft_Upgrade.svg |
|IconR=Draft_Upgrade.svg |
||
Line 68: | Line 104: | ||
{{Draft Tools navi{{#translation:}}}} |
{{Draft Tools navi{{#translation:}}}} |
||
{{Userdocnavi{{#translation:}}}} |
{{Userdocnavi{{#translation:}}}} |
||
{{clear}} |
Latest revision as of 17:10, 3 December 2023
|
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
- 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.
- Press the
- Move the pointer over the correct edge of a Draft Line or 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.
- The wire is split at the picked point.
- If the wire is closed:
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()
- Drafting: Line, Polyline, Fillet, Arc, Arc by 3 points, Circle, Ellipse, Rectangle, Polygon, B-spline, Cubic Bézier curve, Bézier curve, Point, Facebinder, ShapeString, Hatch
- Annotation: Text, Dimension, Label, Annotation styles, Annotation scale
- Modification: Move, Rotate, Scale, Mirror, Offset, Trimex, Stretch, Clone, Array, Polar array, Circular array, Path array, Path link array, Point array, Point link array, Edit, Subelement highlight, Join, Split, Upgrade, Downgrade, Wire to B-spline, Draft to sketch, Set slope, Flip dimension, Shape 2D view
- Draft Tray: Select plane, Set style, Toggle construction mode, AutoGroup
- Snapping: Snap lock, Snap endpoint, Snap midpoint, Snap center, Snap angle, Snap intersection, Snap perpendicular, Snap extension, Snap parallel, Snap special, Snap near, Snap ortho, Snap grid, Snap working plane, Snap dimensions, Toggle grid
- Miscellaneous: Apply current style, Layer, Manage layers, Add a new named group, Move to group, Select group, Add to construction group, Toggle normal/wireframe display, Create working plane proxy, Heal, Show snap toolbar
- Additional: Constraining, Pattern, Preferences, Import Export Preferences, DXF/DWG, SVG, OCA, DAT
- Context menu:
- Layer container: Merge layer duplicates, Add new layer
- Layer: Activate this layer, Select layer contents
- Text: Open hyperlinks
- Wire: Flatten
- Working plane proxy: Write camera position, Write objects state
![](/images/thumb/9/94/User_hub.png/24px-User_hub.png)
- Getting started
- Installation: Download, Windows, Linux, Mac, Additional components, Docker, AppImage, Ubuntu Snap
- Basics: About FreeCAD, Interface, Mouse navigation, Selection methods, Object name, Preferences, Workbenches, Document structure, Properties, Help FreeCAD, Donate
- Help: Tutorials, Video tutorials
- Workbenches: Std Base, Assembly, BIM, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test Framework
- Hubs: User hub, Power users hub, Developer hub