|
|
| Расположение в меню |
|---|
| Деталь → Создать проекцию на поверхность... |
| Верстаки |
| Деталь |
| Быстрые клавиши |
| Нет |
| Представлено в версии |
| 0.19 |
| См. также |
| Нет |
Проекция на поверхность используется для проецирования Формы (очертания) поверх грани другого объекта; это можно использовать для проецирования логотипа или текстового объекта (смотри
Draft Текстовая Геометрия) на различные поверхности для создания интересных эффектов.
Проекция логотипа на криволинейную поверхность.
Примечания:
(0, 1, 0), то выдавливание будет создано в направлении -Y (0, -1, 0). Это сплошное выдавливание будет создано только в том случае, если выбранный подэлемент был закрытой гранью, при нажатии кнопки Добавить грань и выборе опции
Note that any extrusions and offsets are along the projection direction. To create these normal to the surface use the Curves SketchOnSurface or Curves MapOnFace tools from the Curves Workbench.
Алгоритм проецирования иногда не может создать правильную грань проекции. В этом случае не удастся создать и твёрдотельную экструзию.
Если это произошло:
See also: Property View.
A Part ProjectOnSurface is derived from a Part Feature object and inherits all its properties. It also has the following additional properties:
Projection
Enumeration): The option are: All, Faces or Edges.Length): Extrusion distance opposite to projection direction.Distance): Offset along projection direction.Direction): Normalized vector in the direction of projection.LinkSub): Link to projection surface.LinkSubList): Projected object(s).An example script, projecting a hexagonal wire onto a cylindrical face, then offsetting and extruding the result, is shown below.
#project a hexagonal face onto the surface of a cylinder
import Part
doc = App.ActiveDocument
poly = doc.addObject("Part::RegularPolygon", "RegularPolygon")
poly.Polygon = 6
poly.Circumradius = 2
poly.Placement = App.Placement(App.Vector(0, -10, 5), App.Rotation(App.Vector(1, 0, 0), 90))
face = doc.addObject("Part::Face", "Face")
face.Sources = (poly, )
cyl = App.ActiveDocument.addObject("Part::Cylinder", "Cylinder")
cyl.Radius = 5
cyl.Height = 10
proj = doc.addObject("Part::ProjectOnSurface", "Projection")
proj.SupportFace = (cyl, u"Face1")
proj.Direction = (0, 1, 0)
proj.Mode = u"All"
proj.Projection = (face, u"Face1")
proj.Height = 1 # opposite to projection direction
proj.Offset = -2 # along projection direction
doc.recompute()