Line Constructors Functions

This function lets you define the formula for line constructors.

This page discusses:

lineangle

Creates a line passing through a point, tangent to a surface and making a given angle with a curve. When the geodesic argument is set to true, a geodesic line is created (projected) onto the surface.

Signature

lineangle(crv: Curve, sur: Surface, pt: Point, geodesic: Boolean,  start: LENGTH, end: LENGTH, angle: ANGLE, orientation: Boolean ): Line

Inputs

  • crv (Curve): curve the line makes an angle with
  • sur (Surface): surface the line is tangent to or projected onto (provided geodesic is set to true)
  • pt (Point): point the line is passing through
  • geodesic (Boolean): if it is set to false, the line is not projected onto sur; if it is set to true, the line is projected onto sur
  • start (LENGTH): algebraic distance between the line's starting point and pt
  • end (LENGTH): algebraic distance between the line's ending point and pt
  • angle (ANGLE): angle the line makes with crv
  • orientation (Boolean): orientation to set where negative and positive, algebraic distances are located

Returned Value

  • Line : line passing through pt , tangent (if geodesic is set to false ) to sur (or projected onto sur if geodesic is set to true ) and making an angle of angle with a crv

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\Curve.1 = spline(PartBody\Point.1, PartBody\Point.3, PartBody\Point.4)
Geometrical Set.1\Line.1 = lineangle (Geometrical Set.1\Curve.1 , Geometrical Set.1\Extrude.1 , Geometrical Set.1\Point.4, false, 0mm, 50mm, 80deg, false)

linetangent

Creates a line tangent to a curve at a given point.

Signature

linetangent(crv: Curve, pt: Point,  start: LENGTH, end: LENGTH, orientation: Boolean ): Line

Inputs

  • crv(Curve): curve the line will be tangent to
  • pt(Point): point the line will be tangent to crv at
  • start(LENGTH): algebraic distance between the line's starting point and pt
  • end(LENGTH): algebraic distance between the line's ending point and pt
  • orientation(Boolean): orientation to set where negative and positive, algebraic distances are located

Returned Value

  • Line: line tangent to crv at pt

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\Curve.1 = spline(PartBody\Point.1, PartBody\Point.3, PartBody\Point.4)
PartBody\Line.1 = linetangent(PartBody\Curve.1, PartBody\Point.4, -1mm, 3mm, false)
PartBody\Line.2 = linetangent(PartBody\Curve.1, PartBody\Point.4, 3mm, -1mm, false)
PartBody\Line.3 = linetangent(PartBody\Curve.1, PartBody\Point.4, -1mm, 3mm, true)
PartBody\Line.4 = linetangent(PartBody\Curve.1, PartBody\Point.4, 3mm, -1mm, true)

inertiaAxis

Creates the 1st, 2nd or 3rd inertia axis of a given Body, that is to say a line starting from the Body's centroid and going to the direction given by the 1st, 2nd or 3rd eigenvector of the Body's inertia matrix.

Signature

inertiaAxis(rank: Integer[,Body, ..]): 
 Line

Inputs

  • rank(Integer): integer equal to 1, 2 or 3 to determine which inertia axis is to be created
  • (Body): the Body whose rank-th inertia axis is to be created

Returned Value

  • Line: the rank-th inertia axis of the given Body.

Sample

Geometrical Set.1\Line.1 = inertiaAxis (1 , `PartBody`)
Geometrical Set.1\Line.2 = inertiaAxis (2 , `PartBody`)
Geometrical Set.1\Line.3 = inertiaAxis (3 , `PartBody`)

line

Creates a line.

line (points)

Creates a line from two points.

Signature

line(Point, Point): Line

Inputs

  • (Point): extremity of the line to be created
  • (Point): extremity of the line to be created

Returned Value

  • Line creates a line passing through a point and parallel to a direction.

Sample

PartBody\Point.1 = point(10mm, 0mm, 0mm)
PartBody\Point.2 = point(0mm, 10mm, 0mm)
PartBody\Line.1 = line(PartBody\Point.1, PartBody\Point.2)

line (point direction)

Creates a line passing through a point and parallel to a direction.

Signature

line (pt: Point, dir: Direction, start: Length, end: Length, orientation: Boolean): Line

Inputs

  • pt(Point): point the line passes through
  • dir(Direction): direction the line is parallel to
  • start(LENGTH): algebraic distance between the line's starting point and pt
  • end(LENGTH): algebraic distance between the line's ending point and pt
  • orientation(Boolean): orientation to set where negative and positive, algebraic distances are located

Returned Value

  • Line line passing through pt and parallel to dir.

Sample

PartBody\Point.3 = point(-10mm, 0mm, 0mm)
PartBody\Line.2 = line(PartBody\Point.3, direction (`zx plane`), -1mm, 3mm, false)
PartBody\Line.3 = line(PartBody\Point.3, direction (`zx plane`), 3mm, -1mm, false)
PartBody\Line.4 = line(PartBody\Point.3, direction (`zx plane`), -1mm, 3mm, true)
PartBody\Line.5 = line(PartBody\Point.3, direction (`zx plane`), 3mm, -1mm, true)

mainnormal

Creates a line normal to a curve at a given point. The line is created in the plane which contains the tangent vector of the curve. If the curve is planar, the line is created in the plane that contains the curve..

Signature

mainnormal(crv: Curve,  pt: Point ): Line

Inputs

  • crv(Curve): the curve the line is normal to
  • pt(Point): the point of crv the line passes through

Returned Value

  • Line: line normal to crv at pt

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\Curve.1 = spline(PartBody\Point.1, PartBody\Point.3, PartBody\Point.4)
PartBody\Line.1 = mainnormal(PartBody\Curve.1, PartBody\Point.3)

axis

Creates the revolution axis of a circle or a revolution surface.

axis (circle)

Creates the revolution axis of a circle or a portion of circle, an ellipse or a portion of ellipse; or an oblong curve. Swapped cells created through BRep selection mechanism cannot be used as an input.

Signature

axis(curve: Curve): Line

Inputs

  • curve(Curve): circle or portion of circle, ellipse or portion of ellipse; or oblong curve

Returned Value

  • Line: revolution axis of curve

Sample

axis (revolution surface)

Creates the revolution axis of a revolution surface or portion of a revolution surface. Swapped cells created through BRep selection mechanism cannot be used as input.

Signature

axis(revolutionSurface: Surface): Line

Inputs

  • revolutionSurface(Surface): revolution surface or portion of a revolution surface

Returned Value

  • Line: revolution axis of revolutionSurface

Sample

Geometrical Set.1\Line.1 = axis(`Geometrical Set.1\Circle.1`)
Geometrical Set.1\Line.2 = axis(`Geometrical Set.1\Conic.1`)
Geometrical Set.1\Line.3 = axis(`Geometrical Set.1\Revolute.1`)

linenormal

Creates a line normal to a surface at a given point.

Signature

linenormal(sur: Surface, pt: Point,  start: LENGTH, end: LENGTH, orientation: Boolean ): Line

Inputs

  • sur(Surface): surface the line is normal to
  • pt(Point): point on sur the line is passing through
  • start(LENGTH): algebraic distance between the line's starting point and pt
  • end(LENGTH): algebraic distance between the line's ending point and pt
  • orientation(Boolean): orientation to set where negative and positive, algebraic distances are located

Returned Value

  • Line: line normal to sur at pt

Sample

PartBody\Point.1 = point(10mm, 0mm, 0mm)
PartBody\Line.1 = linenormal (PartBody\Extrude.1, PartBody\Point.1, -1mm, 3mm, false)
PartBody\Line.2 = linenormal (PartBody\Extrude.1, PartBody\Point.1, 3mm, -1mm, false)
PartBody\Line.3 = linenormal (PartBody\Extrude.1, PartBody\Point.1, -1mm, 3mm, true)
PartBody\Line.4 = linenormal (PartBody\Extrude.1, PartBody\Point.1, 3mm, -1mm, true)

binormal

Creates a line normal to a curve at a given point. The line is created in a plane that contains a tangent vector of the curve. If the curve is planar, the line is created in the plane normal to the plane that contains the curve.

Signature

binormal(crv: Curve,  pt: Point ): Line

Inputs

  • crv(Curve): curve the line is normal to
  • pt(Point): point on crv the line is passing through

Returned Value

  • Line: line normal to crv at pt

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\Curve.1 = spline(PartBody\Point.1, PartBody\Point.3, PartBody\Point.4)
PartBody\Line.1 = binormal(PartBody\Curve.1, PartBody\Point.4)