Skip to content
Workbench for FreeCAD to loads or import Autodesk (R) Inventor (R) files.
Python HTML
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Demo-Status fixed netsur and rotsur handling in SAT Jun 6, 2018
Docu Added images for wiki and Workbench Mar 6, 2019
Examples Fixed messed up merge Mar 13, 2019
Resources Started working on iPart editor page Mar 11, 2019
.gitignore irrelevant files (logs, thumbnails & extracted sat files) Oct 14, 2018
Acis.py Reorganized sections in readers. Sep 3, 2019
Acis2Step.py Release Candidate 1 Jul 4, 2019
Icon.ico Added FxKnit Dec 26, 2018
Icon.png Automated installation of site-packages. Oct 25, 2017
Import_IPT.py Release Candidate 1 Jul 4, 2019
Init.py Release Candidate 1 Jul 4, 2019
InitGui.py Added Inventor workbench Mar 5, 2019
InventorViewProviders.py Release Candidate 1 Jul 4, 2019
InventorWorkbench.py Fix API typos May 26, 2019
LICENSE Initial commit Feb 9, 2017
README.md Reorganized sections in readers. Sep 3, 2019
TODOs.md Adjusted camera to fit prewview. Aug 7, 2019
colors.json Some source and comment typos Jul 11, 2018
importerApp.py Code-Review: added material reader. Sep 4, 2019
importerBRep.py Reworked skipping of v2010 block sizes. Sep 3, 2019
importerBrowser.py Reworked skipping of v2010 block sizes. Sep 3, 2019
importerClasses.py Reworked skipping of v2010 block sizes. Sep 3, 2019
importerDC.py Code-Review: added material reader. Sep 4, 2019
importerDesignView.py Reworked skipping of v2010 block sizes. Sep 3, 2019
importerDirectory.py Code-Review: added material reader. Sep 4, 2019
importerEeData.py Reorganized sections in readers. Sep 3, 2019
importerEeScene.py Reworked skipping of v2010 block sizes. Sep 3, 2019
importerFBAttribute.py code review Nov 6, 2018
importerFreeCAD.py Reorganized sections in readers. Sep 3, 2019
importerGraphics.py Code-Review: added material reader. Sep 4, 2019
importerIL.py Reorganized sections in readers. Sep 3, 2019
importerNotebook.py Reworked skipping of v2010 block sizes. Sep 3, 2019
importerOle10Nateive.py Fixed Py2 / Py3 issue Mar 5, 2019
importerReader.py Code-Review: added material reader. Sep 4, 2019
importerResults.py Reorganized sections in readers. Sep 3, 2019
importerSAT.py
importerSegNode.py Code-Review: added material reader. Sep 4, 2019
importerSegment.py Reworked skipping of v2010 block sizes. Sep 3, 2019
importerTransformation.py Added missing object superclass reference for classes. Feb 21, 2019
importerUFRxDoc.py corrected filename in fileheader. Apr 26, 2019
importerUtils.py Reworked skipping of v2010 block sizes. Sep 3, 2019
importer_NameTable.py Code-Review: added material reader. Sep 4, 2019
importer_Style.py
libs.zip fixed bug with wrong init file reference. Jun 28, 2018
metadata.txt Reorganized sections in readers. Sep 3, 2019

README.md

InventorLoader

Loads/Imports: Autodesk (R) Inventor (R) files into FreeCAD (v0.17 or greater). Until now only Parts (IPT) but not assemblies (IAM) or drawings (IDW) or presentations (IPN) can be displayed.

As Inventor files contains a complete ACIS model representation, SAT and SAB files can also be imported into FreeCAD.

Status:

Released 1.0

Screenshots

Demo-Status subdirectory shows examples of this Addon.

Prerequisites

FreeCAD v0.17 or greater required!

This Addon also requires additional python packages:

Installation

Automatic Install (recommended)

Installable via the FreeCAD Addon Manager.
Requires a restart after downloading this addon.

Manual Install

  1. Create a directory in either two locations where FreeCAD searches for addons:
    a. FreeCAD's bin folder, or
    b. in the user's application data (%APPDATA% on Windows) or home (~/) folder (on Linux/MacOS).
  2. Create a Mod subdirectory if one doesn't exist and/or move in to it.
  3. Download the InventorLoader repository as either:
    a. ZIP archive, or via
    b.git clone https://github.com/jmplonka/InventorLoader.git
    and expand its content directly into the FreeCAD subdirectory named Mod.
  4. Start (or restart) FreeCAD

The next time FreeCAD starts new import formats for ACIS' SAT (*.sat) files and Autodesk Inventor's IPT (*.ipt) files as will be available and supported import formats.

Note: Please pre-install the Prerequisite python libraries so that the new packages become available.

Solving installation problems

Sometimes it can happen that the packages can't be installed.

  1. Navigate to the InventorLoader plugin (ILP) folder with your file-browser (e.g. Windows-Explorer)
  2. Extract the libs.zip into the ILP's folder (a new subfolder libs should be created).
  3. Open a command shell (e.g. cmd on windows or sh on linux)
    1. Adapt the PATH variable to point to FreeCAD's python: set PATH="<PATH-TO-FREECAD>\bin";%PATH% (on linux you have to export the PATH variable). Note: Linux and MAC users should use '/' instead of ''!
    2. Change the working folder to ILP's libs folder (e.g. cd <PATH-TO-FREECAD>\Mod\InventorLoader-master\libs)
    3. Run the installation script: python ./installLibs.py This should install the required packages.
  4. Restart FreeCAD

Constraints in Native-IPT Import:

Please disable Dimension constraints in user.cfg:

<FCBool Name="Sketch.Constraint.Dimension.Angle2Line" Value="0"/>
<FCBool Name="Sketch.Constraint.Dimension.Angle3Point" Value="0"/>

Limitations

Export will not be supported - neither to IPT nor to SAT file.

Feature Based Import

ACIS (sat) Native Import

  • Blending surfaces are not yet supported.
  • Helix surfaces are not yet supported for lines.
  • Interpolated curves and surfaces defined by laws are omitted if they don't have a BSpline data.

STEP Conversion Import

STEP converts the ACIS data from SAT or IPT files. Therefore any limitation is inherited.

Autodesk Inventor files have OLE2 files.
This allows embedding Excel workbooks e.g.:

  • The addon is able to read Inventor files from 2010 till 2019.
  • Read the iProperties (Note: only a few can be applied in FreeCAD).
  • Display embedded workbooks as a new spreadsheet when importing as features.
  • Three strategies are provided:
    • feature base: the addon tries to rebuild all the features.
    • SAT based: like STEP file, model will be imported based on FACE, EDGES and VERTICES.
    • STEP based: The ACIS model will be converted into STEP and imported afterwards.

History

1.0.0 (2019-08-26): Reorganized section readers (1.0).
0.18.0 (2019-08-07): Added coloring of single faces and changed to default Inventor campera position (RC2).
0.17.0 (2019-07-04): Missing features added as ACIS models (RC1).
0.16.0 (2019-03-19): Added creation of Shells
0.15.0 (2019-03-07): Added part variant handling (ak iPart)
0.14.0 (2019-03-05): InventorLoader is now a workbench.
0.13.0 (2019-03-01): Added support for Fillets and Chamfers. Segmented variable radius chamfers are not supported by FreeCAD. In such cases please import as STEP instead.

0.12.0 (2019-01-08): Added support for Surface Features "BoundaryPatch" and "Knit". Both features will be displayed with their own icon in the model browser.

0.11.0 (2018-11-06): Added support for Meshes
0.10.0 Added table for iParts.
0.9.5 Added chamfer feature for nativ strategy.
0.9.4 InventorLoader is now compatible with python 2 and 3
0.9.3 Added support of offset surfaces and spring surfaces (circle that is seepted along a helix)

0.9.2 Added named colors to STEP.
0.9.1 Added colors to STEP.
0.9.0 Added conversion to STEP. IPT files can now either be imported:

  • Based on features (nearest to FreeCAD so changing the model is easy)
  • Based on SAT (model is imported based on stored Surfaces and Edges)
  • Based on STEP (SAT model is converted to STEP and imported into FreeCAD using built-in reader)

0.8.1 Fixed support of cone surfaces.
0.8.0 Added handling of Inventor 2019 file format.
0.7.2 Added interpolated surfaces for SAT files.
0.7.1 Added interpolated curves for SAT files.
0.7.0 Added ACIS file format reading for IPT and SAT files.

  • IPT: during import user selectable strategy with thumbnail.

0.6.0 continued working on Features

  • Added Coil as Part::Helix and Part::Spiral with Sweep
  • Automated installation of required site-packages

0.5.5 Maintenance version

  • Fixed wrong creation of boundary wires/faces from sketches
  • Fixed wrong handling of constraints in sketches
  • Code reviewed

0.5.4 continued working on Features

  • Added Sweep as Part::Sweep
  • Added Thicken as Part::Offset
  • Fixed encoding problems regarding filename and Sketch/Feature names

0.5.3 Continued working on Features

  • Added Client as a new group of objects.

0.5.2 Continued working on Features

  • Added Hole as combination of creating Part::Cylinder, Part::Cone(s) and Part::MultiFuse and Part::Cut

0.5.1 Continued working on Features

  • Added Revolve as Part::Revolution
  • Added Extrude as Part::Extrusion
  • Added Loft as Part::Loft
  • Added boolean operations as Part::Cut, Part::MultiFuse, Part::MultiCommon
  • Added Polar-Pattern, Rectangular-Pattern with Draft.makeArray()
  • Added Mirror-Pattern as 'Part::Mirroring'

0.5.0 Preparation for supporting Features (except iFeature)

  • Most sections found in pro samples (2010..2018) are now decoded (structured)

0.4.2 Only Code Review

  • Most sections found in LT samples are now decoded (structured)

0.4.1 Completed parameter management.

  • Parameter table now contains the name, value, formula, tolerance and comment of each parameter

    • Added parameter unit handling
    • Added parameter formulas handling
    • Added parameter operations handling (e.g. '+', '-', '*' and '/')

    Even if operations or functions are not supported by FreeCAD (e.g. modulo operator, signum or random function), parameters will be replaced by their nominal value and unit.

0.4 Added spreadsheet for parameters.

  • Added handling of expressions for parameters
  • Fixed missing placement for 2D-sketches

0.3 Started working on sketches.

  • Added placement to sketches. Sometimes Placements have to "Orientation" references, so that a correct placement is not possible
  • Added pad feature. Maybe this will be changed to Part instead of PartDesign.

0.2 Reading document content now from DC-Segment instead of Graphics-/Browser- Segment

  • Added reading of object names
  • 2D sketch constraints and dimensions

0.1 First "working" prototype.

  • Reading Inventor file Structure
  • Reading compressed data for Model-Segments (e.g. Graphics- and Browser-View)
  • Displaying Sketches
    • Points-2D
    • Line-2D
    • (Arc-)Circle-2D
    • (Arc-)Ellipse-2D
  • Embedded files dumped to export folder

Roadmap (in no particular order)

  • Features like Grave, etc.
  • Features like Fillet, Chamfer, Draft, etc.
  • Preferences page
You can’t perform that action at this time.