All work in qPole happens inside a project. A project holds the poles you accept, the components you place, the component catalog you place them from, and the defaults qPole uses to fill in each pole. A site can have as many projects as you need, and everyone on the site sees them.

A new project ready to start: name, client file, units, default pole spec and an imported pole list.
Before you start
Have your component library ready: a SPIDAcalc client file (.client) or an O-Calc Pro catalog (.pplc). You can add it later, but you need it to place components.
If you have a pole list with your pole numbers, have it ready as a .kml, .csv or .txt file.
Open a project
The project picker sits at the top of the qPole tab.
⊕ (New qPole project) starts a new project.
Select Existing opens a project already on this site.
The pencil (Project settings) changes the open project.

The project picker: New qPole project, the list of existing projects, and Project settings.
On a site with no projects yet, qPole allows you to create your first qPole project with a New qPole project button.
Create a project
- Press ⊕ (New qPole project).
- Type a Project name, for example the job or line name. Names must be unique on the site.

The top of the New qPole project form: project name and tasks.
3. Under Tasks in this project, Pole loading analysis is always on. Inspection / audit is in beta right now – contact lfraser@looq.ai if you want to join the beta program for that feature.
4. Under Profile per task, choose the PLA library, or drop your component catalog file on Import a library — drop it here or browse, then click Done. The library you import becomes the selected one. The required file formats for the library is either .client or .pplc.

Importing a client file. qPole reports how many assemblies it read, and lists anything it couldn't import.
5. Choose Units: Imperial (the default) or Metric.
6. Set the Default Pole Spec:
- Owner: the pole owner from your library. Required when your library lists owners. You cannot edit the options, only select the one you want to work with.
- Species: the most common pole species on this job. The default is SOUTHERN PINE.
- Build spec: how deep the poles are set. The default is 10% + 2 ft: 10% of the pole's length plus 2 ft. Choose Custom… to enter your own percentage and added feet.
7. Under Pole list, drop your pole list on Import a pole list — drop it here or browse (optional). qPole says how many poles it read; they're added when the project is created. The required file format for this step is .kml, .csv, or .txt.
8. Press Start qPole. If the button is greyed out, hover over it to see what's still needed.
qPole creates the project, opens it on the Poles step and shows How a PLA project runs, a short list of the steps. Press Got it to close it.

Pressing Start qPole: the project opens with its detected poles in the pole strip and on the 2D map.
Why the species and build spec matter

Pole specifications include owner, species, and build spec.
qPole measures each pole's height above ground and its groundline circumference from the point cloud. Those two measurements alone don't give you the pole's class and length. qPole also needs:
- the species, because each species has its own ANSI circumference tables, and
- the build spec, because the length of a pole is its height above ground plus the depth it's set at.
With this data, qPole looks up the ANSI class and length for each pole. That's why the project asks for a default species and build spec up front: they give every pole a sensible starting point. Neither is locked in. You can change the species, the setting depth, the class and the length on any pole while you adjust its geometry. See Poles: geometry, species, class and length.
qPole has ANSI class tables for Southern Pine and Douglas Fir. For other species it still measures the pole, but you choose the class yourself.
Import a pole list
A pole list gives qPole your pole numbers. The points in it don't become poles: qPole keeps the detected positions and lets you copy a name from a nearby imported pole onto each detected pole as you work. See Poles: reviewing detected poles.
- KML: each placemark's name becomes the pole number. Owner, class, species, length, and similar fields in the placemark's extended data are read too.
- CSV or TXT: needs a latitude column (latitude, lat, or y) and a longitude column (longitude, lon, lng, long, or x). Optional columns include label or name, id, owner, class, species, length, and elevation. Comma, semicolon and tab separators all work.
If any row has a bad latitude or longitude, the whole file is rejected, with the row number, so you can fix it and try again.
On the 2D map, imported poles show in amber until you link each one to a detected pole.
Change a project later
Press the pencil (Project settings) to open the same form for the open project. You can:
- rename the project;
- change the units, owner, species, and build spec (the new defaults apply to poles you haven't filled in yet);
- import another library, choose which library is active for new components, or remove a library that no component uses;
- import another pole list, and choose to Add to them or Replace them if the project already has imported poles.
Press Save changes. Library imports and removals apply straight away.

Project settings for an open project: its name, tasks and libraries.

Further down: units, the default pole spec, another pole list, and Delete project.
Delete project removes the project and its pole work for everyone on the site. It can't be undone.
Once a component from a library is placed, you can only import more libraries of the same format: .client files in a SPIDAcalc project or .pplc files in an O-Calc Pro project.
