Sweet home 3D file format implementation in python
Project description
sh3d.py
Python library for reading Sweet Home 3D file format (*.sh3d). Internally sh3d is just another zip archive with JavaObject dump (as Home) and XML dump (as Home.xml) and attached files, this library supports reading them all and provides corresponding python objects representing sh3d data.
Install
pip install sh3d.py
Usage
Loading full data from Home JavaObject dump
from sh3d.FileLoader import FileLoader, HomeSource
# Default is parsion of JavaObject Home
with FileLoader('myHome.sh3d') as file_loader:
# Dump home, ~all models are dataclasses so you will actually see full readable dump
print(file_loader.home)
# Load home from Home.xml instead
with FileLoader('myHome.sh3d', home_source=HomeSource.XML) as file_loader:
# Dump home, ~all models are dataclasses so you will actually see full readable dump
print(file_loader.home) # Home object
Home object structure
class Home:
name: str
version: int
wall_height: float
levels: List[Level] # Implemented, represents list of Home plan levels
furniture: List[HomePieceOfFurniture] # Implemented, represents list of furniture including doors and windows as HomeDoorOrWindow object that is child of HomePieceOfFurniture
rooms: List[Room] # Implemented, represents list of rooms
walls: List[Wall] # Implemented, represents list of walls
dimension_lines: List[DimensionLine] # Implemented, represents list of dimension lines (measurements)
labels: List[Label] # Implemented, represents list of labels (texts)
polylines: List[Polyline] # Implemented, represents list of polylines
background_image: BackgroundImage # Implemented, represents background image
environment: HomeEnvironment # Implemented, represents home environment / config
compass: Compass # Implemented
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sh3d_py-0.1.13.tar.gz.
File metadata
- Download URL: sh3d_py-0.1.13.tar.gz
- Upload date:
- Size: 3.9 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d0dae8b8ea71eccbcd302f5c8d43e8fffe1c96be40bf53d26fdf741978f77312
|
|
| MD5 |
ab5e64f50042e103d67cb7d77b3f758f
|
|
| BLAKE2b-256 |
a3b4bddb66acb403f1a1e46c8f9e9dc01c1c5642a3de0681b9479642c7a73fcd
|
File details
Details for the file sh3d_py-0.1.13-py3-none-any.whl.
File metadata
- Download URL: sh3d_py-0.1.13-py3-none-any.whl
- Upload date:
- Size: 3.9 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ee3ba4d09a4d573b23a8953f8fef0c650d4b62161796ab28746fb01d1f9ac2a5
|
|
| MD5 |
8e08e70e63e5fda957aaca17430fa221
|
|
| BLAKE2b-256 |
c305ada77fe15f3746724571fcf7a3e48a7eadd4ee07aa8db096dec23088cfe9
|