FilletSurfacesEx

Creates a surface between two surfaces. Unlike FilletSurfaces, this method will trim the original surfaces to the fillets.

Syntax

Rhino.FilletSurfacesEx (strSurface0, arrParam0, dlbRadius0, strSurface1, arrParam1, dlbRadius1 [, intFilletType [, blnExtend [, intSplitType]]])

Parameters

strSurface0

Required.  String.  The identifier of the first surface object.

arrParam0

Required.  String.   Array.  A u,v surface parameter of strSurface0 near where the fillet is expected to hit the surface.

dlbRadius1

Required.  Number.  The radius, or distance, from the intersection of strSurface0 to the edge of the fillet. Note, dlbRadius1 should always equal dblRadius2 unless intFilleType = 1 (Chamfer).

strSurface1

Required.  String.  The identifier of the second surface object.

arrParam1

Required.  Array.  A u,v surface parameter of strSurface1 near where the fillet is expected to hit the surface.

dlbRadius1

Required.  Number.  The radius, or distance, from the intersection of strSurface1 to the edge of the fillet. Note, dlbRadius1 should always equal dblRadius2 unless intFilleType = 1 (Chamfer)

intFilletType

Optional.  Number.  The type of fillet to create. The possible values are:

Value

Description

0 (Default)

Rolling ball

1

Chamfer

2

Rails

blnExtend

Optional.  Boolean.  If True (Default), then when one input surface is longer than the other, the fillet surface is extended to the input surface edges.

intSplitType

Optional.  Number.  The type of splitting to perform. The possible values are:

Value

Description

0

Nothing

1 (Default)

Trim

2

Split

Returns

Array

An array that contains 3 sub-arrays if successful.  The array will contain the following information:

Element

Type

Description

0

Array

The identifiers of the fillet surfaces.

1

Array

If intSplitType is either 1 (Trim) or 2 (Split), then the identifiers of the results of trimming or splitting strSurface0.

2

Array

If intSplitType is either 1 (Trim) or 2 (Split), then the identifiers of the results of trimming or splitting strSurface1.

Note, if intSplitType is 0 (Nothing) then the array elements 1 and 2 will contain strSurface0 and strSurface0 respectively.

Null

If not successful, or on error.

Example

Dim arrSrf0, arrSrf1, arrResult, arr, i, j

arrSrf0 = Rhino.GetSurfaceObject("Select first surface to fillet")

arrSrf1 = Rhino.GetSurfaceObject("Select second surface to fillet")

arrResult = Rhino.FilletSurfacesEx(arrSrf0(0), arrSrf0(4), 1.0, arrSrf1(0), arrSrf1(4), 1.0)

For i = 0 To UBound(arrResult)

  arr = arrResult(i)

  For j = 0 to UBound(arr)

    Call Rhino.Print(arr(j))

  Next

Next

Also See

FilletSurfaces

IsSurface