CADImportExport icon indicating copy to clipboard operation
CADImportExport copied to clipboard

List of Formats, Libraries and plugins

Open unitycoder opened this issue 5 years ago • 14 comments

Post links here for (open source) libraries and plugins that could be used in Unity (runtime) CAD Import and Export

Preferred solutions (in this order)

  • c# compatible libraries / frameworks (as sources or dll's)
  • native dll plugins with c# bindings (or possible pinvoke could be used)
  • external simple commandline converter tools (that could be used to convert from cad format(s) into some common formats (fbx, obj..)
  • source from other languages, that could be converted into c#

Common CAD formats that would need runtime importers (see more formats)

  • STEP (i'd consider this high priority, as its one of the most common interchange formats)
  • DWG
  • DXF (would be nice to have 2D layout imports too)
  • STL
  • IFC (would be nice to import meta data also)
  • IGES

unitycoder avatar Nov 05 '20 15:11 unitycoder

I can't help much with libraries. I only remember that PIXYZ was one of the importers that Unity integrated for CAD. Check in the UnityCommunity repository, inside Importers/Exporters section.

Anyway, which is the purpose of this repository?

agarcialeon avatar Nov 05 '20 15:11 agarcialeon

this would be for an open source runtime multiple cad format importers (and later some export formats could be added also).

Pixyz is definitely best solution at the moment (but of course its paid only).

unitycoder avatar Nov 05 '20 18:11 unitycoder

stp

  • import https://github.com/anycad/StpViewer
  • import/export https://github.com/ixmilia/step
  • export https://github.com/drGsus/simple-step-exporter

iges, stp, stl, wrl, 3dxml

  • import https://github.com/i2e-haw-hamburg/cad-in-unity (quite old repo though)

ifc

  • https://github.com/xBimTeam/XbimEssentials

unitycoder avatar Nov 06 '20 12:11 unitycoder

fbx export

  • https://github.com/KellanHiggins/UnityFBXExporter
  • https://github.com/unity3d-jp/FbxExporter
  • https://github.com/Ymiku/UnityFBXExporter

fbx import

  • https://github.com/mpreble/UnityFBXImporter
  • https://github.com/izrik/FbxSharp

fbx import/export

  • https://github.com/hamish-milne/FbxWriter
  • https://github.com/Unity-Technologies/com.unity.formats.fbx
  • https://github.com/Hoetan/FBXImporterExporterForUnity_20181015

fbx, maya export

  • https://github.com/newyellow/Unity-Runtime-Animation-Recorder

unitycoder avatar Nov 09 '20 18:11 unitycoder

Currently working to convert IFC++ (http://www.ifcquery.com/) ( Github: https://github.com/ifcquery/ifcplusplus) Over to C# May take a while. Spent 6 hours last night on it. Apparently one of the ways that he made it efficient was using pointers, so having to connect it back to regular variables is meh. Will try to do pointers as well if @unitycoder can help with that once done. Ill have to label which ones to make as pointers. It def helps to speed it up.

Also reattaching these:

stp

import https://github.com/anycad/StpViewer import/export https://github.com/ixmilia/step export https://github.com/drGsus/simple-step-exporter

iges, stp, stl, wrl, 3dxml

import https://github.com/i2e-haw-hamburg/cad-in-unity (quite old repo though) ifc

https://github.com/xBimTeam/XbimEssentials

fbx export

https://github.com/KellanHiggins/UnityFBXExporter https://github.com/unity3d-jp/FbxExporter https://github.com/Ymiku/UnityFBXExporter

fbx import

https://github.com/mpreble/UnityFBXImporter https://github.com/izrik/FbxSharp fbx import/export

https://github.com/hamish-milne/FbxWriter https://github.com/Unity-Technologies/com.unity.formats.fbx https://github.com/Hoetan/FBXImporterExporterForUnity_20181015

fbx, maya export

https://github.com/newyellow/Unity-Runtime-Animation-Recorder

Rickmc3280 avatar Nov 14 '20 14:11 Rickmc3280

unity assimp wrapper (40+ mesh formats, JT, IFC, STL..) https://github.com/eastskykang/UnityMeshImporter

unitycoder avatar Nov 23 '20 07:11 unitycoder

ifc dotnet https://github.com/xBimTeam/XbimEssentials

unitycoder avatar Jan 13 '22 09:01 unitycoder

tested step importing: (their sample file, or regular small step file)

  • (not working in unity) https://github.com/i2e-haw-hamburg/cad-in-unity
  • (not working in unity) https://github.com/ixmilia/step
  • (works in winform build, but requires license) https://github.com/anycad/StpViewer

unitycoder avatar Jan 13 '22 12:01 unitycoder

STL import (using Rust plugin) https://github.com/unitycoder/UnityRustStl

unitycoder avatar Jan 27 '22 07:01 unitycoder

GLTF importer (exporter not implemented yet) https://github.com/Siccity/GLTFUtility

AlejandroGCr avatar Jan 29 '22 19:01 AlejandroGCr

FBX glTF importer/exporter plug-in and converter https://github.com/cyrillef/FBX-glTF

unitycoder avatar Oct 04 '23 08:10 unitycoder

I'm exploring runtime import and export options for WebGL builds in unity. I've reviewed options like Trilib and various glTF libraries, but they don't meet my requirements. I'm also looking into using Assimp in Unity WebGL. Could you suggest a straightforward and efficient solution? @unitycoder I have one more question does Pixyz supports run time import/export?

anksji avatar Oct 06 '23 14:10 anksji

Pixyz supports run time import/export?

from what i've read, it doesn't work in webgl and that gltf would be the recommended for that.. (but not sure whats current status)

recently tested this https://github.com/eastskykang/UnityMeshImporter for runtime fbx, but the mesh was broken in some parts..

then tried this https://github.com/atteneder/glTFast *this is apparently best glft importer, and it does read quite fast. but the gltf mesh had more parts than the original fbx file and fails on large +3gb files)

unitycoder avatar Oct 06 '23 16:10 unitycoder

Thank you so much

anksji avatar Oct 14 '23 01:10 anksji