Skip to content

Import/export options for Sweet Home 3D files #174

Description

@pabloab

Until Pascal Editor, the almost only FOSS was Sweet Home 3D, which is build on Java, have a web version and is available on Win/Mac/Linux (even a Flatpak is available). It is very complete and powerful, but the UI is a bit clunky and dated.

Following related issues (158, 145) would be great to have the possibility to import/export directly a .sh3d file.

SH3D are essentially ZIP archives that store 2D and 3D views of house plans, including furniture models, textures, lighting information, and camera positions. The internal structure of an SH3D file includes a Home.xml (formerly was used Home, a Java Object Serialization file), ContentDigests (SHA-1 hashes of images and models) and some numbered files and directories for JPEG, MTL, and OBJ files.

Activity

  1. kleenkanteen commented on Mar 25, 2026

    @kleenkanteen
    Contributor

    @pabloab am curious, how do you use Sweet Home 3D professionally?

  2. pabloab commented on Apr 1, 2026

    @pabloab
    Author

    @kleenkanteen I use SH3D for home renovations. All professionals I know aren't FOSS advocates, and mostly use AutoCAD suite or SketchUp. Pascal Editor seems a modern alternative of SH3D. Maybe could be used/adapted for wood/cabinet builders.

  3. gr2m commented on Apr 13, 2026

    @gr2m

    Would love a way to import sketchup files somehow, maybe through a standard 3d file? I'd love to use an open source/web based version to create a digital twin for my house, and the Pascal Editor looks really great! Bravo

  4. Aymericr commented on Aug 4, 2026

    @Aymericr
    Contributor

    Good writeup — the format breakdown is what makes this actionable, so thanks for doing that work up front.

    Same answer as I just gave on #158, and .sh3d is arguably the best candidate of the import requests because of what you documented: it's a ZIP with a declarative Home.xml describing walls, rooms, furniture and cameras. That's a structural description mapping fairly directly onto Pascal's node schemas, rather than the geometry-recovery problem that DXF and IFC are. Walls with start/end/thickness/height are close to a one-to-one with Pascal's wall nodes.

    The shape to build it in is the pair the repo already uses for IFC:

    So: packages/sh3d-converter + apps/sh3d-converter. Being able to preview and inspect before importing matters as much here as it does for IFC.

    Two notes from reading the format description:

    • The furniture catalog is the interesting problem, not the geometry. SH3D references its own catalog pieces plus embedded OBJ/MTL. Pascal items are GLB from its own catalog, so a converter has to choose between mapping to the nearest Pascal catalog item (loses fidelity, gains editability) or converting the embedded OBJ to GLB (preserves the model, produces items that don't behave like catalog items). Probably both, as an option. Worth deciding before writing much code.
    • Export to .sh3d is a much weaker case than import, and I'd leave it out. Import brings work into Pascal from a tool people are migrating off; export means maintaining a writer for a format whose consumer is the app they left. If you want a round-trip out of Pascal, GLB export already exists and IFC is the better long-term interchange target.

    On @gr2m's SketchUp question: .skp is closed and versioned, so its own converter isn't likely. SketchUp exports glTF/OBJ/DAE, and Pascal imports GLB today — that's the practical route for a digital twin, though you get meshes rather than editable walls. If what you want is editable geometry, IFC out of SketchUp through apps/ifc-converter gets closer.

    Labeling enhancement + help wanted. #145 is closed; #158 is the DXF sibling of this. Keeping this open — happy to review a packages/sh3d-converter PR and point at the right core APIs.

  5. Aymericr commented on Aug 5, 2026

    @Aymericr
    Contributor

    Cross-link: I've posted a format-import cluster index on #158 — it lists every import thread (DXF/DWG, Sweet Home 3D, IFC, RVT, blueprint) and the two-package shape any new converter should follow, so a contributor starting on Sweet Home 3D doesn't rediscover it: #158 (comment)

    Nothing changes here. Still help wanted, no work started. Sweet Home 3D is arguably the easiest of the set to start with — .sh3d is a zip containing an XML document, so there's no binary geometry kernel to wrangle the way IFC and DXF need one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesthelp wantedExtra attention is needed

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions