> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ntop.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Perforate with Normal Holes

> AI context for Perforate with Normal Holes. Not linked in navigation.

> This page is for AI assistant context only. To use this package, visit [community.ntop.com](https://community.ntop.com/packages/ntop/perforate-with-normal-holes).

## Summary

Creates a random distribution of normal-direction holes in one or more surfaces.  It lets the user specify an exact quantity of holes that are randomly distributed and somewhat equally spaced.

## Package Details

| Field            | Value                                                                         |
| ---------------- | ----------------------------------------------------------------------------- |
| **ID**           | `perforate-with-normal-holes`                                                 |
| **Type**         | Block                                                                         |
| **Author**       | nTop                                                                          |
| **Version**      | 1.0.0                                                                         |
| **nTop Version** | 5.43+                                                                         |
| **Domain**       | Geometry                                                                      |
| **Complexity**   | Beginner                                                                      |
| **Tags**         | `perforate`, `holes`, `random`, `distribution`, `surface`, `normal-direction` |
| **License**      | MIT                                                                           |
| **Verified**     | Yes                                                                           |

***

Creates a random distribution of normal-direction holes in one or more surfaces.  It lets the user specify an exact quantity of holes that are randomly distributed and somewhat equally spaced.

## Installation

Clone this repo or copy the package folder into your nTop workspace:

```bash theme={null}
git clone https://github.com/nTopology/Utilities.git
```

The package lives at `packages/ntop/perforate-with-normal-holes/`.

## Inputs

| Name                    | Type              | Description                                                                                                     |
| ----------------------- | ----------------- | --------------------------------------------------------------------------------------------------------------- |
| `Outer Hole Diameter`   | Scalar            | Hole diameter on the outer surface(s) of the part.                                                              |
| `Inner Hole Diameter`   | Scalar            | Hole diameter on the inner surface(s) of the part.                                                              |
| `Max Part Thickness`    | Scalar            | Part thickness, which will be the same as the depth of the holes.                                               |
| `Point Count`           | Integer           | Total quantity of holes on the surface(s).                                                                      |
| `Relaxation Iterations` | Integer           | Equalizes point spacing. Larger value will take longer to process but will result in more equally spaced holes. |
| `Thin Wall Body`        | Implicit Body     | Implicit body on which holes are desired.                                                                       |
| `CAD Face(s)`           | list\<brep\_face> | CAD face(s) on which holes will be placed. If using more than 1 CAD face, all faces must be adjacent.           |

## Outputs

| Name         | Type          | Description |
| ------------ | ------------- | ----------- |
| `FINAL Body` | Implicit Body | Output.     |

## License

MIT.

***

## Source

[https://community.ntop.com/packages/ntop/perforate-with-normal-holes](https://community.ntop.com/packages/ntop/perforate-with-normal-holes)
