Joined: Jul 21, 2025
Post Count: 1
Status:
Offline
Custom object properties support for SH3D furniture items
Hello everyone,
I am currently looking to adapt the Sweet Home 3D tool (and specifically focusing on the Online JavaScript conversion) to match our projects use case more accurately.
The main aspects I would like to adjust would be: 1. Adding additional fields that hold persistent data for furniture objects (HomePieceOfFurniture objects) 1a. Optionally these custom fields be able to support list objects assigned with a popup (perhaps similar to the texture selection popup) 2. Having this additional data be saved into and fetched from .sh3d files 3. Being able to have different "Modify furniture" popup panels based on the specific furniture type selected (currently bookcases for example will have the same list of properties as boxes, I would like these to have different properties available, at least in the UI) 4. Having clear getters and setters for these new properties that can be used when working with custom built plugins
I will mention that I've looked and adapted parts of this code for both the Java and the JavaScript versions, however, I do appear to have issues identifying the entire flow of event handlers (listeners/emitters) that would be called when modifying the properties of an object.
Thanks in advance for your feedback, advice, or instructions!
Netherlands
Joined: Apr 8, 2022
Post Count: 1511
Status:
Offline
Re: Custom object properties support for SH3D furniture items
Interesting idea and some have been on the wishlists for multiple members, for example a transparency slider on the material dialog.
Different dialogs for different types of furniture is more problematic. Basically, "furniture" is a 3D mesh object and looking at it that way a bookcase is the same as a box. Most dialogs are already adaptive. For example the property "Light power" appears when there is a light defined for an object. And a button "Modify openings" appears when there are deformations defined for the object.
Take a look at the Furniture Library Editor . This is a separate application and the most recent versions have an extended set of properties you can add to an object. You can even add your own properties so your problem may already have been solved. Although these custom added properties have no reference in the base Sweet Home 3D program they can be used by plugins that can use them because they can "know" about them. Of course this does require that furniture is added to a library before the extra properties become available, the obj/mtl model definition doesn't support these.
---------------------------------------- Dodecagon.nl 1300+ 3D models, manuals, and projects