Draft Offset/sv: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
(Updating to match new version of source page)
Line 1: Line 1:
<languages/>
<languages/>
<div class="mw-translate-fuzzy">
{{GuiCommand/sv|Name=Draft_Offset|Workbenches=[[Draft Module/sv|Skiss]]|MenuLocation=Draft → Offset|SeeAlso=[[Part_Offset2D/sv|Part 2D Offset]]}}
{{GuiCommand/sv|Name=Draft_Offset|Workbenches=[[Draft Module/sv|Skiss]]|MenuLocation=Draft → Offset|SeeAlso=[[Part_Offset2D/sv|Part 2D Offset]]}}
</div>


==Beskrivning==
==Beskrivning==
Line 7: Line 9:
Detta verktyg gör en offset på det valda objektet. Om inget objekt är valt, så kommer du ombes att välja ett. Sedan ombes du om en punkt som ger avståndet för offseten från det markerade objektet.
Detta verktyg gör en offset på det valda objektet. Om inget objekt är valt, så kommer du ombes att välja ett. Sedan ombes du om en punkt som ger avståndet för offseten från det markerade objektet.
</div>
</div>

Typically this tool is used in copy mode to create offset copies of a base wire while leaving this wire in the same place. The offset copies are scaled versions of the original object. To create other scaled copies use [[Draft Scale]]. To produce exact copies shifted a distance use [[Draft Move]].


[[Image:Draft_Offset_example.jpg|400px]]
[[Image:Draft_Offset_example.jpg|400px]]
{{Caption|Offsetting a wire a certain distance from one of its edges}}


==Bruk==
==Bruk==


<div class="mw-translate-fuzzy">
* Markera punkter i ett tomt område i 3d vyn, eller på ett existerande objekt.
* Markera punkter i ett tomt område i 3d vyn, eller på ett existerande objekt.
* Nedtryckning av {{KEY|CTRL}} kommer att [[Draft_Snap/sv|snäppa]] din punkt till tillgängliga snäpp-punkter.
* Nedtryckning av {{KEY|CTRL}} kommer att [[Draft_Snap/sv|snäppa]] din punkt till tillgängliga snäpp-punkter.
Line 19: Line 25:
* Nedtryckning av {{KEY|ALT}} kommer att skapa en kopia, även om kopieringsknappen är av.
* Nedtryckning av {{KEY|ALT}} kommer att skapa en kopia, även om kopieringsknappen är av.
* Om {{KEY|ALT}} är nedtryckt, så kan du göra multipla kopior ända tills {{KEY|ALT}} släpps.
* Om {{KEY|ALT}} är nedtryckt, så kan du göra multipla kopior ända tills {{KEY|ALT}} släpps.
</div>

The distance used to create the offset is perpendicular to one of the edges of the original shape, depending on the position of the pointer. If the pointer is moved closer to another edge, this edge now becomes the reference for the distance. Hold the {{KEY|Shift}} key to keep the current reference edge despite moving the pointer closer to other edges.


==Options==
==Options==


* Press {{KEY|T}} or click the checkbox to check/uncheck the {{KEY|'''Continue'''}} button. If continue mode is on, the Offset tool will restart after you finish or close it, allowing you to offset or copy the objects another time without pressing the Offset button again.
* Press {{KEY|P}} or click the checkbox to toggle ''copy'' mode. If copy mode is on, the Offset tool will keep the original shape in its place but will make a scaled copy at the chosen point.
* Pressing {{KEY|ALT}} or {{KEY|C}} or clicking the {{KEY|'''Copy'''}} button will make a copy of the objects, instead of moving them. If you keep {{KEY|ALT}} pressed after clicking the second point, you will be able to place more copies, until you release the {{KEY|ALT}} key.
* Hold {{KEY|Alt}} while picking the point to also toggle copy mode. Keeping {{KEY|Alt}} pressed will allow you to continue placing offset copies; release {{KEY|Alt}} to finish the operation and see all offset shapes.
* Click the "OCC-style" checkbox to toggle ''OCC'' mode. This will create an offset from both sides of an line segment, which will produce a specially closed shape with rounded edges at the ends of the segments.
* Press {{KEY|CTRL}} while drawing to force [[Draft_Snap|snapping]] your point to the nearest snap location, independently of the distance.
:{{Emphasis|Note:}} with this style the original segments will be removed, so use copy mode to preserve the original edges.
* Pressing {{KEY|SHIFT}} will [[Draft_Constrain|constrain]] you to the current segment, instead of picking the closest one.
* Hold {{KEY|Ctrl}} while offsetting to force [[Draft_Snap|snapping]] your point to the nearest snap location, independently of the distance.
* Press {{KEY|ESC}} or the {{KEY|'''Cancel'''}} button to abort the current command.
* Hold {{KEY|Shift}} to keep the offset distance referred to the current segment, and avoid picking another reference.
* Press {{KEY|Esc}} or the {{button|Close}} button to abort the current command; offset copies already placed will remain.


==Scripting==
==Scripting==
{{Emphasis|See also:}} [[Draft API]] and [[FreeCAD Scripting Basics]].


The Offset tool can by used in [[macros]] and from the python console by using the following function:
The Offset tool can be used in [[macros]] and from the [[Python]] console by using the following function:


{{Code|code=
{{Code|code=
Offsetobj = offset(obj, delta, copy=False, bind=False, sym=False, occ=False)
offset (object,Vector,[copymode],[bind],[sym])
}}
}}


* Offsets the given wire by applying the given Vector to its first vertex.
* Offsets the given {{incode|obj}} wire by applying the given {{incode|delta}}, defined as a vector, to its first vertex.
* If copymode is True, another object is created, otherwise the same object gets offsetted.
* If {{incode|copy}} is {{incode|True}} another object is created instead of offsetting the original object.
* If bind is True, and provided the wire is open, the original and the offsetted wires will be bound by their endpoints, forming a face.
* If {{incode|bind}} is {{incode|True}}, and provided the wire object is open, the original and the offset wire will be tied at their endpoints, forming a face.
* If sym is True, the offset is made on both sides, the total width being the length of the given vector.
** If {{incode|sym}} is {{incode|True}}, {{incode|bind}} must be {{incode|True}} as well, and the offset is made on both sides of the wire, the total width being the length of the given vector.
* If {{incode|occ}} is {{incode|True}}, it will use OCC-style offsetting: it will offset from both sides, then tie the new wires together, and round the corners.
* Returns the offsetted object (or its copy if copymode as True).
* {{incode|Offsetobj}} is returned with the original offset object, or with the new copy.


Example:
Example:


{{Code|code=
{{Code|code=
import FreeCAD,Draft
import FreeCAD, Draft

Draft.offset(FreeCAD.ActiveDocument.ActiveObject,FreeCAD.Vector(2,2,0))
p1 = FreeCAD.Vector(0, 0, 0)
p2 = FreeCAD.Vector(1500, 2000, 0)
p3 = FreeCAD.Vector(4000, 0, 0)

Wire = Draft.makeWire([p1, p2, p3])

vector = FreeCAD.Vector(0, 500, 0)
Offset_1 = Draft.offset(Wire, vector, copy=True)
Offset_2 = Draft.offset(Wire, 3*vector, copy=True)
Offset_3 = Draft.offset(Wire, 6*vector, copy=True)
Offset_4 = Draft.offset(Wire, 9*vector, copy=True)
Offset_5 = Draft.offset(Wire, 1.5*vector, copy=True, occ=True)
}}
}}

{{Draft Tools navi}}
{{Userdocnavi}}
{{clear}}

Revision as of 13:09, 8 January 2019

Draft_Offset

Menyplacering
Draft → Offset
Arbetsbänkar
Skiss
Standard genväg
Ingen
Introducerad i version
-
Se även
Part 2D Offset

Beskrivning

Detta verktyg gör en offset på det valda objektet. Om inget objekt är valt, så kommer du ombes att välja ett. Sedan ombes du om en punkt som ger avståndet för offseten från det markerade objektet.

Typically this tool is used in copy mode to create offset copies of a base wire while leaving this wire in the same place. The offset copies are scaled versions of the original object. To create other scaled copies use Draft Scale. To produce exact copies shifted a distance use Draft Move.

Offsetting a wire a certain distance from one of its edges

Bruk

  • Markera punkter i ett tomt område i 3d vyn, eller på ett existerande objekt.
  • Nedtryckning av CTRL kommer att snäppa din punkt till tillgängliga snäpp-punkter.
  • Nedtryckning av SKIFT kommer att begränsa dig till det nuvarande segmentet, iställed för att markera det närmaste.
  • Om du trycker på ESC så avbryts funktionen.
  • C växlar kopieringsläget på/av. Med kopiering på, så kommer objekt(en) att kopieras istället för att flyttas.
  • Nedtryckning av ALT kommer att skapa en kopia, även om kopieringsknappen är av.
  • Om ALT är nedtryckt, så kan du göra multipla kopior ända tills ALT släpps.

The distance used to create the offset is perpendicular to one of the edges of the original shape, depending on the position of the pointer. If the pointer is moved closer to another edge, this edge now becomes the reference for the distance. Hold the Shift key to keep the current reference edge despite moving the pointer closer to other edges.

Options

  • Press P or click the checkbox to toggle copy mode. If copy mode is on, the Offset tool will keep the original shape in its place but will make a scaled copy at the chosen point.
  • Hold Alt while picking the point to also toggle copy mode. Keeping Alt pressed will allow you to continue placing offset copies; release Alt to finish the operation and see all offset shapes.
  • Click the "OCC-style" checkbox to toggle OCC mode. This will create an offset from both sides of an line segment, which will produce a specially closed shape with rounded edges at the ends of the segments.
Note: with this style the original segments will be removed, so use copy mode to preserve the original edges.
  • Hold Ctrl while offsetting to force snapping your point to the nearest snap location, independently of the distance.
  • Hold Shift to keep the offset distance referred to the current segment, and avoid picking another reference.
  • Press Esc or the Close button to abort the current command; offset copies already placed will remain.

Scripting

See also: Draft API and FreeCAD Scripting Basics.

The Offset tool can be used in macros and from the Python console by using the following function:

Offsetobj = offset(obj, delta, copy=False, bind=False, sym=False, occ=False)
  • Offsets the given obj wire by applying the given delta, defined as a vector, to its first vertex.
  • If copy is True another object is created instead of offsetting the original object.
  • If bind is True, and provided the wire object is open, the original and the offset wire will be tied at their endpoints, forming a face.
    • If sym is True, bind must be True as well, and the offset is made on both sides of the wire, the total width being the length of the given vector.
  • If occ is True, it will use OCC-style offsetting: it will offset from both sides, then tie the new wires together, and round the corners.
  • Offsetobj is returned with the original offset object, or with the new copy.

Example:

import FreeCAD, Draft

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

Wire = Draft.makeWire([p1, p2, p3])

vector = FreeCAD.Vector(0, 500, 0)
Offset_1 = Draft.offset(Wire, vector, copy=True)
Offset_2 = Draft.offset(Wire, 3*vector, copy=True)
Offset_3 = Draft.offset(Wire, 6*vector, copy=True)
Offset_4 = Draft.offset(Wire, 9*vector, copy=True)
Offset_5 = Draft.offset(Wire, 1.5*vector, copy=True, occ=True)