Skip to main content

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


Download files

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

Source Distribution

sh3d_py-0.1.13.tar.gz (3.9 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sh3d_py-0.1.13-py3-none-any.whl (3.9 MB view details)

Uploaded Python 3

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

Hashes for sh3d_py-0.1.13.tar.gz
Algorithm Hash digest
SHA256 d0dae8b8ea71eccbcd302f5c8d43e8fffe1c96be40bf53d26fdf741978f77312
MD5 ab5e64f50042e103d67cb7d77b3f758f
BLAKE2b-256 a3b4bddb66acb403f1a1e46c8f9e9dc01c1c5642a3de0681b9479642c7a73fcd

See more details on using hashes here.

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

Hashes for sh3d_py-0.1.13-py3-none-any.whl
Algorithm Hash digest
SHA256 ee3ba4d09a4d573b23a8953f8fef0c650d4b62161796ab28746fb01d1f9ac2a5
MD5 8e08e70e63e5fda957aaca17430fa221
BLAKE2b-256 c305ada77fe15f3746724571fcf7a3e48a7eadd4ee07aa8db096dec23088cfe9

See more details on using hashes here.

Supported by

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