Auto-Calc-Pro

Load a DWG or DXF plan, trace the audience areas, stage and obstacles, then write them into an ArrayCalc project. About & licences

File

1 · Drawing

Drop .dwg / .dxf or a picture / PDF of a plan
or click to choose

Section drawing (side view)

Optional: a cross section shown behind the Side view, for matching heights.

LiDAR scan & panoramas

A scan from an iPhone / iPad Pro (Polycam, 3d Scanner App, Scaniverse: export OBJ, PLY or XYZ) gives heights and shapes up close; a 360° panorama taken from a known spot gives heights for what the LiDAR can't reach.
How to scan a venue
You need an iPhone Pro or iPad Pro with LiDAR (iPhone 12 Pro or later), a scanning app (Polycam, 3d Scanner App or Scaniverse), and for far or high areas a 360° camera (Insta360, Ricoh Theta or similar). A tape or laser for one check measurement helps.

1 · Scan

  1. Use the app's LiDAR mode (not photo mode). Good light helps tracking but LiDAR measures in the dark too.
  2. Start on the stage at down-stage centre, phone at chest height, and walk slowly. Keep the floor and the stage front in view at the start: they set z = 0 and the origin.
  3. Walk the aisles and cross-overs, pointing at the seating and floor. LiDAR reaches about 5 m (16 ft), so walk close to each tier; overlap your passes.
  4. Large rooms: scan in sections (stage + floor, then each tier) and load the one you're working on. Long scans drift. ACP Scan's Next section keeps sections lined up together in one export.
  5. From ACP Scan, Send to Mac puts the scan in this tool's inbox (when it runs from Open Auto-Calc-Pro.command): Scan from iPhone: Load appears over the drawing.
  6. Skip what you don't need: ceilings, rigging and empty seats behind you add points, not planes.

2 · Export

  1. Export a point cloud as PLY (best), or a mesh as OBJ; XYZ also works. Menu names vary by app and version: look under Export or Share.
  2. Keep the scale in metres (the default). Leave “Z up” off: Auto picks the up axis.
  3. AirDrop or save it to Files, then Load scan… here (on iPhone and iPad straight from Files).

Or use ACP Scan, the companion iPhone app (in the repo's ios/ folder, installed from Xcode): it lines the scan up in AR with two taps (floor at down-stage centre, then a point into the house) and exports a PLY that opens here already lined up. Then skip to Find planes in scan. Version 2 also colours the scan from the camera: choose Colours: Camera, and Photo layer makes a top-view photo you can show, hide and fade under the drawing.

3 · In the tool

  1. Set origin + direction (2 · Reference): click down-stage centre on the scan, then a point straight out into the house.
  2. Height zero = floor at origin, then Find planes in scan. Delete what isn't audience, rename the rest, check them in Side and 3D.
  3. Planes you draw yourself: select one and Fit selected plane.
  4. Check one distance you measured (e.g. stage width) with Measure before you trust it.

4 · 360° panoramas for what the scan can't reach

  1. The photo must be a full 360° × 180° equirectangular image, twice as wide as high. The iPhone's own Pano mode is not 360° and won't work.
  2. Stand where you can find the spot on the plan (an aisle step, a seat, down-stage centre), level the camera on a stand or monopod, and note the lens height above the floor there.
  3. Make sure down-stage centre and the far tiers are in the shot.
  4. Load 360° panorama…, Set station… (click the spot), type the camera height above z = 0 (add the floor height at the station if it isn't at z = 0), then Set heading… and tap down-stage centre.
  5. When the plane outlines sit on the room, select a plane and use Heights from photo: tap each corner where it really is. Corners far away and well above or below the camera give the best heights.
Line it up: Set origin + direction (2 · Reference), clicking down-stage centre on the scan, then a point straight out into the house.

2 · Reference

ArrayCalc x runs from the stage into the audience; z is up. Click the origin (usually down stage centre), then a point straight out into the house.

AI advisor

Describe the show; the advisor reads the drawing, decides which layers are audience, the stage end, tier heights and kills, and builds the planes.
Needs the free Ollama app running and the model pulled once (e.g. ollama pull gemma3:12b, about 8 GB). Local models are much weaker than Claude at reading venue drawings: check the plan closely.
Anthropic API key
An API key from console.anthropic.com → Settings → API keys (billed to that account).
Sent only to api.anthropic.com. A geometry summary and a plan image are sent, not the DWG.
For testing without your own key: the team server holds the API key (billed to its owner). The address is filled in: ask whoever set it up for the passcode.

Layers

No drawing loaded.

3 · Venue planes

Pick or draw shapes to add planes.
Add plane by numbers (ArrayCalc style)
ArrayCalc coordinates: x from the origin (down-stage centre) into the house, y to house right, z up. Lengths in ft (the Units setting under 1 · Drawing). The dashed preview shows where it goes.
Fill gaps
Finds the uncovered areas between planes and fills them: the band between two bowl rings becomes one exact ring plane; the area between a floor and the bowl around it (or between any two planes you choose) becomes native pieces. The dashed outline shows what will be filled.

Superellipse rings: |x/A|ⁿ + |y/B|ⁿ = 1 around the centre. Circular planes: each edge is an arc reaching A along the axis with radius of curvature B (B = A for a circle about the centre; n unused). Angles from the house (+x) direction.
A (ft)B (ft)n
Inner
Outer
Drag a white corner handle along its edge to make a straight end (it snaps straight across the house; Shift keeps it there; Mirror moves the other end too). The ring stays one ArrayCalc ring; the bit out to the straight end is written as a few native pieces.

ArrayCalc corners (ft)

Laser heights (distance + angle from a station)
Stand at a station, shoot each corner of this plane: type the laser distance and the angle above level (negative = down). Height = station + distance × sin(angle). Fill in “to wall” (a level shot) to also put the corner that far from the station.

4 · Write to ArrayCalc

None chosen: a new project is made from the ArrayCalc default template.

Team files

Files the whole team can open, by venue. Every save is kept as a version. Saving to this computer works as before.
Sign in with your own Dropbox. The team shares one Dropbox folder, so everyone sees the same venues; the files go straight between this browser and Dropbox.
· Sign out
Invite teammates
Dropbox emails them an invitation. They open Auto-Calc-Pro, Connect Dropbox, and pick this folder.

Save

Save puts in what's open in the tool. Add files… (or dropping files and folders here) puts files in as they are: work files in work/, ArrayCalc projects where chosen above, the rest in source/.

Open

Report a problem

New venue wizard