Sketcher Workbench/ja

Introduction


スケッチャーワークベンチはパートデザインワークベンチやその他のワークベンチで使用するための2次元形状を作成するために使われます. ほとんどのCADモデルでは2次元形状が開始点となることが普通です・・まず簡単な2次元スケッチを'押し出して'3次元形状を作り、その形状の表面に穴を開けるための2次元スケッチを追加したり、スケッチで'突起'（押し出し形状）を定義したりします. スケッチャーはブーリアン演算と並んで3次元形状デザイン作成の中核を成す機能なのです.

スケッチャーワークベンチの特徴はなんといっても拘束です・・これによって2次元形状を厳密な幾何定義に従って拘束することが可能です. また拘束用ソルバーによって2次元形状の拘束範囲を計算したり、スケッチの自由度を対話的に検査したりすることが可能です.

The Sketcher workbench features "constraints", allowing 2D shapes to follow precise geometrical definitions. A constraint solver calculates the constrained-extent of 2D geometry and allows interactive exploration of sketch degrees-of-freedom.



スケッチ拘束の基本
スケッチャーがどのように動作するか説明するには"従来"の製図方法と比較するとわかりやすいでしょう.

従来の製図
"従来"のCAD製図方法は過去の製図板を用いた方法を受け継いでいます. （2次元）正射影図を手書きすることで製図（いわゆる青写真）を作成します. 物体は意図したサイズ、寸法に合わせて正確に描画されます. もし点(0, 0)から伸びる100mmの水平線を描きたければまずラインツールを選択し、画面をクリックするか座標(0, 0)と入力して始点を設定した後、終点をクリックするか座標を(100,0)を入力します. あるいは位置を気にせずに線を描き、後から位置を調整します. 形状を描き終わったらそれらに寸法を追加します.

拘束スケッチ
スケッチャーの方法は全く異なります. 物体を厳密に描く必要はありません. なぜなら物体は後で拘束をかけることによって定義されるからです. 物体はおおまかに描けばよく、拘束をかける前であれば変更も可能です. 実際の所、物体は"流動的"で動かしたり、伸ばしたり、回転させたり、拡大縮小させたりといったことが可能です. これによってデザイン作業がとても柔軟なものになります.

拘束とは何なのか？
拘束は物体の自由度を制限するために使用されます. 例えばラインは拘束がない場合は4つの自由度を持ちます. つまり水平方向、垂直方向への移動と拡大縮小と回転が可能です.

水平拘束、垂直拘束、あるいは（他のラインか座標軸の一つに対する）角度拘束を適用すると回転が制限され自由度は3つに減ります. 片方の短点を原点に対してロックすることでさらに2つの自由度が減ります. 最後にサイズ拘束を適用すれば最後の自由度が無くなります. こうしてラインは完全拘束状態になります.

複数のオブジェクトがある場合は相互に拘束が可能です. 二本のラインがあった場合、点一致拘束を使用することでそれぞれの端点をつなぎ合わせることができます. また二本のラインの間の角度を設定したり、二本のラインが垂直になるよう設定することも可能です. ラインに対しては円弧や円の接線となるように拘束することもできます.

拘束には二種類あります. 幾何拘束と寸法拘束です. これらについては下の'ツール'セクションで詳しく説明します.

スケッチャーに向かないもの
スケッチャーは2次元図面を作成するためのものではありません. ソリッド形状を作成するとスケッチは自動的に非表示になります. 寸法はスケッチ編集モード時のみ表示されます.

もし印刷用の2次元表示を作成するだけで3次元モデルが必要ないのであれば製図ワークベンチをチェックしてください（製図ワークベンチでも2次元形状が作れることを記憶に留めておいてください. 今のところスケッチャーでは使用できない機能、例えばB-スプラインなどを使うこともできます）.

スケッチャーでの作業手順
追加予定

良いやり方
CADのユーザーであれば誰しも自分なりの作業のやり方を作り上げているものですが、以下にあげるような便利な一般的原則がいくつかあります.


 * 簡単なスケッチをたくさん作るほうが複雑なものを一つ作るより簡単です. 例えばベースとなる3次元形状（押し出したものか、回転させたもの）用に一つ目のスケッチを作成できたとし、一方で二つ目のスケッチに穴や切り抜き（くぼみ）があったとしましょう. その場合には細かい形状は取り除いておいて、それらは後で3次元形状上で実現した方がいいでしょう. フィレットがたくさんある場合にはスケッチ上では取り除いておいて3次元形状上で追加するといった具合です.
 * 常に輪郭線は閉じた状態で作成します. そうしなければスケッチからソリッドを作成するつもりが開いた面の集合ができてしまいます. もしソリッド作成に含めたくないオブジェクトがある場合は構築モードツールを使ってそれらを構築要素にしてください.
 * 自動拘束機能を使って手作業で追加しなければならない拘束の数を減らしてください.
 * 一般的なルールとしてまず幾何拘束を適用し、次に寸法拘束を適用し、最後にスケッチをロックします. しかしルールは破るためにあるということも忘れないでください. もしスケッチの操作で困ったら、輪郭線を描き終わる前にいくつかオブジェクトを拘束するといいでしょう.
 * 可能な場合にはロック拘束を使ってスケッチの中心が原点(0,0)にくるようにしましょう. スケッチが対象でない場合はスケッチ上の一点を原点に置くか、適当な数値で距離をロックしてください. v0.12では外部拘束（スケッチをエッジや他のスケッチといった既存の3次元形状に対して拘束する機能）が実装されていません. つまり後から追加したスケッチを最初のスケッチに対して配置するには最初のスケッチに対する相対距離を手動で設定する必要があるのです. 原点から(25,75)で拘束とした方が(23.47,73.02)で拘束とするよりも憶えやすいでしょう.
 * もし長さによる拘束と水平距離拘束、垂直距離拘束のどちらでも同じことができる状況であれば後の方を使うようにしましょう. 水平距離拘束、垂直距離拘束の方が計算コストが安価です.

ツール
スケッチャーワークベンチのツールはスケッチャーワークベンチをロードすると表示されるSketcherメニューに配置されています.

What are constraints?
Instead of dimensions, Constraints are used to limit the degrees of freedom of an object. For example, a line without constraints has 4 Degrees Of Freedom (abbreviated as " DOF "): it can be moved horizontally or vertically, it can be stretched, and it can be rotated.

Applying a horizontal or vertical constraint, or an angle constraint (relative to another line or to one of the axes), will limit its capacity to rotate, thus leaving it with 3 degrees of freedom. Locking one of its points in relation to the origin will remove another 2 degrees of freedom. And applying a dimension constraint will remove the last degree of freedom. The line is then considered fully-constrained.

Multiple objects can be constrained between one another. Two lines can be joined through one of their points with the coincident point constraint. An angle can be set between them, or they can be set perpendicular. A line can be tangent to an arc or a circle, and so on. A complex Sketch with multiple objects will have a number of different solutions, and making it fully-constrained means that just one of these possible solutions has been reached based on the applied constraints.

There are two kinds of constraints: geometric and dimensional. They are detailed in the 'The tools' section below.

What the Sketcher is not good for
The Sketcher is not intended for producing 2D blueprints. Once sketches are used to generate a solid feature, they are automatically hidden. Constraints are only visible in Sketch edit mode.

If you only need to produce 2D views for print, and don't want to create 3D models, check out the Draft workbench.

Sketching Workflow
A Sketch is always 2-dimensional (2D). To create a solid, a 2D Sketch of a single enclosed area is created and then either Padded or Revolved to add the 3rd dimension, creating a 3D solid from the 2D Sketch.

If the Sketch has segments that cross one another, places where a Point is not directly on a segment, or places where there are gaps between endpoints of adjacent segments, Pad or Revolve won't create a solid. The exception to this rule is that it doesn't apply to Construction (blue) Geometry.

Inside the enclosed area we can have smaller non-overlapping areas. These will become voids when the 3D solid is created.

The tools
The Sketcher Workbench tools are all located in the Sketch menu that appears when you load the Sketcher Workbench.


 * [[Image:Sketcher_NewSketch.png‎‎|32px]] New sketch: Creates‎ a new sketch on a selected face or plane. If no face is selected while this tool is executed the user is prompted to select a plane from a pop-up window.


 * [[Image:Sketcher_EditSketch.png|32px]] Edit sketch: Edit the selected Sketch.


 * [[Image:Sketcher_LeaveSketch.png|32px]] Leave sketch: Leave the Sketch editing mode.


 * [[Image:Sketcher_ViewSketch.png‎|32px]] View sketch: Sets the model view perpendicular to the sketch plane.


 * [[Image:Sketcher ViewSection.png|32px]] View section: Creates a section plane that temporarily hides any matter in front of the sketch plane.


 * [[Image:Sketcher_MapSketch.png‎|32px]] Map sketch to face: Maps a sketch to the previously selected face of a solid.


 * Reorient sketch : Allows you to change the position of a sketch


 * Validate sketch: It allows you to check if there are in the tolerance of different points and to match them.


 * [[Image:Sketcher MergeSketch.png‎|32px]] Merge sketches: Merge two or more sketches.


 * [[Image:Sketcher MirrorSketch.png‎|32px]] Mirror sketch: Mirror a sketch along the x-axis, the y-axis or the origin.

Sketcher geometries
These are tools for creating objects.


 * [[Image:Sketcher_CreatePoint.png|32px]] Point: Draws a point.


 * [[Image:Sketcher_Line.png|32px]] Line by 2 point: Draws a line segment from 2 points. Lines are infinite regarding certain constraints.


 * Create an arc: This is an icon menu in the Sketcher toolbar that holds the following commands:


 * [[Image:Sketcher_Arc.png|32px]] Arc: Draws an arc segment from center, radius, start angle and end angle.


 * [[Image:Sketcher CreateArc3Point.png|32px]] Arc by 3 Point: Draws an arc segment from two endpoints and another point on the circumference.


 * Create a circle: This is an icon menu in the Sketcher toolbar that holds the following commands:


 * [[Image:Sketcher_Circle.png|32px]] Circle: Draws a circle from center and radius.


 * [[Image:Sketcher CreateCircle3Point.png|32px]] Circle by 3 Point: Draws a circle from three points on the circumference.


 * [[Image:Sketcher_Conics.png|32px]] Create a conic:
 * [[Image:Sketcher_CreateEllipse.png|32px]] Ellipse by center: Draws an ellipse by center point, major radius point and minor radius point.
 * [[Image:Sketcher_CreateEllipse_3points.png|32px]] Ellipse by 3 points: Draws an ellipse by major diameter (2 points) and minor radius point.
 * [[Image:Sketcher_Elliptical_Arc.png|32px]] Arc of ellipse: Draws an arc of ellipse by center point, major radius point, starting point and ending point.
 * [[Image:Sketcher_Hyperbolic_Arc.png|32px]] Arc of hyperbola: Draws an arc of hyperbola.
 * [[Image:Sketcher_Parabolic_Arc.png|32px]] Arc of parabola: Draws an arc of parabola.


 * Create a B-spline: This is an icon menu in the Sketcher toolbar that holds the following commands:
 * Sketcher_CreateBSpline.svg Create B-spline: Draws a B-spline curve by its control points.
 * Sketcher_Create_Periodic_BSpline.svg Create periodic B-pline: Draws a periodic (closed) B-spline curve by its control points.


 * [[Image:Sketcher_CreatePolyline.png|32px]] Polyline (multiple-point line): Draws a line made of multiple line segments. Pressing the M key while drawing a Polyline toggles between the different polyline modes.


 * [[Image:Sketcher_CreateRectangle.png|32px]] Rectangle: Draws a rectangle from 2 opposite points.


 * [[Image:Sketcher_CreateHexagon.png|32px]] Create regular polygon: This is an icon menu in the Sketcher toolbar that holds the following commands:


 * [[Image:Sketcher_CreateTriangle.png|32px]] Triangle: Draws a regular triangle inscribed in a construction geometry circle.


 * [[Image:Sketcher_CreateSquare.png|32px]] Square: Draws a regular square inscribed in a construction geometry circle.


 * [[Image:Sketcher_CreatePentagon.png|32px]] Pentagon: Draws a regular pentagon inscribed in a construction geometry circle.


 * [[Image:Sketcher_CreateHexagon.png|32px]] Hexagon: Draws a regular hexagon inscribed in a construction geometry circle.


 * [[Image:Sketcher_CreateHeptagon.png|32px]] Heptagon: Draws a regular heptagon inscribed in a construction geometry circle.


 * [[Image:Sketcher_CreateOctagon.png|32px]] Octagon: Draws a regular octagon inscribed in a construction geometry circle.


 * [[Image:Sketcher_CreateSlot.png|32px]] Slot: Draws an oval by selecting the center of one semicircle and an endpoint of the other semicircle.


 * [[Image:Sketcher_CreateFillet.png|32px]] Fillet: Makes a fillet between two lines joined at one point. Select both lines or click on the corner point, then activate the tool.


 * [[Image:Sketcher_Trimming.png|32px]] Trimming: Trims a line, circle or arc with respect to the clicked point.


 * Sketcher_Extend.svg Extend: Extends a line or an arc to a boundary line, arc, ellipse, arc of ellipse or a point in space.


 * [[Image:Sketcher_External.png|32px]] External Geometry: Creates an edge linked to external geometry.


 * Sketcher_CarbonCopy.svg CarbonCopy: Copies the geometry of another sketch.


 * [[Image:Sketcher_ToggleConstruction.png|32px]] Construction Mode: Toggles sketch geometry from/to construction mode. Construction geometry is shown in blue and is discarded outside of Sketch editing mode.

Sketcher constraints
Constraints are used to define lengths, set rules between sketch elements, and to lock the sketch along the vertical and horizontal axes. Some constraints require use of Helper constraints.

Geometric constraints
These constraints are not associated with numeric data.


 * [[Image:Constraint_PointOnPoint.png|32px]] Coincident: Affixes a point onto (coincident with) one or more other points.


 * [[Image:Constraint_PointOnObject.png|32px]] Point On Object: Affixes a point onto another object such as a line, arc, or axis.


 * [[Image:Constraint_Vertical.png|32px]] Vertical: Constrains the selected lines or polyline elements to a true vertical orientation. More than one object can be selected before applying this constraint.


 * [[Image:Constraint_Horizontal.png|32px]] Horizontal: Constrains the selected lines or polyline elements to a true horizontal orientation. More than one object can be selected before applying this constraint.


 * [[Image:Constraint_Parallel.png|32px]] Parallel: Constrains two or more lines parallel to one another.


 * [[Image:Constraint_Perpendicular.png|32px]] Perpendicular: Constrains two lines perpendicular to one another, or constrains a line perpendicular to an arc endpoint.


 * [[Image:Constraint_Tangent.png|32px]] Tangent: Creates a tangent constraint between two selected entities, or a co-linear constraint between two line segments. A line segment does not have to lie directly on an arc or circle to be constrained tangent to that arc or circle.


 * [[Image:Constraint_EqualLength.png|32px]] Equal Length: Constrains two selected entities equal to one another. If used on circles or arcs their radii will be set equal.


 * [[Image:Constraint_Symmetric.png|32px]] Symmetric: Constrains two points symmetrically about a line, or constrains the first two selected points symmetrically about a third selected point.


 * [[Image:Sketcher_ConstrainBlock.png|32px]] Constrain Block: Basically allows to block a geometric element in place with a single constraint. It should be particularly useful to work with B-Splines. See the Block Constraint forum topic.

Dimensional constraints
These are constraints associated with numeric data, for which you can use the expressions. The data may be taken from a spreadsheet.


 * [[Image:Sketcher_ConstrainLock.png‎|32px]] Lock: Constrains the selected item by setting vertical and horizontal distances relative to the origin, thereby locking the location of that item. These constraint distances can be edited later.


 * [[Image:Constraint_HorizontalDistance.png‎|32px]] Horizontal Distance: Fixes the horizontal distance between two points or line endpoints. If only one item is selected, the distance is set to the origin.


 * [[Image:Constraint_VerticalDistance.png|32px]] Vertical Distance: Fixes the vertical distance between 2 points or line endpoints. If only one item is selected, the distance is set to the origin.


 * [[Image:Constraint_Length.png|32px]] Distance: Defines the distance of a selected line by constraining its length, or defines the distance between two points by constraining the distance between them.


 * [[Image:Constraint_Radius.png|32px]] Radius: Defines the radius of a selected arc or circle by constraining the radius.
 * [[Image:Constraint_InternalAngle.png|32px]] Internal Angle: Defines the internal angle between two selected lines.


 * [[Image:Constraint_SnellsLaw.png|32px]] Snell's Law: Constrains two lines to obey a refraction law to simulate the light going through an interface.


 * [[Image:Constraint_InternalAlignment.png |32px]] Internal Alignment: Aligns selected elements to selected shape (e.g. a line to become major axis of an ellipse).


 * [[Image:Sketcher_ToggleConstraint.png |32px]] Toggle reference/driving constraint: Toggles the toolbar or the selected constraints to/from reference mode.

Sketcher tools

 * Sketcher SelectElementsWithDoFs.svg Select solver DOFs: Highlights in green the geometry with degrees of freedom (DOFs), i.e. not fully constrained.


 * [[Image:Sketcher CloseShape.png‎|32px]] Close Shape: Creates a closed shape by applying coincident constraints to endpoints


 * [[Image:Sketcher ConnectLines.png‎|32px]] Connect Edges: Connect sketcher elements by applying coincident constraints to endpoints


 * [[Image:Sketcher SelectConstraints.png‎|32px]] Select Constraints: Selects the constraints of a sketcher element


 * [[Image:Sketcher SelectOrigin.png‎|32px]] Select Origin: Selects the origin of a sketch


 * [[Image:Sketcher SelectVerticalAxis.png‎|32px]] Select Vertical Axis: Selects the vertical axis of a sketch


 * [[Image:Sketcher SelectHorizontalAxis.png‎|32px]] Select Horizontal Axis: Selects the horizontal axis of a sketch


 * [[Image:Sketcher SelectRedundantConstraints.png‎|32px]] Select Redundant Constraints: Selects redundant constraints of a sketch


 * [[Image:Sketcher SelectConflictingConstraints.png‎|32px]] Select Conflicting Constraints: Selects conflicting constraints of a sketch


 * [[Image:Sketcher SelectElementsAssociatedWithConstraints.png‎|32px]] Select Elements Associated with constraints: Select sketcher elements associated with constraints


 * Sketcher_Element_Ellipse_All.png‎ Show/Hide internal geometry: Recreates missing/deletes unneeded internal geometry of a selected ellipse, arc of ellipse/hyperbola/parabola or B-spline.


 * [[Image:Sketcher Symmetry.png‎|32px]] Symmetry: Copies a sketcher element symmetrical to a chosen line


 * [[Image:Sketcher Clone.png‎|32px]] Clone: Clones a sketcher element


 * [[Image:Sketcher Copy.png‎|32px]] Copy: Copies a sketcher element


 * Sketcher_Move.svg Move: Moves the selected geometry taking as reference the last selected point.


 * [[Image:Sketcher RectangularArray.png‎|32px]] Rectangular Array: Creates an array of selected sketcher elements


 * Sketcher Element SelectionTypeInvalid.svg Delete All Geometry: Deletes all geometry from the sketch.


 * Sketcher Element SelectionTypeInvalid.svg Delete All Constraints: Deletes all constraints from the sketch.

Sketcher B-spline tools

 * Sketcher_BSplineDegree.svg Show/Hide B-spline degree


 * Sketcher_BSplinePolygon.svg Show/Hide B-spline control polygon


 * Sketcher_BSplineComb.svg Show/Hide B-spline curvature comb


 * Sketcher_BSplineKnotMultiplicity.svg Show/Hide B-spline knot multiplicity


 * Sketcher_BSplineApproximate.svg Convert Geometry to B-spline


 * Sketcher_BSplineIncreaseDegree.svg Increase degree


 * Sketcher_BSplineIncreaseKnotMultiplicity.svg Increase knot multiplicity


 * Sketcher_BSplineDecreaseKnotMultiplicity.svg Decrease knot multiplicity

Sketcher virtual space

 * [[Image:Sketcher SwitchVirtualSpace.png‎|32px]] Switch Virtual Space: Allows you to "hide" constraints and make them visible again. See https://forum.freecadweb.org/viewtopic.php?f=9&t=26614

Preferences

 * [[Image:Std_DlgParameter.png|32px]] Preferences...: Preferences disposable in Sketcher Tools.

Best Practices
Every CAD user develops his own way of working over time, but there are some useful general principles to follow.


 * A series of simple sketches is easier to manage than a single complex one. For example, a first sketch can be created for the base 3D feature (either a pad or a revolve), while a second one can contain holes or cutouts (pockets). Some details can be left out, to be realized later on as 3D features. You can choose to avoid fillets in your sketch if there are too many, and add them as a 3D feature.
 * Always create a closed profile, or your sketch won't produce a solid, but rather a set of open faces. If you don't want some of the objects to be included in the solid creation, turn them to construction elements with the Construction Mode tool.
 * Use the auto constraints feature to limit the number of constraints you'll have to add manually.
 * As a general rule, apply geometric constraints first, then dimensional constraints, and lock your sketch last. But remember: rules are made to be broken. If you're having trouble manipulating your sketch, it may be useful to constrain a few objects first before completing your profile.
 * If possible, center your sketch to the origin (0,0) with the lock constraint. If your sketch is not symmetric, locate one of its points to the origin, or choose nice round numbers for the lock distances. In v0.12, external constraints (constraining the sketch to existing 3D geometry like edges or to other sketches) are not implemented. This means that to locate following sketches geometry to your first sketch, you'll need to set distances relative to your first sketch manually. A lock constraint of (25,75) from the origin is more easily remembered than (23.47,73.02).
 * If you have the possibility to choose between the Length constraint and the Horizontal or Vertical Distance constraints, prefer the latter. Horizontal and Vertical Distance constraints are computationally cheaper.
 * In general, the best constraints to use are: Horizontal and Vertical Constraints; Horizontal and Vertical Length Constraints; Point-to-Point Tangency. If possible, limit the use of these: the general Length Constraint; Edge-to-Edge Tangency; Fix Point Onto a Line Constraint; Symmetry Constraint.

Tutorials

 * Sketcher tutorial for beginners
 * Sketcher Tutorial
 * Sketcher Micro Tutorial - Constraint Practices