-
Notifications
You must be signed in to change notification settings - Fork 0
Ellipse Generator
File: Shape_Generation_Scripts/Ellipse_Generator.py
Version: 1.0
Document Type: Part
Generates a parametric ellipse in the active CATPart using GSD geometry. The user specifies a semi-major axis (a), semi-minor axis (b), number of points, and output plane. Points are distributed evenly by angle using the parametric form x = a·cos(t), y = b·sin(t).
The script creates a geometric set containing:
- A Points sub-set with all N sample points
- A closed GSD spline (
Ellipse_Spline) through all points
When a = b the result is a circle. Settings are saved between sessions.
| Requirement | Value |
|---|---|
| Python | >= 3.10 |
| pycatia | >= 0.8.3 |
| wxPython | Required |
| Open document | Part |
- Open a CATPart document
- Run the script
- Enter the semi-major axis, semi-minor axis, number of points, and output plane in the dialog
- Click OK — a progress bar shows while geometry is created
- A new geometric set is added to the part containing the point set and closed spline
| Parameter | Description | Default |
|---|---|---|
| Semi-major axis (a) | Longer half-axis length in mm. Must be greater than zero. | 100.0 |
| Semi-minor axis (b) | Shorter half-axis length in mm. Must be greater than zero. | 50.0 |
| Number of points | Number of evenly-spaced sample points on the ellipse. Minimum 4. | 72 |
| Plane | Output plane: XY, XZ, or YZ | XY |
| Plane | First axis | Second axis |
|---|---|---|
| XY | a along X | b along Y |
| XZ | a along X | b along Z |
| YZ | a along Y | b along Z |
| Button | Action |
|---|---|
| OK | Validates inputs and generates the ellipse |
| Cancel | Exits without generating |
| Reset Defaults | Restores factory default values |
| Clear Saved | Deletes the saved user presets file |
| Help | Opens the full in-script user manual |
A geometric set named Ellipse_A{a}mm_B{b}mm is created at the top level of the part tree containing:
Ellipse_A100mm_B50mm
├── Points
│ ├── Pt_001
│ ├── Pt_002
│ │ ...
│ └── Pt_072
└── Ellipse_Spline (closed)
The spline passes through all N points and is closed, ready to use as a pad or pocket profile.
Settings are saved automatically to:
%APPDATA%\pycatia_scripts\Ellipse_Generator\user_presets.json
The next time the script runs, your last-used values are pre-filled in the dialog.
- The ellipse is centred at the origin; the first point starts at (a, 0, 0) for XY and XZ planes
- 72 points gives one point every 5° — a smooth spline for most uses; use 36 for lighter models
- When a = b, the result is a circle of radius a
Getting Started
Contributing
- Copy Name and Colour
- Export Properties To CSV
- Find And Select By Name
- Hide Planes And Axis Systems
- Rename Hybrid Shapes
- Replace Name Hybrid Shapes
- Reset Visual Properties
- Screenshot White Background
- Swap Names
- Toggle Show Hide Geometric Set
- Add Border And Title Block
- Add Border And Title Block With Values
- Batch CATDrawing To DXF
- Batch CATDrawing To PDF
- Create Drawing Border And Title Block
- Create Drawing Border And Title Block With Values
- Export Drawing Dimensions To CSV
- Update All Drawing Views
- Update Title Block From Properties
- Update Title Block Headings
- Axis To Axis Keep History
- Axis To Axis Keep History And Structure
- Axis To Axis Keep Name
- Axis To Axis Keep Name And Structure
- Batch Isolate Geometric Set
- Check Duplicate Names In Geometric Set
- Check Open Bodies
- Colour Code By Geometric Set
- Copy Geometric Set To New Part
- Copy Parameters Between Parts
- Create Construction Planes
- Create Spline From Coordinates
- Create ISM OSM STEP Files
- Delete Deactivated Features
- Delete Hidden Elements In Geometric Set
- Export 3D Annotations To CSV
- Export All Parameters To CSV
- Export Curve Lengths Surface Areas To CSV
- Export Geometric Set Structure To CSV
- Export Holes To CSV
- Export Mass CoG Inertia To CSV
- Export Parameter Dependencies To CSV
- Export Points Axis and Geo Set To CSV
- Export Points Axis and Geo Set To XYZ
- Export Points Geo Set To CSV
- Export Points Geo Set To XYZ
- Export Sketch Constraints To CSV
- Extract Boundary Curves
- IGES Export Curve Axis
- Insert Points Catia
- Insert Points Catia Keep History
- Insert Points Catia With Names
- Insert Points Catia With Names Keep History
- Join Explicit No Connect
- Join Explicit No Connect Curve
- Join Explicit No Connect Surface
- List Properties To CSV
- Match Properties In Geometric Set
- Measure Curve With 3 Points As Circle
- Measure Curve With 3 Points As Circle Keep Con
- Measure Radius Surface
- Measure Radius Surface Keep Con
- Measure Radius Surface Keep Con Auto Edge
- Mirror Keep History
- Mirror Keep History And Structure
- Mirror Keep Name
- Mirror Keep Name And Structure
- Publish Hybrid Shapes In Geometric Set
- Reorder Geometric Set Alphabetically
- Rotate Angle Keep History
- Rotate Angle Keep History And Structure
- Rotate Angle Keep Name
- Rotate Angle Keep Name And Structure
- Rotate Three Points Keep History
- Rotate Three Points Keep History And Structure
- Rotate Three Points Keep Name
- Rotate Three Points Keep Name And Structure
- Scale Keep History
- Scale Keep History And Structure
- Scale Keep Name
- Scale Keep Name And Structure
- Select By Colour
- Spline Through Points In Geometric Set
- Translate Direction Distance Keep History
- Translate Direction Distance Keep History And Structure
- Translate Direction Distance Keep Name
- Translate Direction Distance Keep Name And Structure
- Custom Coordinate Airfoil Generator
- Ellipse Generator
- Hole Size Test Plate Generator
- Involute Gear Generator
- NACA 4 Digit Airfoil Generator
- NACA 5 Digit Airfoil Generator
- Plot 2D Function
- Plot 3D Parametric Curve
- Regular Polygon Generator
- Sine Wave Curve Generator
- Spring Generator
- Check Operation Parameters Against Limits
- Export NC Program Names To CSV
- Export Process Table Parameters
- Export Resource List
- Export Tool List From Process
- Manage Program Names And Comments
- Manage Tooling Catalog
- Rename Operations From Tool Name
- Batch Instance Name Equal Part Number
- Batch Rename Instances
- BOM Export To CSV
- BOM Export With Materials
- Check Missing Files
- Clash Detection Export
- Export Assembly As STEP
- Export Component Positions To CSV
- Save Child Parts To STEP
- Save Child Parts To STL
- Backup CATIA Settings
- Clear Script Settings
- Clear CATIA Temp Files
- Configure CATIA Version Settings
- Kill CATIA Processes
- Open CATIA Settings Folder
- Reset CATIA Settings
- Restore CATIA Settings
- Set CATIA Environment Variable
- Toggle CATIA No Start Document
Legal