2021-11-13 07:18:04 -07:00
|
|
|
[![pipeline status](https://gitlab.com/nicolalandro/obj2html/badges/main/pipeline.svg)](https://gitlab.com/nicolalandro/obj2html/-/commits/main)
|
2021-11-13 07:04:00 -07:00
|
|
|
[![coverage report](https://gitlab.com/nicolalandro/obj2html/badges/main/coverage.svg)](https://gitlab.com/nicolalandro/obj2html/-/commits/main)
|
|
|
|
|
2021-11-13 06:26:55 -07:00
|
|
|
# Obj2Html
|
|
|
|
This lib is able to transform an .obj file to HTML that use three.js.
|
|
|
|
In this way it is possible to have an interactive 3D view that can be used on the browser or into a jupyter notebook.
|
|
|
|
|
2021-11-14 07:41:53 -07:00
|
|
|
Install with `pip install obj2html` and use with `obj2html('model.obj', 'index.html')`
|
|
|
|
|
2021-11-13 08:15:35 -07:00
|
|
|
![](imgs/colab_sample.png)
|
|
|
|
|
2021-11-13 06:55:57 -07:00
|
|
|
* run into jupyter notebook
|
|
|
|
```
|
2021-11-13 08:15:35 -07:00
|
|
|
! pip install obj2html
|
|
|
|
! wget https://gitlab.com/nicolalandro/obj2html/-/raw/main/test/assets/model.obj
|
2021-11-13 06:55:57 -07:00
|
|
|
from obj2html import obj2html
|
|
|
|
from IPython.display import display, HTML
|
|
|
|
|
2021-11-14 07:41:53 -07:00
|
|
|
obj2html('model.obj', 'index.html')
|
2021-11-13 06:55:57 -07:00
|
|
|
|
|
|
|
display(HTML('index.html'))
|
|
|
|
```
|
|
|
|
|
2021-11-13 06:26:55 -07:00
|
|
|
## Features
|
2021-11-13 06:57:56 -07:00
|
|
|
|
2021-11-13 07:00:47 -07:00
|
|
|
- [x] .obj files support
|
2021-11-13 08:28:57 -07:00
|
|
|
- [x] pipy delivery
|
|
|
|
- [x] guide for notebook
|
|
|
|
- [x] pypi doc add image
|
2021-11-14 07:41:53 -07:00
|
|
|
- [x] edit html positions and other 3D params
|
2021-11-13 08:28:57 -07:00
|
|
|
- [ ] dist wheel
|
2021-11-13 06:57:56 -07:00
|
|
|
- [ ] load three.js as static file
|
|
|
|
- [ ] .mat files support
|
2021-11-13 06:26:55 -07:00
|
|
|
|
2021-11-13 06:55:57 -07:00
|
|
|
# Dev
|
2021-11-13 07:33:54 -07:00
|
|
|
|
|
|
|
* run test
|
2021-11-13 06:55:57 -07:00
|
|
|
```
|
|
|
|
python3.8 -m unittest discover
|
2021-11-13 07:33:54 -07:00
|
|
|
```
|
|
|
|
* run test with coverage
|
|
|
|
```
|
2021-11-13 06:55:57 -07:00
|
|
|
pip install coverage
|
|
|
|
python3.8 -m coverage run --source=src -m unittest discover
|
|
|
|
python3.8 -m coverage report -m
|
|
|
|
```
|
2021-11-13 07:33:54 -07:00
|
|
|
* deploy pipy
|
|
|
|
```
|
2021-11-13 08:28:57 -07:00
|
|
|
pip install twine
|
2021-11-13 08:04:16 -07:00
|
|
|
|
|
|
|
rm -rf dist
|
|
|
|
|
2021-11-13 07:33:54 -07:00
|
|
|
python setup.py sdist
|
2021-11-13 08:04:16 -07:00
|
|
|
twine check dist/*
|
|
|
|
|
2021-11-13 07:33:54 -07:00
|
|
|
twine upload dist/*
|
2021-11-13 08:28:57 -07:00
|
|
|
|
|
|
|
# in one line
|
2021-11-13 07:33:54 -07:00
|
|
|
```
|
2021-11-13 06:55:57 -07:00
|
|
|
|
2021-11-13 06:26:55 -07:00
|
|
|
# References
|
|
|
|
In this chapter I add at least a link for each of the knowledge needed for develop this project.
|
|
|
|
* python
|
|
|
|
* git
|
2021-11-13 07:18:04 -07:00
|
|
|
* [how to write a setup.py](https://medium.com/@joel.barmettler/how-to-upload-your-python-package-to-pypi-65edc5fe9c56)
|
2021-11-13 06:26:55 -07:00
|
|
|
* python test
|
|
|
|
* coverage
|
|
|
|
* gitlab ci/cd
|
|
|
|
* three.js
|
2021-11-14 01:12:37 -07:00
|
|
|
* [pymustache](https://github.com/lotabout/pymustache): for using html template, but in the end I use replace with similar sintax
|