-
Notifications
You must be signed in to change notification settings - Fork 0
Hole Size Test Plate Generator
File: Shape_Generation_Scripts/Hole_Size_Test_Plate_Generator.py
Version: 1.1
Document Type: Part
Generates a flat rectangular pad with a grid of through-holes of incrementally increasing diameter. Use this plate to test drill bit sizes, pin gauges, clearance fits, or any other hole-dependent process. The grid layout is calculated automatically from the hole count. Settings are saved between sessions.
| Requirement | Value |
|---|---|
| Python | >= 3.10 |
| pycatia | >= 0.8.3 |
| wxPython | Required |
| Open document | Part |
| Hybrid Design Mode | Should be off (script handles this automatically) |
- Open a CATPart document
- Run the script
- The parameter dialog appears — enter your plate and hole parameters (see below)
- Click OK — a progress bar shows while the geometry is being created
- The test plate is added as a new body in the part
| Parameter | Description | Default |
|---|---|---|
| Pad Width | Width of the plate in the X direction (mm) | 300.0 mm |
| Pad Length | Length of the plate in the Y direction (mm) | 300.0 mm |
| Pad Thickness | Height of the plate in the Z direction (mm) | 5.0 mm |
| Number of Holes | Total hole count; layout is calculated automatically | 9 |
| Starting Diameter | Diameter of the first (top-left) hole (mm) | 2.0 mm |
| Diameter Step | Amount each subsequent hole diameter increases by (mm) | 1.0 mm |
Holes are arranged in a rectangular grid, filled left-to-right and top-to-bottom in order of increasing diameter:
-
Columns =
ceil(sqrt(n_holes)) -
Rows =
ceil(n_holes / cols)
Example — 9 holes, start 2 mm, step 1 mm:
[D2] [D3] [D4]
[D5] [D6] [D7]
[D8] [D9] [D10]
A step of 0 creates a grid of identical holes. A negative step creates holes in decreasing order.
| Button | Action |
|---|---|
| OK | Validates inputs and generates the test plate |
| Cancel | Exits without generating |
| Reset Defaults | Restores factory default values (fields flash green) |
| Clear Saved | Deletes the saved user presets file |
| Help | Opens the full in-script user manual |
The dialog shows a live grid preview including cell size and the percentage of the cell used by the largest hole. The script warns or errors if:
- The largest hole uses more than 85% of the cell width (tight fit warning — can proceed)
- The largest hole diameter meets or exceeds the cell size (error — must change values)
- Any hole would have zero or negative diameter (error)
Parameters are saved automatically to:
%APPDATA%\pycatia_scripts\Hole_Size_Test_Plate_Generator\user_presets.json
The next time the script runs, your last-used values are pre-filled in the dialog.
- The plate is centred on the XY plane origin
- The body is named with all key parameters for easy identification (e.g.
Test Plate | 300.0x300.0x5.0mm | 9 Holes | D2.00-D10.00mm | Step:1.00mm) - Each hole is a CATIA Part Design Hole feature (through-all, simple type), named with its index and diameter (e.g.
Hole_01_D2.00mm) - Hole sketches are hidden automatically to keep the feature tree clean
- If an error occurs during generation the incomplete body is automatically deleted and a detailed error report is shown
- Hybrid Design Mode is temporarily disabled during generation if it is on, and restored afterwards
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