Surface Constructors Functions

This function lets you manage the creation of surfaces by defining the formula using surface constructors.

This page discusses:

fill

Creates a fill surface from a list of boundaries.

fill (curves)

Creates a fill surface from a list of boundaries (curves or lines).

Signature

fill(Curve, ..): Surface

Inputs

  • (Curve): list of boundaries (curves, lines) of the fill surface. The boundaries should be separated by commas and they need to define a closed contour

Returned value

  • Surface: fill surface bounded by the input boundaries

fill (curves, supports, continuity)

Creates a fill surface from a list of boundaries (curves, lines), a list of supports and a continuity constraint between the fill surface and the supports at the boundaries (0: point; 1: tangency; 3: curvature; any other value: point).

Signature

fill(curves: List, supports: List, continuity: Integer): Surface

Inputs

  • curves(List): List filled with boundaries (curves, lines) that define a closed contour
  • supports(List): List filled with surfaces containing the boundaries
  • continuity(Integer): continuity constraint between the fill surface and the supports at the boundaries (0: point; 1: tangency; 3: curvature; any other value: point)

Returned value

  • Surface: fill surface bounded by the input boundaries and matching the constraint defined by continuity with the input surfaces

Sample for both fill signatures

PartBody\Point.1 = point(10mm, 0mm, 0mm)
PartBody\Point.2 = point(0mm, 10mm, 0mm)
PartBody\Point.3 = point(-10mm, 0mm, 0mm)
PartBody\Point.4 = point(0mm, -10mm, 0mm)
PartBody\Line.1 = line(PartBody\Point.1 ,PartBody\Point.4)
PartBody\Curve.1 = spline(PartBody\Point.1, PartBody\Point.3, PartBody\Point.4)
PartBody\Surface.1 = fill(PartBody\Line.1, PartBody\Curve.1)
let L1(List)
L1->AddItem(PartBody\Line.1, 0)
L1->AddItem(PartBody\Curve.1, 0)
let L2(List)
L2->AddItem(PartBody\Surface.2, 0)
L2->AddItem(PartBody\Surface.3, 0)
PartBody\Surface.4 = fill(L1, L2, 0)//Surface.4 and Surface.1 are identical
PartBody\Surface.5 = fill(L1, L2, 1)
PartBody\Surface.6 = fill(L1, L2, 2)

offset

Creates an offset surface. Set the boolean orientation to false to change the side of the created surface regarding the reference surface.

Signature

offset(sur: Surface, offset: LENGTH, orientation: Boolean): Surface

Inputs

  • sur(Surface): surface to offset
  • offset(LENGTH): value of the offset
  • orientation(Boolean): setting orientation from true to false or from false to true is equivalent to changing the sign of offset from negative to positive or from positive to negative

Returned value

  • Surface: sur offset with an offset of offset

Sample

PartBody\Point.1 = point(10mm, 0mm, 0mm)
PartBody\Point.2 = point(0mm, 10mm, 0mm)
PartBody\Point.3 = point(-10mm, 0mm, 0mm)
PartBody\Point.4 = point(0mm, -10mm, 0mm)
PartBody\Line.1 = line(PartBody\Point.1 ,PartBody\Point.4)
PartBody\Curve.1 = spline(PartBody\Point.1, PartBody\Point.3, PartBody\Point.4)
PartBody\Surface.1 = fill(PartBody\Line.1, PartBody\Curve.1)
PartBody\Surface.2 = offset(PartBody\Surface.1, 15mm, true)
PartBody\Surface.3 = offset(PartBody\Surface.1, -15mm, true)
PartBody\Surface.4 = offset(PartBody\Surface.1, 15mm, false)//Surface.4 and Surface.3 are identical
PartBody\Surface.5 = offset(PartBody\Surface.1, -15mm, false)//Surface.5 and Surface.2 are identical

loft

Creates a loft from several sections.

loft (sections)

Creates a loft from several sections.

Signature

loft(sections: List, orientations: List): Surface

Inputs

  • - sections(List): List containing curves to define the sections

  • - orientations(List): List containing booleans defining the sections' orientations so as to avoid the result surface to be twisted

Returned value

  • Surface: multi-sections surface whose sections are the elements of sections

loft (sections + guides)

Creates a loft from several sections and several guides.

Signature

loft(sections: List, orientations: List, guides: List): Surface

Inputs

  • sections(List): List containing curves to define the sections
  • orientations(List): List containing booleans defining the sections' orientations so as to avoid the result surface to be twisted
  • guides(List): List containing curves to define the guides (the guide curves should intersect each section curve and should be continuous in point)

Returned value

  • Surface: multi-sections surface whose sections are the elements of sections and whose guides are the elements of guides

Sample for both loft signatures

let L1(List)
L1->AddItem(PartBody\Curve.1, 0)
L1->AddItem(PartBody\Curve.2, 0)
let L2(List)
L2->AddItem(true, 0)
L2->AddItem(true, 0)
PartBody\Surface.1 = loft(L1, L2)
let L3(List)
L3->AddItem(PartBody\Curve.3, 0)
L3->AddItem(PartBody\Curve.4, 0)
PartBody\Surface.1 = loft(L1, L2, L3)

revolve

Revolves geometry around a given axis.

revolve (wireframe)

Revolves a wireframe profile around a given axis. The result is a surface.

Signature

revolve(Curve ,axis: Line, angle1: ANGLE, angle2: ANGLE): Surface

Inputs

  • (Curve): wireframe profile to revolve
  • axis(Line): axis of revolution
  • angle1(ANGLE): oriented angle between the profile, the axis and the first extremity of the result
  • angle2(ANGLE): oriented angle between the profile, the axis and the second extremity of the result

Returned value

  • Surface: the revolution of the wireframe profile around axis. The result is a surface.

revolve (surface)

Revolves a surface around a given axis. The result is the skin of the generated volume.

Signature

revolve(Surface, axis: Line, angle1: ANGLE, angle2: ANGLE): Surface

Inputs

  • (Surface): surface to revolve
  • axis(Line): axis of revolution
  • angle1(ANGLE): oriented angle between the profile, the axis and the first extremity of the result
  • angle2(ANGLE): oriented angle between the profile, the axis and the second extremity of the result

Returned value

  • Surface: the revolution of the surface around axis. The result is the skin of the generated volume.

revolve (point)

Creates a circle by revolving a point around a given axis.

Signature

revolve (Point, axis: Line, angle1: Angle, angle2: Angle): Circle

Inputs

  • (Point): point to revolve
  • axis(Line): axis of revolution
  • angle1(ANGLE): oriented angle between the point, the axis and the first extremity of the result
  • angle2(ANGLE): oriented angle between the point, the axis and the second extremity of the result

Returned value

  • Circle: circle obtained by revolving the point around axis

Sample for all revolve signatures

PartBody\Circle.2 = revolve(point(1mm,1mm,1mm),line(point(0mm,0mm,0mm),point(0mm,0mm,1mm)),90deg,0deg)
PartBody\Surface.3 = revolve(PartBody\Circle.2, line(point(0mm,0mm,0mm),point(1mm,0mm,0mm)),90deg,0deg)
PartBody\Surface.4 = revolve(PartBody\Surface.3, line(point(-10mm,0mm,0mm),point(-10mm,1mm,0mm)),90deg,0deg)

extrude

Extrudes geometry in a given direction.

extrude (wireframe)

Extrudes a wireframe profile in a given direction. The result is a surface.

Signature

extrude(Curve, Direction, length1: LENGTH, length2: LENGTH, orientation: Boolean): Surface

Inputs

  • (Curve): the wireframe profile to extrude
  • (Direction): direction of extrusion
  • length1(LENGTH): length of extrusion from the profile in the direction (if orientation is set to true)
  • length2(LENGTH): length of extrusion from the profile in the opposite direction of direction (if orientation is set to true)
  • orientation(Boolean): boolean to swap length1 and length2

Returned value

  • Surface: the extrusion of the wireframe profile. The result is a surface.

extrude (surface)

Extrudes a surface in a given direction. The result is the surface of the generated volume.

Signature

extrude(Surface, Direction, length1: LENGTH, length2: LENGTH, orientation: Boolean): Surface

Inputs

  • (Surface): surface to extrude
  • (Direction): direction of extrusion
  • length1(LENGTH): length of extrusion from the profile in the direction (if orientation is set to true)
  • length2(LENGTH): length of extrusion from the profile in the opposite direction of direction (if orientation is set to true)
  • orientation(Boolean): boolean to swap length1 and length2

Returned value

  • Surface: the extrusion of the surface. The result is the skin of the generated volume.

extrude (point)

Extrudes a point in a given direction. The result is a line.

Signature

extrude (Point, Direction, length1: Length, length2: Length, orientation: Boolean): Line

Inputs

  • (Point): point to extrude
  • (Direction): direction of extrusion
  • length1(LENGTH): length of extrusion from the profile in the direction (if orientation is set to true)
  • length2(LENGTH): length of extrusion from the profile in the opposite direction of direction (if orientation is set to true)
  • orientation(Boolean): boolean to swap length1 and length2

Returned value

  • Line: TODO: the extrusion of the point. The result is a line.

Sample for all extrude signatures

PartBody\Point.1 = point(0mm, 0mm, 0mm)
PartBody\Line.1 = extrude(PartBody\Point.1, direction(`xy plane`), 5mm, 5mm, true)
PartBody\Surface.1 = extrude(PartBody\Line.1, direction(`yz plane`), 5mm, 5mm, true)
PartBody\Surface.2 = extrude(PartBody\Surface.1, direction(`zz plane`), 5mm, 5mm, true)

tessellate

Tessellates a surface with the given value.

Signature

               tessellate(
               Surface) :
               Surface

Arguments

Name Input/Output Required? Type Comment
In Surface -

ReturnType

               Surface