Skip to main content

Implicit Body, Points, Scalar, 1.2.0

Implicit Body, Point, Scalar, 1.2.0

About this Block

What it does: Finds the point on the surface of an Implicit Body closest to the input point; returns a Closest Point Properties object, including the output point, the output point’s normal vector, and the distance to the original point. If multiple points on the Body are closest to the input Point, only one will be found. Switch the block overload to input a list of points and receive a list of Closest Point Properties. Common uses:
  • Creating reference geometry based on implicits.
  • Verifying that geometry meets the specified tolerance to other geometry.
Tips
  • The ‘normal’ property is the unit vector from the output point to the input point.
  • There is no warning or error if multiple points on the Body are closest to the input Point. In this case, the output point is arbitrarily selected from the possible solutions. It will not change for the same inputs, block version, and overload. For more control over the chosen point, translate the input Point closer to where the output is desired.
  • Closest Point to Body uses a gradient descent algorithm with the absolute value of the Body’s field until the function value is less than the Tolerance specified.
  • Errors and warnings can occur if there are issues with the input Body, such as zero or non-finite gradients or if the surface of the Body does not evaluate to zero. If you encounter this issue you can try the following:
    • Inspect the Body’s field with the Field Viewer and the Evaluate Field Gradient block.
    • Select the ‘Probe values’ option in the Field Viewer to help verify if the Body’s surface evaluates to zero in the expected output region.
    • Translate the input Point to avoid problematic regions.

Example File

Download Example: Closest Point Closest Point Screen Shot

Implicit Body, Points, Scalar, 1.2.0

Finds the points on the surface of an Implicit Body closest to the input points and returns a list of Closest Point Properties objects. Each object contains the output point, the output point’s normal vector, and the distance to the original point. Switch the block overload to input a single point and receive one Closest Point Properties object.

Inputs

NameTypeDescription
BodyImplicit BodyImplicit body on which to find the closest points.
PointsPoint ListPoints to project onto the body.
ToleranceScalarMaximum distance of closest points to the body.

Outputs

Implicit Body, Point, Scalar, 1.2.0

Finds the point on the surface of an Implicit Body closest to the input point; returns a Closest Point Properties object, including the output point, the output point’s normal vector, and the distance to the original point. If multiple points on the Body are closest to the input Point, only one will be found. Switch the block overload to input a list of points and receive a list of Closest Point Properties.

Inputs

NameTypeDescription
BodyImplicit BodyImplicit body on which to find the closest point.
PointPointPoint to project onto the body.
ToleranceScalarMaximum distance of closest point to the body.

Outputs