Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Previews of native CAD files (Inventor, Solid Edge)

Question: how can TeamCraft show previews of Autodesk Inventor (.ipt, .iam, .idw, .ipn) and Siemens Solid Edge (.par, .psm, .asm, .dft, .pwd) files – the way other PLM systems do? Investigated on 2026-11-04.

How other PLM systems do it

System2D thumbnail3D view
Autodesk VaultInventor writes a thumbnail into the file when saving (512 × 512 since Inventor 2023); Vault does not render anything, it extracts that image at check-invisualization files (DWF/DWFx) published at check-in by the Inventor add-in, or later by the Job Processor, which runs a licensed Inventor
Siemens Teamcenter with Solid Edgethe preview stored in the filethe Solid Edge integration (SEEC) writes JT files through Solid Edge at check-in – Siemens’ recommended practice; the alternative are server-side translation services (Dispatcher) with licensed translators
SolidWorks PDM, PTC Windchill (for comparison)the preview stream of the fileconversion tasks or CAD workers that run the licensed CAD program
Open-source tools, e.g. cad-preview (MIT, JavaScript)read the preview image embedded in the file: Inventor files are OLE compound documents with a PNG in a stream, Solid Edge files OLE compound documents with a Windows DIB thumbnail; old SolidWorks files have a PreviewPNG stream, newer ones a 640 × 480 PNG in their own containernone

The common pattern:

  1. the thumbnail is the image the CAD program stores in the file – the PLM only reads it;
  2. a 3D view is always produced by the CAD program itself or by the vendor’s translator – on the user’s computer at check-in (Inventor add-in, SEEC) or on a conversion server that holds a licence (Job Processor, Dispatcher).

What is possible for an open-source project

OptionFeasible?Decision
Read the embedded preview image on the serveryes – the container is the OLE compound file format documented by Microsoft (MS-CFB, MS-OLEPS); only the image is read (PNG, or a DIB turned into a BMP), no proprietary geometryimplement – pure Rust with the cfb crate (MIT)
Read the native geometry on the server for a 3D viewno – the formats are undocumented; readers exist only as vendor SDKs (Inventor Server / Design Automation, Parasolid, Solid Edge SDK) under commercial licences that cannot be redistributed with an open-source project, and reverse engineering is excluded by the project rulesskip – impossible due to licensing
Conversion server with a licensed CAD program (like the Job Processor or the Dispatcher)needs a licensed CAD installation that converts for everybody; student and education licences are personal and meant for learning, not for a shared conversion serviceskip for the open-source project; an organisation with commercial licences can still do it outside TeamCraft (upload the STEP)
Export through the user’s own CAD installation in the desktop app (like the Inventor add-in for Vault or SEEC for Teamcenter)yes – on Windows, when every user has Inventor or Solid Edge installed under their own licence (student licences included, within their terms)implement – the desktop app asks the local CAD program for a STEP export next to the native file; the STEP is checked in with it and shown by TeamCraft’s pure-Rust 3D preview

How the desktop export works:

  • Inventor (COM automation, the documented API also used by iLogic): open the document invisibly and Document.SaveAs("…\part.stp", True) – Inventor picks its STEP translator by the extension (for options the STEP translator add-in {90AF7F40-0C01-11D5-8E83-0010B541CD80} with SaveCopyAs).
  • Solid Edge: SolidEdgeTranslationServices.exe -i part.par -o part.stp -t step, the command-line translator installed with Solid Edge; or COM automation (SolidEdge.Application, Documents.Open, SaveAs with a .stp name, like the interactive Save As → STEP).
  • TeamCraft contains no Autodesk or Siemens component and redistributes nothing; it only starts features the user’s own licence already includes.

Licence notes

  • Autodesk education licences are for learning, training and research – no commercial, professional or for-profit use. Universities read club use differently (the University of Freiburg, for example, lists club and association use as not covered). Each team has to check its own case with the current Autodesk terms or its university.
  • Solid Edge Student Edition is free for active students and intended for academic course work; its files cannot be opened in commercial versions of Solid Edge.
  • Inventor Read-only Mode (part of every Inventor installation) and Inventor View (with Vault or standalone) open files without consuming a licence, but they are viewers – they cannot be automated for exports.

Status

  • Embedded preview images – implemented: src/thumbnail.rs (OLE compound files through the cfb crate, PNG or DIB → BMP, cached in previews/), GET /files/{id}/thumbnail (web and REST API), shown on the revision page and in the desktop app. Tested with generated files in the layouts described above, not yet with real Inventor, Solid Edge or SolidWorks files. Update: tested with the NIST files in tests/fixtures/cad – Inventor 2021, NX 1980 and SOLIDWORKS 2018. In SOLIDWORKS 2015+ files the PNG is not stored as such but in a Deflate-compressed PreviewPNG section of their own container; it is inflated by src/swpart.rs.
  • STEP export through the local CAD program – implemented in the desktop app (desktop/src/cadexport.rs): STEP button in the workspace and Create STEP exports … first at check-in; Inventor and Solid Edge through COM automation from Windows PowerShell. The Windows code compiles for x86_64-pc-windows-gnu, but it was not run against a real Inventor or Solid Edge – that needs a Windows computer with one of them.

Sources