Using WordPress? Every integration here is also available as a plugin. Browse the plugin store →

Coming soon — in testing, not yet released

CAD Viewer

CAD Viewer opens engineering drawings and 3D models held in SharePoint directly in the page — the file is read into the reader’s browser and drawn there, and never uploaded to us.

CAD Viewer is built, and is being tested against real tenants before it is released. Nothing on this page can be bought or embedded yet, and what people ask for is what sets the order things are released in.

meridian-engineering.example/drawings
meridian engineering

CAD Viewer itself, running here: the same bundle the released components load, against sample data of our own invention rather than a customer’s tenant. It is not yet released, so there is no embed key to hand out — this frame uses a public demo key.

Putting it on the page

The pattern it follows.

CAD Viewer is not released, so there is no embed key to hand out and nothing here to paste yet. It is built on the same script-plus-custom-element pattern as every released component, described below.

There is no embed snippet yet

Embed keys are issued when a component is released, and this one has not been. The three parts beside this note are the pattern it already shares with the released components.

  1. The script tag

    One bundle for one component. It defines the custom element and does nothing else — no framework, no build step, and no change to how the rest of the page is built.

  2. The element

    An ordinary HTML tag, placed wherever the component should appear — including inside a page builder’s raw-HTML block, a shortcode, or a template partial.

  3. The embed key

    The key resolves to one configured instance — the Microsoft 365 source, the arrangement, the theme, and the domains allowed to render it. Change any of those and the page itself never has to be edited again.

What it does

How it works

The CAD Viewer component points at one model or drawing in a SharePoint library or a OneDrive folder and renders it in the page: orbit, pan and zoom, fit to view, solid or wireframe shading, a straight-line measurement between two points, and an export of the current view as a single-page PDF. Every format is parsed in the browser by a reader shipped with the component, so the file itself is never sent to a WPI server.

Why it exists

Engineering files sit in the same document library as everything else, and a colleague who needs to look at one either installs a CAD package they will use twice a year or asks somebody to export a screenshot. Both answers are slow, and the second one goes out of date the moment the model changes. Opening the live file in a page removes the export step entirely.

Element
<wpi-cad-viewer>
Reads from
SharePoint document libraries, OneDrive for Business
Arrangements
4 in the builder
Graph access
managed or proxy — the tenant chooses

Arrangements in the builder

  • Full-width viewport, light or dark
  • Solid, wireframe, or solid with edges
  • Toolbar with any of Fit, shading, background, Measure and Export PDF
  • Slow auto-rotate until the visitor takes hold of it

Where it runs

Anywhere you can paste two lines of HTML

A custom element needs no build step and no framework, so where your site is built is not a question you have to answer before this one.

  • WordPress
  • Webflow
  • Squarespace
  • Shopify
  • Wix
  • Astro
  • Next.js
  • Drupal
  • SharePoint pages
  • Plain HTML

Named as examples of places HTML can be pasted. No partnership is implied, none of these are customers, and the marks beside them are our own drawings rather than any vendor's logo. WordPress is the one that gets more than an embed — the same Microsoft 365 jobs also ship as plugins with a Gutenberg block.

In detail

Everything CAD Viewer does.

7 capabilities, every one of them resolved from the embed key rather than written into the page — once the keys are issued.

  1. The file never leaves your tenant

    Every reader runs in the browser of whoever is looking. The component asks Microsoft 365 for the file, the bytes go from Microsoft to that browser, and nothing about the geometry reaches a WPI server — there is no conversion step, no cache of derived models, and no storage of your drawings to secure.

  2. Ten formats, three readers

    Meshes — glTF, GLB, OBJ, STL, FBX, 3MF, PLY and DAE — open immediately, because that reader ships inside the widget. IFC and DXF each have their own reader, downloaded the first time one of those files is opened so that viewing a glTF never pays for them. Solid formats — STEP, IGES and BREP — are not supported: the reader we wrote for them does not work, and we would rather not offer a format than have it fail after you have chosen a file and waited for a download.

  3. The kernels are only downloaded if you use them

    The geometry kernel is large, and somebody opening a glTF never downloads a byte of it. Each reader is a separate file fetched on first use, so the cost of supporting solids is paid by the people opening solids.

  4. Measure between two points

    Pick two points on the model and read the straight-line distance between them, in the file’s own units — and where a file records no units, the readout says so rather than guessing one. Measurement works on 3D solids, not only on 2D drawings.

  5. Export the current view as a PDF

    One page, showing exactly what is on screen when the button is pressed — the angle, the zoom, the shading and the background as they are. It is a picture of the viewport, not a plot layout or a title-block drawing, and the component says so where the option is turned on.

  6. Keyboard as well as mouse

    Arrow keys orbit, plus and minus zoom, F fits the model to the viewport, M starts a measurement and Escape clears it — so the viewer is operable without a pointing device, which a canvas rarely is.

  7. Open it from the library it lives in

    Select a supported file in a SharePoint document library and the command bar offers to open it in WPI CAD Viewer. The list of file types the command offers is generated from the readers that exist, so a file can never be offered and then refused.

Tell us you are waiting on this one.

CAD Viewer is in testing and no release date is announced. What people ask for is what sets the order things are released in, so a sentence about your case is worth more here than a waiting list.

Reaching your tenant

Two ways for us to reach Graph. One of them never lets us.

Every tenant runs in one mode or the other, and the choice belongs to your IT rather than to us. It is the reason this works inside organisations that will not delegate Graph access to a vendor.

managed

We hold the credentials

WPIntegrate runs the client-credentials flow for your tenant. Your administrator grants consent once and is not asked again.

proxy

You hold the credentials

You supply a base URL and an API key for your own gateway. We store that key encrypted at rest and never hold a Graph token at all.

Questions

What people ask about this one.

If yours is not here, ask it — the answers come back from a person rather than a form.

Can we use CAD Viewer yet?

Not yet, and this one is further off than the others. It has never been run against a real tenant, its STEP, IGES and BREP support does not currently work, and it has not been released to customers — so it cannot be created in a customer dashboard or embedded on a site.

Does DWG work?

No, and neither does DWF. Both are proprietary binary formats with no freely licensed reader, and every format this component supports is read in the browser rather than converted on a server. Supporting them is a licensing decision rather than a setting, and we would rather say so than imply otherwise.

Do our files get uploaded anywhere?

No. The component asks our API which file it is pointed at and gets back a short-lived link Microsoft issues; the bytes travel from Microsoft 365 to the browser doing the looking. Our servers never receive the contents of a model, and we store no geometry derived from one.

How large a file can it open?

Complexity, not megabytes — a small dense assembly is harder than a large simple one. Measured parse times, and these are a floor rather than a specification: they were taken in Node with no GPU, on synthetic files, on one machine, and they cover reading the file only — drawing it adds to them. IFC: 20 000 objects in about 0.8 seconds, 60 000 in about 2.7. DXF: 90 000 entities in about 0.6 seconds, 450 000 in about 3.4, and a 1.8 million entity drawing does not open at all. Mesh formats are far cheaper — 4 million triangles parse in about a quarter of a second. There is no server to fall back on, which is the deliberate cost of the file never leaving your tenant. We will republish these measured in a browser, which is the number that actually matters to you.

Do viewers need a Microsoft account?

No. Access is resolved server-side with the tenant’s own Graph credentials, the same way the released components do it, so a visitor opens the model without signing in to Microsoft.