Kreslení Bezierových křivek
Umístění Menu |
---|
Draft -> BezCurve |
Pracovní stoly |
Draft, Arch |
Výchozí zástupce |
B Z |
Představen ve verzi |
- |
Viz také |
Nikdo |
Popis
Nástroj Bezierova křivka vytváří Bezierovu křivku (nebo Bezierovu křivku po částech) z několika bodů v aktuální pracovní rovině. Přebírá tloušťku čáry a barvu předem nastavenou v záložce Nástroje.
The BezCurve tool curve uses control points to define the direction of the curve; on the other hand the Draft BSpline tool specifies the exact points through which the curve will go. To create exact circular or elliptical curves, use Draft Arc and Draft Ellipse.
Bezier curve defined by multiple control points
- Invoke the Draft BezCurve command several ways:
- Press the
Draft BezCurve button in Draft toolbar
- Press the B then Z keyboard keys
- Use the Draft → Bezier tools → BezCurve entry in the Draft menu
- Press the
- Click a first point on the 3D view, or type a coordinate and press the
add point button.
- Click additional points on the 3D view, or type a coordinate and press the
add point button.
- Press Esc or the Close button, or double-click the last point to complete the edition.
The object is created as a single Bezier curve of degree number_of_points - 1
. It can be transformed to a piecewise wire made of curves of a specified degree by changing its properties.
The curve can be edited by double clicking on the element in the tree view, or by pressing the Draft Edit button. Then you can move the points to a new position, or click
add point or
remove point and then click on the curve to add or remove points. You can also change the constraint type of each point.
Node constraints
The segment endpoints can be constrained such that adjacent control points are tangent or symmetric to the segments at the endpoint. First, start editing the curve, then pick one of the tools and then pick a point. Click again on the tool to deactivate it, so you can move the point.
sharp remove constraints on the points so the curve can have sharp corners.
tangent force adjacent control points to be tangent.
symmetric force adjacent control points to be tangent and equidistant.
Omezení
- Tento nástroj je dostupný až od verze FreeCADu 0.14
- Vlastnost Body se zatím nezaobrazuje v seznamu vlastností.
- OpenCascade nepodporuje Bezierovy křivky se stupněm < 25. V praxi by to neměl být problém.
Použití
- Stiskněte tlačítko
Bezierova křivka nebo klávesy B potom Z
- Klikněte na první bod ve 3D pohledu nebo zadejte jeho souřadnice
- Klikněte na další bod ve 3D pohledu nebo zadejte jeho souřadnice
- Stiskněte klávesu F nebo C nebo dvojklikněte na poslední bod pro ukončení nebo na počáteční bod pro uzavření křivky.
Volby
- Stiskněte tlačítko F nebo
Dokončit pro ukončení křivky bez uzavření
- Stiskněte tlačítko C nebo
Uzavřít nebo klikněte na první bod pro dokončení křivky s tím, že bude uzavřena a eventuálně bude přdán poslední segment do počátečního bodu.
- Stiskněte tlačítko X, Y nebo Z po vybrání bodu a pak bude další výběr proveden v dané ose.
- Pro ruční zadání souřadnic jednoduše vložte číslo a stiskněte ENTER mezi každou z komponent X, Y a Z.
- Stiskněte tlačítko R nebo zaklikněte/odklikněte políčko Relativně. Je-li zapnut relativní mód souřadnice následujícího bodu bodou relativní k předchozímu bodu, jinak budou absolutní k počátku (0,0,0).
- Stiskněte tlačítko T nebo zaklikněte/odklikněte políčko Pokračovat. Je-li zapnut pokračovací mód, bude nástroj Bezierova křivka po ukončení nebo uzavření křivky restartován a můžete hned kreslit další bez klikání na tlačítko pro Bezierovu křivku.
- Stiskněte při kreslení tlačítko CTRL chcete-li přichytit Váš bod k nejbližšímu uchopovacímu místu, nezávisle na tom jak je daleko.
- Stiskněte při kreslení tlačítko SHIFT pro nastavení vazby dalšího bodu svisle nebo vodorovně v relaci k poslednímu bodu.
- Stiskněte klávesu W nebo tlačítko
Smazat pro smazání existujících segmentů a spuštění křivky od posledního bodu.
- Stiskněte klávesy CTRL+Z nebo tlačítko
Undo pro vrácení k předchozímu bodu.
- Stiskněte klávesu ESC nebo tlačítko Zrušit k ukončení aktuálního příkazu pro Bezierovu křivku.
Vlastnosti
Data
- DataDegree: specifies the degree of the Bezier curve or the individual segments.
- DataClosed: specifies if the curve is closed or not. If the curve is initially open, this value is
false
; setting it totrue
will draw a segment to close the curve. If the curve is initially closed, this value istrue
; setting it tofalse
will remove the last segment, and make the curve open. - DataMake Face: specifies if the curve makes a face or not. If it is
true
a face is created, otherwise only the perimeter is considered part of the object. This property only works if DataClosed istrue
.
- Note: do not set DataMake Face to
true
if the curve intersects itself, as it won't create a proper face.
- DataContinuity: (read-only) when the curve is closed, indicates the continuity of the curve
[0]
, or[0,0]
. Otherwise it's[]
.
View
- ViewArrow Size: specifies the size of the symbol displayed at the end of the curve.
- ViewArrow Type: specifies the type of symbol displayed at the end of the curve, which can be dot, circle, arrow, and tick.
- ViewEnd Arrow: specifies whether to show a symbol at the last point of the curve, so it can be used as an annotation line.
- ViewPattern: specifies a Draft Pattern with which to fill the face of the closed curve. This property only works if DataMake Face is
true
, and if ViewDisplay Mode is "Flat Lines". - ViewPattern Size: specifies the size of the Draft Pattern.
Skriptování
Nástroj Bezierova křivka může být využit v makrech a z konzoly Pythonu použitím následující funkce:
BezCurve = makeBezCurve(pointslist, closed=False, placement=None, face=None, support=None, degree=None)
BezCurve = makeBezCurve(Part.Wire, closed=False, placement=None, face=None, support=None, degree=None)
- Vytvoří objekt Bezierovy křivky podle zadaného seznamu vektorů. Místo seznamu bodů můžete také vložit díl Drát.
Example:
import FreeCAD, Draft
p1 = FreeCAD.Vector(0, 0, 0)
p2 = FreeCAD.Vector(1000, 1000, 0)
p3 = FreeCAD.Vector(2000, 0, 0)
p4 = FreeCAD.Vector(1500, -2000, 0)
BezCurve1 = Draft.makeBezCurve([p1, p2, p3, p4], closed=True)
BezCurve2 = Draft.makeBezCurve([p4, 1.3*p2, p1, 4.1*p3], closed=True)
BezCurve3 = Draft.makeBezCurve([1.7*p3, 1.5*p4, 2.1*p2, p1], closed=True)
- Basics: Coordinates, Constraining, Snapping (Near, Extension, Parallel, Grid, Endpoint, Midpoint, Perpendicular, Angle, Center, Ortho, Intersection, Special, Dimensions, Working plane)
- Drawing: Line, Wire, Circle, Arc, Ellipse, Polygon, Rectangle, Text, Dimension, BSpline, Point, ShapeString, Facebinder, Bezier Curve, Label
- Modifying: Move, Rotate, Offset, Trimex, Upgrade, Downgrade, Scale, Edit, Wire to BSpline, Add point, Delete point, Shape 2D View, Draft to Sketch, Array, Path Array, Point Array, Clone, Drawing, Mirror, Stretch
- Utilities: Set working plane, Finish line, Close line, Undo line, Toggle construction mode, Toggle continue mode, Apply style, Toggle display mode, Add to group, Select group contents, Toggle snap, Toggle grid, Show snap bar, Heal, Flip Dimension, VisGroup, Slope, AutoGroup, Set Working Plane Proxy, Add to Construction group
- Additional: Preferences, Import-Export Preferences (DXF/DWG, SVG, OCA, DAT); Draft API

- Installation: Windows, Linux, Mac; Getting started
- Basics: About FreeCAD, Workbenches, Preferences, Document structure, Interface Customization, Properties, Mouse Model; Tutorials
- Workbenches: Arch, Draft, FEM, Image, Inspection, Mesh, OpenSCAD, Part, PartDesign, Path, Plot, Points, Raytracing, Reverse Engineering, Robot, Ship, Sketcher, Spreadsheet, Start, Surface workbench, TechDraw, Test Framework, Web
- Scripting: Introduction to Python, FreeCAD scripting tutorial, FreeCAD Scripting Basics, How to install macros, Gui Command, Units Modules: Builtin modules, Workbench creation, Installing more workbenches Meshes: Mesh Scripting, Mesh Module Parts: The Part Module, Topological data scripting, PythonOCC, Mesh to Part Coin scenegraph: The Coin/Inventor scenegraph, Pivy Qt interface: PySide, Using the FreeCAD GUI, Dialog creation Parametric objects: Scripted objects Other: Code snippets, Line drawing function, Embedding FreeCAD, FreeCAD vector math library, Power users hub, Python, Macros, FreeCAD Scripting Basics, Topological data scripting