Circle Constructors Functions

This knowledge function enables you to define the formula for circle constructors.

This page discusses:

circle2PtsRadius

Creates a circular arc defined by two passing points, a support surface and a radius.

Signature

circle2PtsRadius(point1: Point, point2: Point, support: Surface, radius: LENGTH, orientation : Boolean, limits : Integer): Circle

Inputs

  • point1(Point): the circular arc will pass through that point
  • point2(Point): the circular arc will pass through that point
  • support(Surface): the circular arc will lie on that surface
  • radius(LENGTH): circular arc's radius
  • orientation(Boolean): two circular arcs whose only difference is the orientation parameter are symmetrical with respect to the (point1, point2) line
  • limits(Integer): if limits equals 1, then the result is a circle; the union of two circular arcs whose only difference is the limits parameter (2 or 3) is the circle obtained by setting limits to 1

Returned Value

  • Circle: if limits equals 1, then the result is a circle passing through point1 and point2, lying on support and of radius radius; if limits equals 2 or 3, then the result is a circular arc of extremities point1 and point2, lying on support and of radius radius.

Sample

PartBody\Point.1 = point(0mm,0mm,0mm)
PartBody\Point.2 = point(0mm,-20mm,20mm)
PartBody\Curve.1 = circle2PtsRadius(PartBody\Point.1, PartBody\Point.2, `yz plane`, 20mm, true, 1)//whole circle
PartBody\Curve.2 = circle2PtsRadius(PartBody\Point.1, PartBody\Point.2, `yz plane`, 20mm, false, 1)//whole circle
//Curve.1 and Curve.2 are identical
PartBody\Curve.3 = circle2PtsRadius(PartBody\Point.1, PartBody\Point.2, `yz plane`, 20mm, true, 2)//circular arc
PartBody\Curve.4 = circle2PtsRadius(PartBody\Point.1, PartBody\Point.2, `yz plane`, 20mm, false, 2)//circular arc
//Curve.3 and Curve.4 are symmetrical with respect to the (Point.1 , Point.2) line
PartBody\Curve.5 = circle2PtsRadius(PartBody\Point.1, PartBody\Point.2, `yz plane`, 20mm, true, 2)//circular arc
PartBody\Curve.6 = circle2PtsRadius(PartBody\Point.1, PartBody\Point.2, `yz plane`, 20mm, false, 2)//circular arc
//Curve.5 and Curve.6 are symmetrical with respect to the (Point.1 , Point.2) line

circle3Pts

Creates a circular arc defined by three passing points.

Signature

circle3Pts(point1: Point, point2: Point, point3: Point, limits: Integer): Circle

Inputs

  • point1(Point): the circular arc will pass through that point
  • point2(Point): the circular arc will pass through that point if limits equals 1 or 2
  • point3(Point): the circular arc will pass through that point
  • limits(Integer): if limits equals 1, then the result will be a circle; if limits equals 2, then the result will be a circular arc passing through point2; if limits equals 3, then the result will be a circular arc that does not pass through point2

Returned Value

  • Circle: if limits equals 1, then the result is the circle passing through point1, point2 and point3; if limits equals 2, then the result is the circular arc of extremities point1 and point3 passing through point2; if limits equals 3, then the result is the circular arc of extremities point1 and point3 that does not pass through point2.

Sample

PartBody\Point.1 = point(0mm,0mm,0mm)
PartBody\Point.2 = point(0mm,-20mm,20mm)
PartBody\Point.3 = point(0mm,-20mm,-20mm)
PartBody\Curve.1 = circle3Pts(PartBody\Point.1, PartBody\Point.2, PartBody\Point.3, 1)//whole circle
PartBody\Curve.2 = circle3Pts(PartBody\Point.1, PartBody\Point.2, PartBody\Point.3, 2)//circular arc passing through Point.2
PartBody\Curve.3 = circle3Pts(PartBody\Point.1, PartBody\Point.2, PartBody\Point.3, 3)//circular arc not passing through Point.2

circleCtrPt

Creates a circular arc defined by its center and a passing point.

Signature

circleCtrPt(center: Point, point: Point, support: Surface, limits: Integer, start: ANGLE, end: ANGLE): Circle

Inputs

  • center(Point): the circular arc's center
  • point(Point): the circular arc will pass through that point
  • support(Surface): the circular arc will lie on that surface
  • limits(Integer): if limits equals 0, then the circular arc will be relimited by the start and end angles; if limits equals 1, then the result will be a circle
  • start(ANGLE): angle to relimit the result to (considered when limits equals 0)
  • end(ANGLE): angle to relimit the result to (considered when limits equals 0)

Returned Value

  • Circle: if limits equals 1, then the result is a circle of center center and passing through point; if limits equals 0, then the result is a circle of center center and passing through point and relimited by the start and end angles.

Sample

PartBody\Point.1 = point(0mm,0mm,0mm)
PartBody\Point.2 = point(0mm,-20mm,20mm)
PartBody\Curve.1 = circleCtrPt(PartBody\Point.1, PartBody\Point.2, `yz plane`, 0, 45deg, 135deg)//circular arc
PartBody\Curve.1 = circleCtrPt(PartBody\Point.1, PartBody\Point.2, `yz plane`, 1, 45deg, 135deg)//whole circle

circleTritgt

Creates one or more circular arc(s) lying on a specified surface and tangent to three specified curves and located on specified sides of the curves.

Signature

circleTritgt(curve1: Curve, curve2: Curve, curve3: Curve, support: Surface, orientation1: Boolean, orientation2: Boolean, orientation3: Boolean, limits: Integer): Circle

Inputs

  • curve1(Curve): curve the circular arc(s) will be tangent to
  • curve2(Curve): curve the circular arc(s) will be tangent to
  • curve3(Curve): curve the circular arc(s) will be tangent to
  • support(Surface): surface the circular arc(s) will lie on
  • orientation1(Boolean): sets the side of curve1 the circular arc(s) will be
  • orientation2(Boolean): sets the side of curve2 the circular arc(s) will be
  • orientation3(Boolean): sets the side of curve3 the circular arc(s) will be
  • limits(Integer): if limits equals 1, then the result will be a circle; the union of two circular arcs whose only difference is the limits parameter (2 or 3) is the circle obtained by setting limits to 1

Returned Value

  • Circle: circular arc(s) (if limits equals 2 or 3) or circle(s) (if limits equals 1) lying on support, tangent to curve1, curve2 and curve3 and located on the sides of the curves according to orientation1, orientation2 and orientation3.

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.3)
PartBody\Line.2 = line(PartBody\Point.2, PartBody\Point.4)
PartBody\Line.3 = line(PartBody\Point.1, PartBody\Point.2)
PartBody\Circle.1 = circleTritgt(PartBody\Line.1, PartBody\Line.2, PartBody\Line.3, `xy plane`, false, true, true, 1)

circleBitgtRadius

Creates one or more circular arc(s) of a specified radius.

circleBitgtRadius (curves)

Creates one or more circular arc(s) of a specified radius

  • lying on a specified surface,
  • being tangent to two specified curves, and
  • being located on specified sides of the curves.

Signature

circleBitgtRadius(curve1: Curve, curve2: Curve, support: Surface, radius: LENGTH, orientation1: Boolean, orientation2: Boolean, limits: Integer): Circle

Inputs

  • curve1(Curve): curve the circular arc(s) will be tangent to
  • curve2(Curve): curve the circular arc(s) will be tangent to
  • support(Surface): surface the circular arc(s) will lie on
  • radius(LENGTH): radius the circular arc(s) will have
  • orientation1(Boolean): sets the side of curve1 the circular arc(s) will be
  • orientation2(Boolean): sets the side of curve2 the circular arc(s) will be
  • limits(Integer): if limits equals 1, then the result will be a circle; the union of two circular arcs whose only difference is the limits parameter (2 or 3) is the circle obtained by setting limits to 1

Returned Value

  • Circle: circular arc(s) (if limits equals 2 or 3) or circle(s) (if limits equals 1) of radius radius, lying on support, tangent to curve1 and curve2 and located on the sides of the curves according to orientation1 and orientation2

circleBitgtRadius (curve and point)

Creates one or more circular arc(s) of a specified radius

  • lying on a specified surface,
  • being tangent to a specified curve,
  • passing through a specified point, and
  • being located on a specified side of the curve.

Signature

circleBitgtRadius(curve: Curve, point: Point, support: Surface, radius: LENGTH, orientation1: Boolean, orientation2: Boolean, limits: Integer): Circle

Inputs

  • curve(Curve): curve the circular arc(s) will be tangent to
  • point(Point): point the circular arc(s) will pass through
  • support(Surface): surface the circular arc(s) will lie on
  • radius(LENGTH): radius the circular arc(s) will have
  • orientation1(Boolean): sets the side of curve the circular arc(s) will be
  • orientation2(Boolean): mandatory argument that has no influence on the result
  • limits(Integer): if limits equals 1, then the result will be a circle; the union of two circular arcs whose only difference is the limits parameter (2 or 3) is the circle obtained by setting limits to 1

Returned Value

  • Circle: circular arc(s) (if limits equals 2 or 3) or circle(s) (if limits equals 1) of radius radius, lying on support, tangent to curve, passing through point and located on the sides of curve according to orientation1.

Sample for both circleBitgtRadius 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.3)
PartBody\Line.2 = line(PartBody\Point.2, PartBody\Point.4)
PartBody\Circle.1 = circleBitgtRadius(PartBody\Line.1, PartBody\Line.2, `xy plane`, 2mm, true, true, 1)//whole circle
PartBody\Circle.2 = circleBitgtRadius(PartBody\Line.1, PartBody\Line.2, `xy plane`, 2mm, true, false, 1)//whole circle
PartBody\Circle.3 = circleBitgtRadius(PartBody\Line.1, PartBody\Line.2, `xy plane`, 2mm, false, false, 1)//whole circle
PartBody\Circle.4 = circleBitgtRadius(PartBody\Line.1, PartBody\Line.2, `xy plane`, 2mm, false, true, 1)//whole circle
PartBody\Circle.5 = circleBitgtRadius(PartBody\Line.1, PartBody\Line.2, `xy plane`, 2mm, false, true, 2)//circular arc
PartBody\Circle.6 = circleBitgtRadius(PartBody\Line.1, PartBody\Line.2, `xy plane`, 2mm, false, true, 3)//circular arc
//the union of Circle.5 and Circle.6 equals Circle.4
PartBody\Circle.7 = circleBitgtRadius(PartBody\Line.1, point(0mm, -1mm, 0mm), `xy plane`, 2mm, true, true, 1)

circleCtrRadius

Creates a circular arc defined by its center and radius.

Signature

circleCtrRadius(center: Point, support: Surface, radius: LENGTH, limits: Integer, start: ANGLE, end: ANGLE): Circle

Inputs

  • center(Point): the circular arc's center
  • support(Surface): the circular arc will lie on that surface
  • radius(LENGTH): the circular arc's radius
  • limits(Integer): if limits equals 0, then the circular arc will be relimited by the start and end angles; if limits equals 1, then the result will be a circle
  • start(ANGLE): angle to relimit the result to (considered when limits equals 0)
  • end(ANGLE): angle to relimit the result to (considered when limits equals 0)

Returned Value

  • Circle: if limits equals 1, then the result is a circle of center center and radius radius; if limits equals 0, then the result is a circle of center center and radius radius and relimited by the start and end angles.

Sample

PartBody\Point.1 = point(0mm,0mm,0mm)
PartBody\Curve.1 = circleCtrRadius(PartBody\Point.1, `yz plane`, 20mm, 0, 45deg, 135deg)//circular arc
PartBody\Curve.2 = circleCtrRadius(PartBody\Point.1, `yz plane`, 20mm, 1, 45deg, 135deg)//whole circle

circleBitgtPoint

Creates one or more circular arc(s)

  • lying on a specified surface,
  • being tangent to two specified curves,
  • passing through a specified point, and
  • being located on specified sides of the curves.

Signature

circleBitgtPoint(curve1: Curve, curve2: Curve, point: Point, support: Surface, orientation1 : Boolean, orientation2: Boolean, limits: Integer): Circle

Inputs

  • curve1(Curve): curve the circular arc(s) will be tangent to
  • curve2(Curve): curve the circular arc(s) will be tangent to
  • point(Point): point the circular arc(s) will pass through
  • support(Surface): surface the circular arc(s) will lie on
  • orientation1(Boolean): sets the side of curve1 the circular arc(s) will be
  • orientation2(Boolean): sets the side of curve2 the circular arc(s) will be
  • limits(Integer): if limits equals 1, then the result will be a circle; the union of two circular arcs whose only difference is the limits parameter (2 or 3) is the circle obtained by setting limits to 1

Returned Value

  • Circle: circular arc(s) (if limits equals 2 or 3) or circle(s) (if limits equals 1) of radius radius, lying on support, tangent to curve1 and curve2, passing through point and located on the sides of the curves according to orientation1 and orientation2.

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.3)
PartBody\Line.2 = line(PartBody\Point.2, PartBody\Point.4)
PartBody\Circle.1 = circleBitgtPoint(PartBody\Line.1, PartBody\Line.2, point(-2mm, -2mm, 0mm), `xy plane`, true, true, 1)//whole circle
PartBody\Circle.2 = circleBitgtPoint(PartBody\Line.1, PartBody\Line.2, point(-2mm, -2mm, 0mm), `xy plane`, true, true, 2)//circular arc
PartBody\Circle.3 = circleBitgtPoint(PartBody\Line.1, PartBody\Line.2, point(-2mm, -2mm, 0mm), `xy plane`, true, true, 3)//circular arc
//the union of Circle.2 and Circle.3 equals Circle.1

circleCtrAxis

Creates a circular arc using a point and axis/line as input elements and corresponds to "Center and axis" type of circle in the user interface.

Signature

circleCtrAxis(axis: Line, point: Point, radius: LENGTH, start: ANGLE, end: ANGLE, projectionmode: Boolean, limits: Integer): Circle

Inputs

  • axis(Line): the result will be created on a plane perpendicular to this axis
  • point(Point): element used to compute the center
  • radius(LENGTH): the circular arc's radius
  • start(ANGLE): angle to relimit the result to (considered when limits equals 0)
  • end(ANGLE): angle to relimit the result to (considered when limits equals 0)
  • projectionmode(Boolean): if projectionmode equals true, then the circular arc's center is the projection of point onto axis; if projectionmode equals false, then the circular arc's center is point
  • limits(Integer): if limits equals 0, then the circular arc will be relimited by the start and end angles; if limits equals 1, then the result will be a circle

Returned Value

  • Circle: circle (if limits equals 0) or circular arc (if limits equals 1) of center point (if projectionmode equals false) or the projection of point onto axis (if projectionmode equals true ) of radius radius and relimited by the start and end angles (if limits equals 0).

Sample

PartBody\Point.4 = point(0mm,0mm,0mm)
PartBody\Point.5 = point(20mm,0mm,0mm)
PartBody\Line.1 = line(PartBody\Point.4, PartBody\Point.5)
PartBody\Point.6 = point(11mm,20mm,20mm)
//Curve.1 will be a circular arc of center Point.6 and radius 5mm
PartBody\Curve.1 = circleCtrAxis(PartBody\Line.1, PartBody\Point.6, 5mm, 45deg, 135deg, true, 0)
//Curve.2 will be a circle of center Point.6 and radius 5mm
PartBody\Curve.2 = circleCtrAxis(PartBody\Line.1, PartBody\Point.6, 5mm, 45deg, 135deg, true, 1)
//Curve.3 will be a circular arc of center point(11mm,0mm,0mm) and radius 5mm
PartBody\Curve.3 = circleCtrAxis(PartBody\Line.1, PartBody\Point.6, 5mm, 45deg, 135deg, false, 0)
//Curve.4 will be a circle of center point(11mm,0mm,0mm) and radius 5mm
PartBody\Curve.4 = circleCtrAxis(PartBody\Line.1, PartBody\Point.6, 5mm, 45deg, 135deg, false, 1)

circleCtrtgt

Creates a circle of a specified center or radius.

circleCtrtgt (center)

Creates a circle of a specified center

  • lying on a specified support and
  • being tangent to a specified curve.

Signature

circleCtrtgt(point: Point, curve: Curve, curve orientation: Boolean, tangent orientation: Boolean, support: Surface): Circle

Inputs

  • point(Point): circle's center
  • curve(Curve): curve the circle will be tangent to
  • curve orientation(Boolean): that argument is mandatory anyway; in case of multiple solutions, its value determines a specific solution
  • tangent orientation(Boolean): that argument is mandatory anyway; in case of multiple solutions, its value determines a specific solution
  • support(Surface): surface the circle will lie on

Returned Value

  • Circle: circle of center point, lying on support and tangent to curve.

Sample

PartBody\Point.1 = point(10mm, 0mm, 0mm)
PartBody\Point.2 = point(-10mm, 0mm, 0mm)
PartBody\Line.1 = line(PartBody\Point.1, PartBody\Point.2)
PartBody\Circle.1 = circleCtrtgt(point(2mm, 2mm, 0mm), PartBody\Line.1, true, false ,`xy plane`)

circleCtrtgt (radius)

Creates a circle of a specified radius,

  • whose center lies on a specified curve
  • lying on a specified support, and
  • being tangent to another specified curve.

Signature

circleCtrtgt (curve1: Curve, curve2: Curve, curve2 orientation: Boolean, curve2 tgt orientation: Boolean, support: Surface, radius: Length, curve1 orientation: Boolean, curve1 tgt orientation: Boolean): Circle

Inputs

  • curve1(Point): curve the circle's center will lie on
  • curve2(Point): curve the circle will be tangent to
  • curve2 orientation(Boolean): that argument is mandatory anyway; in case of multiple solutions, its value determines a specific solution
  • curve2 tgt orientation(BBooleanoolean): that argument is mandatory anyway; in case of multiple solutions, its value determines a specific solution
  • support(Surface): surface the circle will lie on
  • radius(LENGTH): radius the circle will have
  • curve1 orientation(Boolean): that argument is mandatory anyway; in case of multiple solutions, its value determines a specific solution
  • curve1 tgt orientation(Boolean): that argument is mandatory anyway; in case of multiple solutions, its value determines a specific solution

Returned Value

  • Circle: creates a circle of radius radius, whose center lies on curve1, that lies on support and that is tangent to curve2.