Everything BATCAD does today

Grouped by area, written against the running application. If something is not built yet it is at the bottom of this page rather than left out of it.

Drawing and symbols

The canvas is built for controls work: pan and zoom with a grid, a minimap, and a palette of BAS parts rather than generic shapes.

43 built-in BAS and HVAC symbols
Controllers, field devices, air handling units, VAV boxes, variable frequency drives, coils, fans, dampers, pumps, valves, chillers, boilers, duct fittings and wall sensors. Each carries its own port template, so a symbol arrives already knowing what connections it has.
Manufacturer device faceplates
Assign a part number and the device swaps to that product's own faceplate artwork and terminal layout, seeding its ports and size from the vendor drawing. Twenty catalog parts ship with authored faceplates today; a part without one still places, wires and counts toward the bill of materials as a generic device.
BACnet MS/TP addressing on controllers
A faceplate that declares itself a BACnet MS/TP device exposes an editable MAC address constrained to 0 through 127, and prints that address on the device on the drawing. Thirteen of the twenty shipped faceplates declare it.
Drag and drop component palette
A floating palette groups every symbol by category: Common, Wiring, Schematic, Ductwork, Water Side, Sensors and Floor Plan, with nested subgroups. It pins open or collapses out of the way.
Automatic device tagging
Dropping a component gives it a conventional tag straight away: CTL-001 for a controller, VAV-002 for the second VAV box, TE-001 for a temperature sensor from the Sensors palette. Wires you draw are numbered W-001 and smart cables C-1. Tags stay editable.
Symbol library browser
A standalone page outside the workspace renders every symbol as a live card with its category, per-side port counts, signal types, description and a copy-the-identifier button.
Annotation tools
Rectangles, circles, arrows, diamonds, lines, freehand strokes and rich text boxes, each on a single-key shortcut, with a live dashed preview while you drag.
Zones and rooms
Draw a zone as a polygon over the floor plan, number and name it, and reshape it by dragging its vertices. A device dropped inside picks that zone up as its field location.
Copy, paste and select all
Ctrl+C, Ctrl+V, Ctrl+A and Delete work as expected, and the same actions sit on the canvas right-click menu.
The BATCAD Symbol Library page listing symbols as live-rendered cards grouped by category, each showing its drawing, identifier, per-side port counts and signal types.
Every symbol in the library, with its ports and signal types on the card.

Wiring, signals and ductwork

A wire in BATCAD is not a line. It has a signal type, a gauge, conductors and two ends that land on specific terminals.

Signal-typed, colour-coded wiring
AI, AO, BI, BO, NET, PWR, AIR and WATER each carry their own stroke colour, so a network run reads apart from a power run at a glance. The colours are drawing data, not brand styling, and each clears the 3:1 contrast floor for a non-text graphic.
Wire gauge specifications
Build a gauge from an AWG size, a conductor count and shielded, twisted-pair or plenum flags. It prints on the drawing in the standard 18/4 SH form.
Conductor split fork markers
Show a multi-conductor wire breaking out into individually labelled tines at either end, with per-conductor labels, left or right column assignment, polarity flip, and the option to hide one side.
Wire, signal and pipe edge types
A connection can be set to WIRE, SIGNAL or PIPE. Pipes render as a coloured fluid core inside a dark casing with an editable diameter and GPM, and hydronic runs can be re-routed by dragging.
Junctions, terminal strips and smart cables
Place a labelled junction dot, a multi-port terminal block, or a smart cable drawn as a linked pair of breakout ends that share one tag and conductor list. Editing one cable end mirrors the other.
Junction map identifiers
Give two or more junction dots on the same sheet the same map identifier and BATCAD traces power between them as one connection, with no wire drawn. The inspector offers every identifier already used anywhere in the project and lists the partner junctions on the current sheet. A gate does not carry a net across sheets: a map id matched only on another sheet is flagged as connecting to nothing.
Port editing and port groups
Rename, reorder, add, remove, group and reposition any device's ports. Each carries a signal type, direction, side, polarity and a field verification status, and symbol-defined ports are protected from deletion.
Ductwork on its own layer
Duct runs sit behind the wiring on one unified canvas, routing orthogonally with rounded elbows into each fitting's wall openings. A duct connection cannot be wired to an electrical port by accident.
Smart wiring generators
From a controller sheet, generate a field wiring diagram with a conduit run and one field device per I/O point, or a point-to-point sheet carrying wire numbers and gauges.

Floor plans and sheet setup

Controls drawings sit on top of somebody else's architectural set. Getting that underlay in should not be a morning's work.

Floor plan extraction from an MEP PDF
Import a plan straight from a busy architectural or MEP PDF. BATCAD reads the page's vector geometry, finds the plan region, clusters the line weights to work out which ones are walls, and shows a preview where you toggle weight bands before committing.
Multi-page plans to one sheet per page
Take a multi-page floor plan PDF and assign each page to its own sheet in a single pass. Sheets that need creating are created; existing sheets have their underlay replaced without disturbing what is drawn on them.
Image underlay with exact placement
Drop a plain floor plan image behind the diagram and set its exact X, Y, width, height and opacity. It sits under every node and scales with the canvas.
Drawing boundary and title block
Turn on a dashed sheet border at a set width and height and stamp a title block carrying project, company, sheet number, revision, date, initials, designer, description and your organisation's logo.
Per-sheet revision table
Each sheet keeps its own revision rows with letter, date, description and initials, pre-filled from the project and the sheet, and they print in the title block.
Project document viewer
Open any uploaded project PDF in the left panel with page navigation and zoom in, zoom out and fit-to-width controls, alongside the canvas.

Validation and power

Two engines run over the drawing: one that checks it is complete, and one that checks it will not destroy hardware.

Rule-based drawing validation
Run a pass over the active sheet and get blockers and warnings grouped by severity. Clicking an issue zooms the canvas to the device it names and draws a dashed outline around it.
What the rules check
Unknown symbol types, missing or still-default labels, devices with no manufacturer part number, every unconnected port, and controllers with no power port connected. The part-number rule is suppressed for anything marked By Others, Existing or excluded from the BOM.
Export gated on blockers
PDF export of the sheet or of the whole set is disabled while the last run reported any blocker, behind a banner reading Resolve all validation blockers before exporting.
Power load budget with 80 percent derating
Model what each device draws in Watts for DC or VA for AC and what each transformer or supply delivers, wire them on the normal PWR ports, and the engine walks the galvanic net from each source and raises a blocker when it passes the 80 percent limit.
Over-voltage burn detection
Each load is checked against the specific terminal its wire lands on. Feeding a device more volts than that terminal is rated for raises a blocker reading over-voltage, this will burn the device, and a wrong voltage class is caught the same way.
Live fault glow on the canvas
A device that will burn, a source that is overloaded, or a source past its 80 percent limit gets a coloured ring and a corner badge on the drawing itself, recomputed on every edit rather than at export time.
Power spec editors
Enter a device's draw and unit, its nominal and maximum voltage and its AC or DC class, and a supply's rating, output voltage, class and derate percentage. Per-terminal ratings have an editor in the inspector, but the collaborative save path does not store them yet, so they do not survive a sync.
The BATCAD Validation tab listing three blockers and forty warnings, with the offending devices ringed in dashed red and orange on the canvas behind it.
Blockers and warnings, each one clickable straight to the device it names.

Bill of materials and procurement

The schedule is not a separate document that drifts out of step. It is a view of what is on the sheets.

BOM derived from the drawing
The workspace BOM tab rolls up the devices placed on the active sheet, grouped by part number, with quantity, vendor, unit price and install hours joined from the catalog.
Whole-project bill of materials
A read-only project-level page served by the backend, with material cost and labour cost per line and for the job as a whole.
BOM table block on the drawing
Drop the derived schedule onto the sheet itself as a resizable, collapsible table showing part number, name, vendor and quantity, so it prints with the drawing.
Procurement status flags per device
Mark a device By Others, Existing, Exclude from BOM or Field Verified. The first three drop it out of the bill of materials, the labour estimate and the power rollup together.
Parts catalog
A searchable device catalog with part number, name, vendor, category, sub-category, unit price, install labour hours and an optional per-part labour rate override, filterable by category, sub-category and vendor.
Organisation overrides on a shared catalog
Two tiers: a shared global catalog every organisation can read, and your own rows on top. Editing a global part clones it into your organisation rather than changing anyone else's copy.
Purchase orders
Snapshot a project's current bill of materials into a purchase order, then track every project's orders with vendor count, total price, labour hours and status. The detail page groups line items by vendor with subtotals.
Assign a part from the canvas
Right-click a device, or use the Properties panel, to open a searchable part picker filtered by category and sub-category, and stamp its part number onto the device.
The BATCAD Purchase Orders page showing portfolio tiles for open orders, open value, items needing attention, critical path lead time and savings available, above a table of orders by project with vendor counts, line counts, totals, out-of-stock flags, longest lead time and expected delivery.
Purchase orders across the portfolio, with lead times and out-of-stock lines.

Labour estimating

Hours come off the catalog. Speed comes off the person. The two are deliberately kept apart.

Organisation default hourly rate
One organisation-wide default hourly rate, editable on the Labour page. Design engineering, software, system specification and electrical install each have their own rate that costing honours once it is set, but BATCAD ships no editor for them yet, so today every discipline runs on the default.
Person roster with rate factors
Name the people on your crew, each scoped to one discipline, each carrying a single number: a rate factor that multiplies the hours their work takes. A factor of 1 is the normal pace every catalog hour is quoted at, and 0.5 finishes the same work twice as fast.
A person is a multiplier on hours, never a rate
What an hour costs stays the part's rate override, or failing that the organisation rate. Keeping speed and price separate is what stops a fast engineer from silently looking cheap.
Crew picker for what-if scenarios
Pick one person per discipline and every labour number on the screen re-costs against them instantly. The selection is session-only and never written to the server, because it is a scenario lever rather than an assignment.
Sheet and project level estimates
Hours and cost per part line, a split across the four disciplines, hours by vendor, and a blended effective rate, both for the open sheet and for the whole project.
Per-part labour rate overrides
A specialised installation can carry its own hourly rate on the catalog part, which then wins over the discipline and organisation rates for that line.
The BATCAD Labour settings page showing a default hourly rate, four discipline rates, and a roster of three people with rate factors of 0.80, 0.50 and 1.00 described as 1.3 times faster, 2.0 times faster and normal pace.
The org labour roster. One number per person, and it multiplies hours.

Collaboration and history

Live multi-user editing, running in production. No checkout, no Save button, no lost afternoon.

Live multi-user sheet editing
Two or more engineers open the same sheet and draw at the same time, with each change appearing on the other screens in under a second. Edits merge rather than collide.
Presence cursors and a collaborator roster
Other people appear as named, coloured cursors moving over the drawing, each with a stable colour derived from their user identifier. A stack of avatars in the top bar shows who is present, capped at four with a plus-N overflow.
Continuous autosave with an honest status line
There is no Save button and no unsaved-changes warning. The top bar states which of All changes saved, Connecting, or Not saved since a specific time with a count of unsent changes actually applies.
A dropped connection does not lose work
Each sheet you open while connected is kept in the browser's local database, so if the link drops while you are working the tab keeps accepting edits and merges them back automatically when it returns. Reloading the page or opening a sheet while offline gives you a read-only canvas, because BATCAD paints a sheet only once the collaboration server has synced.
Automatic checkpoints with attribution
Every sheet keeps a running history of checkpoints, newest first, showing when each was taken and which people contributed. Attribution is captured at the moment of the edit rather than inferred later.
Named versions
Label the sheet exactly as it stands so a milestone such as an issue-for-construction can be found again. Named checkpoints are never thinned by retention.
Restore, and compare before you do
Hovering a checkpoint shows what restoring it would change, counted as items added, removed and modified against your current canvas, with pure symbol moves excluded so the count means something. Restore is applied forward, so the state just before it is saved automatically.
Finalizing a project makes its sheets read-only
A project can be finalized from the projects list, which makes every sheet in it read-only for everyone and names who holds the edit lock. Moving a project to Procurement Locked turns every sheet read-only the same way.

Organisations, teams and access

Multi-tenant from the ground up, with permissions rather than job titles deciding what anyone can do.

Isolated organisations, over one shared catalog
Projects, sheets, teams, people, documents and history all belong to one organisation and are never visible to another. The parts catalog is the deliberate exception: BATCAD maintains a global catalog every organisation can read, while the parts you add, and any edit you make to a global part, stay private to your organisation.
Sign in with username at organisation
You sign in with a username plus your organisation handle rather than an email address, so a username only has to be unique inside your company and the same person can hold accounts in more than one organisation.
Cookie sessions with theft protection
Both the access and refresh tokens ride in HttpOnly cookies that page scripts cannot read, and the session renews itself in the background so a long drawing session does not drop out. The access token is additionally returned in the login and refresh response bodies and held in memory, because the collaboration WebSocket has to authenticate with it. Replaying a stolen refresh token revokes the whole session family.
Teams that own projects
People are grouped into teams, and a team owns the projects its members can reach. Each member carries a team role, so the same person can be a designer on one job and a viewer on another.
Permission-gated interface
The interface only offers actions the server would actually allow, and the same check applies to live editing: the collaboration server asks the API what you may do on that specific sheet before letting you in.
User directory and role management
One table of everyone in the organisation with name, username, email and roles. Someone who has not accepted their invitation shows an Invitation pending badge. An admin can change a person's organisation role from the team members view.
Admin insights
An admin-only tab of organisation health: people who belong to no team and therefore see no project, teams with no leader or only one, live and expired invitations, and active, invited and suspended seat counts.
Organisation profile and logo
Set the company display name and upload the logo. It appears in the app chrome and is stamped onto every drawing's title block.
The BATCAD Organization page on the Teams tab, showing a Controls Engineering team with four members and their team roles of Leader, Designer, Procurement and Viewer alongside their organisation roles.
Team roles decide project capability. Org roles are a separate scope.

Projects and delivery

The dashboard is where drawing, procurement and labour meet, and where the deliverable leaves.

Projects dashboard
A filterable, sortable, paged list of every project you can reach, with attention tiles that link straight to the rows they count and portfolio cards for committed spend, open orders, labour hours, labour cost and labour share.
Project creation
Create a project against the team that will own it, with vendor, job number, priority, submittal, substantial completion and install start dates, tags, and the assigned and supervising engineers. After creation the only lifecycle control in the app is finalizing the project with an edit lock and releasing that lock again.
Finalize and procurement lock
A project lead can finalize a project with an edit lock and release it again. Separately, someone with ordering authority can move an approved project to Procurement, which makes every sheet read-only.
Sheets and folders
Drawings are organised into folders, labelled Documents in the app, that you can create, rename and delete. The sheets inside them can be created, deleted, ctrl-click multi-selected and moved between folders from right-click menus, though a sheet's name is fixed once it is created.
Documents straight to storage
Upload the job's specs and drawings with real transfer progress. Files go from the browser straight to object storage with a short-lived signed link, so a large PDF does not pass through the application.
Multi-page PDF export
Export the current sheet, or every sheet as one multi-page PDF with a progress readout. Page size follows the drawing boundary, and the title block and organisation logo are stamped on each page.
Sheet and folder JSON bundles
Export a sheet or a whole folder as a versioned JSON bundle and import one back into an open project. Imports mint fresh identifiers and repair node shapes from earlier builds, so older bundles still open.
Documented REST API
The whole platform runs on one documented HTTP API covering identity, organisations, teams, invites, projects, sheets and folders, diagrams, revision history, documents, parts and labour, and the bill of materials.
The BATCAD Projects dashboard with attention tiles for active, overdue and needs-review projects, portfolio cards for committed spend, open orders and labour, and a filterable project table.
One home screen for the portfolio, from drawing status to committed spend.

Not built yet

Stated here so nobody finds it out on a call. Several of these were advertised on an earlier version of this website; that was wrong, and this is the correction.

Automatic schematic generation from a specification set
In development, not shipped, and not connected to the deployed app. The pipeline that reads a spec PDF and emits sheets runs today as a standalone service in our lab. In BATCAD itself the Agent Mode entry point is commented out, and the Documents panel's Generate diagrams button runs a canned progress animation that leaves no sheets you can open.
Point schedules and BACnet point tagging
Not a feature of the product. A points table exists in the data model and in the generation prototype, but there is no point schedule page, tab or export today.
Gap reports
Not a feature of the product. The nearest shipped equivalent is the Validation tab, which lists blockers and warnings against the open sheet.
Source-page traceability back to the drawing set
Not shipped. There is no click-through from a symbol, a point or a BOM line to the page of the source PDF it came from. The only source-page link that exists is on an imported floor plan.
DXF and SVG export
Neither exists. Drawings leave as PDF, or as JSON bundles for moving sheets between projects. If your deliverable must arrive as a native CAD file, BATCAD is not a drop-in replacement yet.
Undo and redo on the canvas
Not built. Reverting means restoring a checkpoint from the History tab, which puts the whole sheet back rather than stepping back one action.
Self-service signup, trials and password reset
None of these exist. Accounts are created by an administrator and a password is set once, when an invitation is accepted, so we set your organisation up with you.
Actual-hours time tracking against the estimate
Not built. BATCAD estimates installation labour; it does not record time worked or compare it back against the estimate.

Read the frequently asked questions

Put it in front of a real drawing set

The fastest way to judge BATCAD is to watch a sheet from one of your own jobs get built in it. Send a note and we will set up a walkthrough against your drawings, your parts and your rates.

Prefer email? Write to msabry@batcad.net.

Book a walkthrough