Skip to content

Measure Radius Surface

KaiUR edited this page Jun 3, 2026 · 8 revisions

Measure Radius Surface

File: Part_Document_Scripts/Measure_Radius_Surface.py
Version: 1.8
Document Type: Part (also works with Part inside Product or Process)


Description

Measures the effective radius and diameter of a surface by intersecting it with a normal plane, then fitting a 3-point circle to the resulting curve. The user selects the surface and an edge to define the measurement direction. All construction geometry is deleted after measurement.

See Measure Radius Surface Keep Con to keep the construction geometry.


Requirements

Requirement Value
Python >= 3.10
pycatia >= 0.8.3
wxPython Not required
Open document Part, or Part inside Product/Process

Usage

  1. Open a CATPart document containing a surface to measure
  2. Run the script
  3. Selection 1: Select the surface to measure
  4. Selection 2: Select an edge on the surface to define the measurement direction

    The edge must not be a closed curve

  5. A message box displays the result

Output

A message box showing:

Radius: 25.43mm
Diameter: 50.86mm

If the surface is planar in the selected direction (points are collinear):

Radius: 0mm
Diameter: 0mm

Surface is Planar in selected direction
Points are colinear

All construction geometry is deleted after the result is shown.


How It Works

  1. A plane normal to the selected edge at its midpoint is created
  2. The surface is intersected with this plane to produce a curve
  3. An extremum point along direction (1, 2, 3) is used as an anchor; three datum points are placed at 20%, 50%, and 80% along the intersection curve
  4. The datum points are checked for collinearity — if collinear the surface is planar and radius is reported as 0
  5. A circle is fitted through the three datum points and the radius is measured

Notes

Home


Getting Started


Contributing


Any Document Scripts


Drawing Document Scripts


Part Document Scripts


Shape Generation Scripts


Process Document Scripts


Product Document Scripts


Utility Scripts


Legal

Clone this wiki locally