Sketcher Workbench/zh-cn

Introduction
草图工作台用于创建二维几何，用于零件设计工作台和其他工作台. 通常，2D几何被认为是大多数CAD模型的起点 - 简单的2D草图可以“挤压”成3D形状，另外可以使用2D草图在该形状的表面中创建凹坑，并且可以使用草图在3D对象的表面定义“垫高”（挤压）. 随着部件模块|布尔运算，草图编辑器形成了生成实体形状设计的核心.

草图工作台本身具有约束条件 - 允许将2D形状约束到精确的几何定义. 以及一个约束求解器，它计算二维几何约束范围，并允许对草图自由度的交互式探索.

一个基本的，全约束的草图

约束草图的基础
为了解释草图编辑器的工作原理，将其与“传统的”起草方式进行比较可能是有用的.

传统起草
CAD绘图的传统方式继承于旧的绘图板. 正交（2D）视图 手动绘制，用于生产技术图纸（也称为蓝图）. 对象被精确地绘制到预期的尺寸或尺寸上. 如果要从（0,0）开始绘制长度为100mm的水平线，您可以激活线条工具，点击屏幕或输入第一个点的（0,0）坐标，然后再次点击或在（100,0）处输入第二点坐标. 或者你会画你的线，而不考虑它的位置，然后移动它. 绘制几何图形后，可以向其添加尺寸.

约束草图
草图远离这个逻辑. 对象不需要完全按照您的意图进行绘制，因为它们将在稍后被约束定义. 对象可以松散绘制，只要不受约束，就可以进行修改. 它们实际上是“浮动”，可以移动，拉伸，旋转，缩放等等. 这在设计过程中给予了很大的灵活性.

什么是约束？
使用约束来限制对象的自由度. 例如，没有约束的线条具有4 自由度（简写为“DOF”）：可以水平或垂直移动，可以被拉伸，并且可以旋转.

应用水平或垂直约束或角度约束（相对于另一条线或与其中一条轴）将限制其旋转能力，从而使其具有3个自由度. 锁定其原点之一的点将消除另外2个自由度. 并且应用维度约束将消除最后的自由度. 然后，该行被认为是“完全受限制的”.

多个对象可以彼此约束. 可以通过其中一个点与重合点约束连接两条线. 可以在它们之间设置一个角度，或者它们可以垂直设置. 一条线可以与弧或圆相切，依此类推. 具有多个对象的复杂草图将具有多种不同的解决方案，并使其“完全受约束”，这意味着基于所应用的约束只能达到其中一种可能的解决方案.

有两种约束：几何和尺寸. 它们在下面的'工具'部分中详细介绍.

草图编辑器不擅长于
草图编辑器不打算制作2D蓝图. 草图一旦用于生成实体特征后，会自动隐藏. 约束仅在草图编辑模式下可见.

如果您仅需要生成2D视图进行打印，并不想创建3D模型，请查看底图工作台（请注意，底图工作台也可用于创建此时草图编辑器中不可用的2D几何，如B-Splines. ）

草图工作流程
草图总是二维（2D）. 要创建一个实体，创建单个封闭区域的2D草图，然后垫高或旋转以添加第三维，从2D草图创建3D实体.

如果草图具有彼此交叉的段，其中一个点不直接位于段上的位置，或相邻段的端点之间存在间隙的位置，垫高或旋转将不会创建一个实体. 这个规则的例外是它不适用于构造（蓝色）几何对象.

在封闭区域内，我们可以有较小的非重叠区域. 当创建3D实体时，这些将变为空白.

工具
草图工作台工具都位于加载草图工作台时出现的草图菜单中.


 * [[Image:Sketcher_NewSketch.png‎‎|32px]] New sketch: 在所选的面或平面上创建新的草图. 如果在执行此工具时未选择任何面, 则系统将提示用户从弹出窗口中选择一个平面.


 * [[Image:Sketcher_EditSketch.png|32px]] Edit sketch: 编辑已选择的草图.


 * [[Image:Sketcher_LeaveSketch.png|32px]] Leave sketch: 离开草图编辑模式.


 * [[Image:Sketcher_ViewSketch.png‎|32px]] View sketch: 设置垂直于草图平面的模型视图.


 * [[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: 将草图映射到以前选定的实心面.


 * Reorient sketch : 允许您更改草图的位置


 * Validate sketch: 它允许你检查是否有不同点的公差和匹配.


 * [[Image:Sketcher MergeSketch.png‎|32px]] Merge sketches: 合并两个或多个草图. [v 0.15]


 * [[Image:Sketcher MirrorSketch.png‎|32px]] Mirror sketch: 沿 x 轴、y-axis 或原点镜像草图 [v 0.16]

草图编辑器几何工具
这是创建对象的工具.


 * [[Image:Sketcher_CreatePoint.png|32px]] Point: 绘制一个点.


 * [[Image:Sketcher_Line.png|32px]] Line by 2 point: 从2点绘制线段.


 * [[Image:Sketcher_CompCreateArc.png|48px]] Create an arc: This is an icon menu in the Sketcher toolbar that holds the following commands:


 * [[Image:Sketcher_Arc.png|32px]] Arc: 从中心，半径，起始角度和最终角度绘制弧段.


 * [[Image:Sketcher CreateArc3Point.png|32px]] Arc by 3 Point: 从两个端点绘制弧段，并在圆周上绘制另一个点.


 * [[Image:Sketcher_CompCreateCircle.png|48px]] Create a circle: This is an icon menu in the Sketcher toolbar that holds the following commands:


 * [[Image:Sketcher_Circle.png|32px]] Circle: 从中心和半径画一个圆.


 * [[Image:Sketcher CreateCircle3Point.png|32px]] Circle by 3 Point : 从圆周上的三个点画一个圆.


 * [[Image:Sketcher_Conics.png|32px]] Conic sections:
 * [[Image:Sketcher_CreateEllipse.png|32px]] Ellipse by center : 通过中心点，大半径点和小半径点绘制椭圆. (v0.15)
 * [[Image:Sketcher_CreateEllipse_3points.png|32px]] Ellipse by 3 points : 用大直径（2点）和小半径点绘制椭圆. (v0.15)
 * [[Image:Sketcher_Elliptical_Arc.png|32px]] Arc of ellipse : 通过中心点，主要半径点，起点和终点绘制椭圆弧. (v0.15)
 * [[Image:Sketcher_Hyperbolic_Arc.png|32px]] Arc of hyperbola: 绘制双曲线弧. (v0.17)
 * [[Image:Sketcher_Parabolic_Arc.png|32px]] Arc of parabola: 画出抛物线弧. (v0.17)


 * [[Image:Sketcher_CompCreateBSpline.png|48px]] 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-spline: Draws a periodic (closed) B-spline curve by its control points.


 * [[Image:Sketcher_CreatePolyline.png|32px]] Polyline (multiple-point line): 绘制由多个线段组成的线. 绘制折线时，按M键可在不同的折线模式之间切换.


 * [[Image:Sketcher_CreateRectangle.png|32px]] Rectangle: 从两个相反的点绘制一个矩形.


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


 * [[Image:Sketcher_CreateTriangle.png|32px]] Triangle: 在几何圆构图中绘制一个正三角形. (v0.15)


 * [[Image:Sketcher_CreateSquare.png|32px]] Square: 在几何圆构图中绘制一个正方形. (v0.15)


 * [[Image:Sketcher_CreatePentagon.png|32px]] Pentagon: 在几何圆构图中绘制一个正五面. (v0.15)


 * [[Image:Sketcher_CreateHexagon.png|32px]] Hexagon: 在几何圆构图中绘制一个正六边形. (v0.15)


 * [[Image:Sketcher_CreateHeptagon.png|32px]] Heptagon: 在几何圆构图中绘制一个正七边形. (v0.15)


 * [[Image:Sketcher_CreateOctagon.png|32px]] Octagon: 在几何圆构图中绘制一个正八边形. (v0.15)


 * [[Image:Sketcher_CreateRegularPolygon.png|32px]] Create Regular Polygon : Draws a regular polygon by selecting the number of sides and picking two points: the center and one corner.


 * [[Image:Sketcher_CreateSlot.png|32px]] Slot: 通过选择一个半圆的中心和另一个半圆的终点绘制椭圆.


 * [[Image:Sketcher_CreateFillet.png|32px]] Fillet: 在一条线之间加入两条线之间的圆角. 选择两行或单击角点，然后激活该工具.


 * [[Image:Sketcher_Trimming.png|32px]] Trimming: 相对于点击的点修剪线，圆或圆弧.


 * 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: 创建与外部几何相关联的边.


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


 * [[Image:Sketcher_ToggleConstruction.png|32px]] Construction Mode: 将元素切换 到/从 构图模式. 对象构图不会在3D几何操作中使用，并且仅在编辑包含它的草图时可见. 这是 v0.15 中使用的图标. 直到FreeCAD v0.16，用户必须先在草图编辑器中创建常规（白色）几何对象，然后使用此工具将其更改为“几何构图”（蓝色）.
 * [[Image:Sketcher_ToggleConstruction.png|32px]] Construction Mode: 在FreeCAD v0.16中，添加了在构造模式下直接创建几何的能力，因此图标已更改为该图形. 选择现有的草图编辑器几何图形，然后单击此工具可以在常规和构造模式之间切换几何图形，就像以前的FreeCAD版本一样. 从FreeCAD v0.16开始，当没有选择草图编辑器几何图形时，选择此工具会更改将要创建将来的对象的模式（常规与构造）.

草图编辑器约束
约束用于定义长度、在草图元素之间设置规则以及沿垂直和水平轴锁定草图. 某些约束要求 辅助约束

几何约束
不与数值数据关联


 * [[Image:Constraint_PointOnPoint.png|32px]] Coincident: 在一个或多个点上(同时)附加一个点.


 * [[Image:Constraint_PointOnObject.png|32px]] Point On Object: 将点附加到另一对象上, 如直线、圆弧或轴.


 * [[Image:Constraint_Vertical.png|32px]] Vertical: 将所选线条或折线元素约束为真正的垂直方向. 在应用此约束之前, 可以选择多个对象.


 * [[Image:Constraint_Horizontal.png|32px]] Horizontal: 将所选线条或折线元素约束为真正的水平方向. 在应用此约束之前, 可以选择多个对象.


 * [[Image:Constraint_Parallel.png|32px]] Parallel: 约束两条或多行平行于彼此.


 * [[Image:Constraint_Perpendicular.png|32px]] Perpendicular: 约束两条垂直于彼此的线, 或约束垂直于弧线端点的直线.


 * [[Image:Constraint_Tangent.png|32px]] Tangent: 在两个所选实体之间创建切线约束, 或在两个线段之间建立共线约束. 直线段不必直接位于圆弧或圆上, 而将其与圆弧或圆相切.


 * [[Image:Constraint_EqualLength.png|32px]] Equal Length: 约束两个选定的实体彼此相等. 如果在圆或弧形上使用它们的半径将被设置为相等.


 * [[Image:Constraint_Symmetric.png|32px]] Symmetric: 将两个点对称地约束在一条直线上, 或者将前两个点对称地限制在第三个选定点上.


 * [[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.

尺寸約束
与数值数据关联

对于这些约束, 可以使用表达式. 数据可能取自 电子表格


 * [[Image:Sketcher_ConstrainLock.png‎|32px]] Lock: 通过设置相对于原点的垂直和水平距离来约束选定项, 从而锁定该项的位置. 这些约束距离可以在以后进行编辑.


 * [[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: 修复两点或线端点之间的水平距离. 如果只选择一项, 则将距离设置为原点.


 * [[Image:Constraint_Length.png|32px]] Distance: 通过限制选定行的长度来定义其距离, 或通过限制两点之间的距离来定义它们之间的距离.


 * [[Image:Constraint_Radius.png|32px]] Radius: 通过限制半径来定义所选圆弧或圆的半径.
 * [[Image:Constraint_InternalAngle.png|32px]] Internal Angle: 定义两个选定行之间的内部角度.

Snell's Law: 约束两条线服从折射定律来模拟通过界面的光. (v 0.15)


 * [[Image:Constraint_InternalAlignment.png |32px]] Internal Alignment: 将所选元素与所选形状对齐 (例如, 一条线成为椭圆的主轴).


 * [[Image:Sketcher_ToggleConstraint.png |32px]] Toggle Constraint: 将工具栏或所选约束切换到/从参照模式. v0.16

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: 通过对端点应用重合约束创建闭合形状 [v 0.15]


 * [[Image:Sketcher ConnectLines.png‎|32px]] Connect Edges: 通过对端点应用重合约束来连接草图编辑器器元素 [v 0.15]


 * [[Image:Sketcher SelectConstraints.png‎|32px]] Select Constraints: 选择草图编辑器元素的约束 [v 0.15]


 * [[Image:Sketcher SelectOrigin.png‎|32px]] Select Origin: 选择草图的原点 [v 0.15]


 * [[Image:Sketcher SelectVerticalAxis.png‎|32px]] Select Vertical Axis: 选择草图的垂直轴 [v 0.15]


 * [[Image:Sketcher SelectHorizontalAxis.png‎|32px]] Select Horizontal Axis: 选择草图的水平轴 [v 0.15]


 * [[Image:Sketcher SelectRedundantConstraints.png‎|32px]] Select Redundant Constraints: 选择草图的冗余约束 [v 0.15]


 * [[Image:Sketcher SelectConflictingConstraints.png‎|32px]] Select Conflicting Constraints: 选择草图的冲突约束 [v 0.15]


 * [[Image:Sketcher SelectElementsAssociatedWithConstraints.png‎|32px]] Select Elements Associated with constraints: 选择与约束关联的草图编辑器元素 [v 0.15]


 * 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.

最佳做法
每个CAD用户随着时间的推移发展自己的工作方式，但跟随一些有用的一般原则.


 * 一系列简单的草图比单个复杂的草图更容易管理. 例如，可以为基础3D特征（衬垫或旋转）创建第一个草图，而第二个可以包含孔或切口（凹坑）. 一些细节可以省略，稍后将作为3D功能实现. 如果太多，你可以选择避免草图中的圆角，并将其添加为3D功能.
 * 始终创建一个封闭的配置文件，或者你的草图不会产生实体，而是一组开放的面. 如果你不希望将某些对象包含在实体创建中，请使用“构造模式”工具将其转换为构造元素.
 * 使用自动约束特性来限制你必须手动添加的约束数量.
 * 作为一般规则，首先应用几何约束，然后应用尺寸约束，并最后锁定草图. 但请记住：规则被破坏. 如果你在操作草图时遇到问题，在完成配置文件之前先限制几个对象可能很有用.
 * 如果可能，将草图中心定位到具有锁定约束的原点（0,0）. 如果你的草图不对称，请将其中一个点定位到原点，或者为锁定距离选择好的圆角参数. 在v0.12中，外部约束（将草图约束到现有3D几何像边缘或其他草图）未实现. 这意味着要将以下草图定位到你的第一个草图中，你需要手动设置相对于你的第一个草图的距离. 一个基于原点的（25,75）的锁定约束比（23.47,73.02）更容易记住.
 * 如果你有可能在长度约束和水平或垂直距离约束之间进行选择，则选择后者. 水平和垂直距离约束在计算上更便宜.
 * 一般来说，最好使用的约束是：水平和垂直约束;水平和垂直长度约束;点对点相切. 如果可能，限制使用这些：一般长度约束;边缘到边缘相切;固定点到线约束;对称约束

教程

 * 草图编辑器教程
 * 草图编辑器教程为初学者
 * 草图编辑器微教程 - 约束实践