Skip to main content

Create an html with three.js that contains the given .obj file.

Project description

You can use that lib to create html file from a .obj path:

from obj2html import obj2html
obj2html('model.obj', 'index.html')
# firefox index.html
Colab example

Use in a Jupyter notebook to display a .obj 3D file:

! pip install obj2html
! wget https://gitlab.com/nicolalandro/obj2html/-/raw/main/test/assets/model.obj
from obj2html import obj2html
from IPython.display import display, HTML
obj2html('model.obj', 'index.html')
display(HTML('index.html'))

Use in streamlit app to display a .obj 3D file and create download button:

import streamlit as st
import streamlit.components.v1 as components
from obj2html import obj2html

html_string = obj2html("model.obj", html_elements_only=True)
components.html(html_string)
with open("model.obj") as f:
  st.download_button('Download model.obj', f, file_name="download_name.obj")
Streamlit example

It is also possible to set the scale factor, light and camera options:

camera={
  "fov": 45,
  "aspect": 2,
  "near": 0.1,
  "far": 100,
  "pos_x": 0,
  "pos_y": 10,
  "pos_z": 20,
  "orbit_x": 0,
  "orbit_y": 5,
  "orbit_z": 0,
},
light={
  "color": "0xFFFFFF",
  "intensity": 1,
  "pos_x": 0,
  "pos_y": 10,
  "pos_z": 0,
  "target_x": -5,
  "target_y": 0,
  "target_z": 0,
},
obj_options={
  "scale_x": 30,
  "scale_y": 30,
  "scale_z": 30,
}
obj2html('model.obj', 'index.html', camera, light, obj_options)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

obj2html-0.14.tar.gz (3.7 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page