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

# Examples

> Real-world examples using LuminiCAD

## Scripting Examples

### Mounting Plate with Holes

```text theme={null}
// Create base plate
base = CREATE RECTANGLE ORIGIN 0 0 0 SIZE 200 150
CREATE PRISM SECTION $base LENGTH 5

// Create a corner hole
hole = CREATE CIRCLE CENTER 15 15 0 RADIUS 3 NORMAL 0 0 1
CREATE PRISM SECTION $hole LENGTH 5

// Create opposite corner hole
hole2 = CREATE CIRCLE CENTER 185 15 0 RADIUS 3 NORMAL 0 0 1
CREATE PRISM SECTION $hole2 LENGTH 5

// Create remaining corner holes
hole3 = CREATE CIRCLE CENTER 185 135 0 RADIUS 3 NORMAL 0 0 1
CREATE PRISM SECTION $hole3 LENGTH 5

hole4 = CREATE CIRCLE CENTER 15 135 0 RADIUS 3 NORMAL 0 0 1
CREATE PRISM SECTION $hole4 LENGTH 5
```

### Patterned Cylinder

```
// Create main cylinder
base = CREATE CIRCLE CENTER 0 0 0 RADIUS 30 NORMAL 0 0 1
CREATE PRISM SECTION $base LENGTH 60

// Create feature hole
hole = CREATE CIRCLE CENTER 25 0 0 RADIUS 5 NORMAL 1 0 0
CREATE PRISM SECTION $hole LENGTH 60

// Create additional holes at different angles
hole2 = CREATE CIRCLE CENTER -25 0 0 RADIUS 5 NORMAL -1 0 0
CREATE PRISM SECTION $hole2 LENGTH 60

hole3 = CREATE CIRCLE CENTER 0 25 0 RADIUS 5 NORMAL 0 1 0
CREATE PRISM SECTION $hole3 LENGTH 60

hole4 = CREATE CIRCLE CENTER 0 -25 0 RADIUS 5 NORMAL 0 -1 0
CREATE PRISM SECTION $hole4 LENGTH 60
```

### Wire Frame Structure

```text theme={null}
// Create vertical lines
line1 = CREATE LINE FROM 0 0 0 TO 0 0 100
line2 = CREATE LINE FROM 100 0 0 TO 100 0 100
line3 = CREATE LINE FROM 100 100 0 TO 100 100 100
line4 = CREATE LINE FROM 0 100 0 TO 0 100 100

// Create base rectangle
base1 = CREATE LINE FROM 0 0 0 TO 100 0 0
base2 = CREATE LINE FROM 100 0 0 TO 100 100 0
base3 = CREATE LINE FROM 100 100 0 TO 0 100 0
base4 = CREATE LINE FROM 0 100 0 TO 0 0 0

// Create top rectangle
top1 = CREATE LINE FROM 0 0 100 TO 100 0 100
top2 = CREATE LINE FROM 100 0 100 TO 100 100 100
top3 = CREATE LINE FROM 100 100 100 TO 0 100 100
top4 = CREATE LINE FROM 0 100 100 TO 0 0 100
```

## Text-to-CAD Examples

### Simple Bracket

```text theme={null}
"Create an L-shaped bracket that is 100mm tall and 75mm wide, 
with a thickness of 8mm. Add four 6mm mounting holes, 
positioned 10mm from each edge."
```

### Electronics Housing

```text theme={null}
"Create a rectangular box 200mm long, 150mm wide, and 50mm tall. 
Add ventilation holes 5mm in diameter arranged in a grid pattern 
on the top surface. Space the holes 15mm apart."
```

### Machine Part

```text theme={null}
"Create a cylindrical shaft 100mm long and 30mm in diameter. 
Add a 5mm deep groove around the middle, 3mm wide. 
At each end, create a 10mm long section reduced to 25mm diameter."
```

### Mounting System

```text theme={null}
"Design a wall mount consisting of a 150mm by 150mm square plate, 
8mm thick. Create four countersunk holes for M6 screws in the corners, 
20mm from the edges. In the center, add a cylindrical boss 40mm in 
diameter and 25mm tall."
```

<Tip>
  When using the scripting interface, break down complex shapes into simple commands
  and use variables to store intermediate results for reuse.
</Tip>

## Combining Approaches

### Text-First, Script-Refined

1. Start with text description:

```text theme={null}
"Create a cylindrical container 100mm tall and 80mm in diameter 
with regularly spaced vertical reinforcement ribs"
```

2. Refine with scripting:

```text theme={null}
// Create main cylinder
base = CREATE CIRCLE CENTER 0 0 0 RADIUS 40 NORMAL 0 0 1
CREATE PRISM SECTION $base LENGTH 100

// Add reinforcement rib
rib = CREATE RECTANGLE ORIGIN 40 -2.5 0 SIZE 5 5
CREATE PRISM SECTION $rib LENGTH 100

// Create additional ribs at different angles
rib2 = CREATE RECTANGLE ORIGIN -45 -2.5 0 SIZE 5 5
CREATE PRISM SECTION $rib2 LENGTH 100

rib3 = CREATE RECTANGLE ORIGIN -2.5 40 0 SIZE 5 5
CREATE PRISM SECTION $rib3 LENGTH 100

rib4 = CREATE RECTANGLE ORIGIN -2.5 -45 0 SIZE 5 5
CREATE PRISM SECTION $rib4 LENGTH 100
```

<Note>
  More examples will be added regularly based on user feedback and common use cases.
</Note>
