Skip to main content

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
    

Metadata

Release files for sh3d.py 0.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sh3d.py 0.2.2
File Size Uploaded
sh3d_py-0.2.2.tar.gz 3.9 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for sh3d.py 0.2.2
File Interpreter ABI Platform
sh3d_py-0.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 7.8 MB

Release files / sh3d_py-0.2.2.tar.gz

Download URL sh3d_py-0.2.2.tar.gz
Size 3.9 MB
Tags Source
SHA-256 checksum
How to use checksums
f26900a9b0c0268f48db2df68063112d057cf5fe8338dfbd167478b6ad0ab00e
BLAKE2b-256 checksum
How to use checksums
d8355d85ba9ddf78517143d8111ef5ff47ac7a25044b071d2f4ee21ecf51fd2f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.2

Release files / sh3d_py-0.2.2-py3-none-any.whl

Download URL sh3d_py-0.2.2-py3-none-any.whl
Size 3.9 MB
Tags Python 3
SHA-256 checksum
How to use checksums
7692f18e09f16f316fa13a6a224644a941348f17bd5473bfa9fd8a5f5f9de7e3
BLAKE2b-256 checksum
How to use checksums
aa38c2bc1b3e526f3d1bc4827df6cb3fa85e64435cf61bf5c6c7b652637aafbd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.2

Release history Release notifications | RSS feed

This release

0.2.2 This release

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.13

2 release files

0.1.12

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page