WARP-LAB / files_3dmodelviewer

3D Model Viewer for Nextcloud
GNU Affero General Public License v3.0
38 stars 6 forks source link
3d 3d-models cad nextcloud nextcloud-app nextcloud-apps

3D Model Viewer for Nextcloud

3D Model Viewer

Visualise and explore 3D models

Extension Type Notes
3dm Rhino
3ds Autodesk 3D Studio
3mf 3D Manufacturing Format
bim dotbim
brep/brp Boundary Representation
dae Collada
fbx Filmbox
fcstd FreeCAD Standard File Format
glb GL Transmission Format binary
gltf GL Transmission Format separate and embedded
ifc International Foundation Class no XML or compressed
iges/igs Initial Graphics Exchange Specification
obj Wavefront with mtl and textures
off Object File Format
ply Polygon File Format
step/stp Standard for Exchange of Product Model Data
stl Stereolithography Standard Tesselation/Triangle Language ASCII and Binary
wrl Virtual Reality Modeling Language superseded by X3D

Currently the only functionality is basic controls (orbit, pan, zoom), few options for view, camera, environment and model display. See Development notes.

Installation

Nextcloud App Store

3D Model Viewer

Manually

Prebuilt

Build

Development notes

Design

Why? v1r0x/files_3d was used before, however it lacked file support that was necessary for inhouse needs. After evaluating status quo it made more sense to make a new app and rely on well maintained and active engine under the hood.

Nextcloud docs on app building exists, however one can truly start to understand what & how after diving into Nextcloud source. Ain't got time for that, therefore shortcuts were made by inspecting these great existing apps and how they have tackled it (especially Nextcloud offical and featured apps)

Currently this app taps directly in nextcloud/viewer modal, as it was less code lines to mock it up. However after getting to understand how apps tap into Nextcloud the idea is to use the same approach as nextcloud/files_pdfviewer, which is good ol iframe.

Test models

No test files in repo. This loader has been tested by exports provided by various types Blender, Fusion 360, Solidworks, ArchiCAD. There are issues that needs to be addressed in engine.

Additionally browse through these reference files:

Todo

Building

Dependencies

Prefligth

nvm use
npm install

Building for prod

make

Building for dev static

make dev

Building for dev w/ hotreload

Currently NA, see dev notes above.