filletCenter()

Synopsis

Returns the center point of the circle with a given radius and tangent to both part1 and part2 which need not intersect. The other function arguments select one solution out of the up to 8 alternatives. side1? and side2? determine on which side of the corresponding curves the fillet center lies.

  • For circles, True selects the inside of the circle; for lines, True selects the "right" side of the line. The onRight? argument is used for choosing fillet location alternatives for a fillet between two arcs or between a line and an arc.
  • For Arc-Arc fillets, it picks the location to the "right" as one travels from the first to the second arc center, where the normal of the first is used to disambiguate.
  • For Arc-Line and Line-Arc fillets, it picks location of the lowest parameter on the line.
  • For Line-Line fillets, onRight? is not used, but must be supplied.

Both part1 and part2 must handle either the Line or Arc protocols. Other types of parts may be handled in the future.

Syntax

FilletCenter ( radius As Number, _
               part1 As Part, _
               part2 As Part, _
               side1? As Boolean, _
               side2? As Boolean, _
               onRight? As Boolean ) As Point
Argument Type Description
radius Number Radius of the fillet.
part1 Part This part must mixin either the LineMixin or the ArcMixin design .
part2 Part This part must mixin either the LineMixin or the ArcMixin design .
side1? Boolean A value of True determines if the fillet lies to the right side of part1, if it is a line. If part1 is an arc, then the value of True selects the inside of the arc.
side2? Boolean A value of True determines if the fillet lies to the right side of part2, if it is a line. If part2 is an arc, then the value of True selects the inside of the arc.
onRight? Boolean This determines the location of the fillet center among two alternatives in cases where the fillet is between two arcs or an arc and a line. For fillets between two arcs, onRight? refers to an imaginary line between the centers of the two arcs. For fillets between an arc and a line, a value of true will select the location nearest the lowest parameter value of the line. The input doesn't do anything for fillets between two lines, but is required none the less.

Example 1

The lineparts for both examples
Child Line_1 As :Line
    thruPoint1 = Point(0,-1,0)
    thruPoint2 = Point(0,1,0)
End Child

Child Line_2 As :Line
    thruPoint1 = Point(-1,0,0)
    thruPoint2 = Point(1,0,0)
End Child
		
Intent >filletCenter(0.3, Line_1, Line_2, False, False, True)
--> Point_(0.3, -0.3, 0.0, WorldFrame())

Example 2

filletCenter(0.3, Line_1, Line_2, True, False, True) 
--> Point_(-0.3, -0.3, 0.0, WorldFrame())