Print at Jan 31, 2026, 10:59:19 AM
Posts: 52   Pages: 6   [ Previous Page | 1 2 3 4 5 6 | Next Page ]
View all posts in this thread on one page
Posted by Puybaret at May 1, 2023, 9:11:12 PM
Re: Sweet Home 3D JS Online
I forgot to mention textures libraries. Actually, it works more or less the same with SH3T files and the two additional texturesCatalogURLs / texturesResourcesURLBase to configure application JavaScript variable in index.jsp.

For example, if you try with Contributions.sh3t available here saved in SweetHome3DJS root folder and Tomcat installation folder in /Applications/apache-tomcat-9.0.41, the following PropertiesToJson command will extract .json and texture image files :

java -cp tools/json/lib/json-20190722.jar:tools/json/src com.eteks.sweethome3d.json.PropertiesToJson . Contributions.sh3t /Applications/apache-tomcat-9.0.41/webapps/SweetHome3DJS-7.1/lib/resources Contributions /Applications/apache-tomcat-9.0.41/webapps/SweetHome3DJS-7.1/lib/resources/textures/Contributions lib/resources/textures/Contributions true

Comparing with the PropertiesToJson command previously used for furniture libraries, you just need to change file and folder names.

Then, adding the Contributions library to the configuration of JavaScript application in index.jsp will give:

var application = new SweetHome3DJSApplication(
{furnitureCatalogURLs: [urlBase + "/lib/resources/DefaultFurnitureCatalog.json",
urlBase + "/lib/resources/BlendSwap-CC-0.json"],
furnitureResourcesURLBase: urlBase + "/",
texturesCatalogURLs: [urlBase + "/lib/resources/DefaultTexturesCatalog.json",
urlBase + "/lib/resources/Contributions.json"],
texturesResourcesURLBase: urlBase + "/",
readHomeURL: urlBase + "/readHome.jsp?home=%s",

and adding it to the textures libraries managed by user preferences in writeHomeEdits.jsp will lead to the following declaration:

serverUserPreferences = new ServerUserPreferences(
new URL [] {new URL(serverBaseUrl, "lib/resources/DefaultFurnitureCatalog.json"),
new URL(serverBaseUrl, "lib/resources/BlendSwap-CC-0.json")}, serverBaseUrl,
new URL [] {new URL(serverBaseUrl, "lib/resources/DefaultTexturesCatalog.json"),
new URL(serverBaseUrl, "lib/resources/Contributions.json")}, serverBaseUrl);

Good luck!
----------------------------------------
Emmanuel Puybaret, Sweet Home 3D creator

Posted by son87a at May 4, 2023, 4:32:09 PM
Re: Sweet Home 3D JS Online
I see the model file can be in zip format, I thought it is possible to add a password to zip the file to protect my proprietary model files? Do you have any suggestions?

Posted by Puybaret at May 4, 2023, 6:01:19 PM
Re: Sweet Home 3D JS Online
You could grant the right to download 3D model zip files only to some identified people.
If needed, the URLs in furniture libraries can be more complex URLs which call a service on the server, similarly to the service specified by readResourceURL property in application configuration on the Online version of this server. It uses the JSP page readResource.jsp?path=xxx to ensure that only a given user can access to the resources he imported.
----------------------------------------
Emmanuel Puybaret, Sweet Home 3D creator

Posted by Puybaret at May 4, 2023, 11:16:44 PM
Re: Sweet Home 3D JS Online
And about protecting your model file with a password, this is not possible because JSZip doesn't support this feature yet, and even when it will be supported, Sweet Home 3D JS would need that password to decode the model files.
Therefore, the password would have to be available somewhere in the configuration of Sweet Home 3D JS, making it also available to anyone wanting to find it.
----------------------------------------
Emmanuel Puybaret, Sweet Home 3D creator

Posted by Puybaret at Sep 7, 2023, 8:31:44 PM
Re: Sweet Home 3D JS Online
Hello,

I’m happy to announce that I just released two new apps based on Sweet Home 3D JS, one for iOS and the other for Android.
As explained in this article, these apps don’t require a connection to Internet to work and are able to import and export SH3D / SH3X files to share your designs on another smartphone, tablet or computer where Sweet Home 3D is installed or within a browser running Sweet Home 3D Online.



These apps are not free but remain based on the free version of Sweet Home 3D JS that I improved with the following features:
- A new About dialog box was added and replaces the status bar in the Online version.
- Sweet Home 3D JS now includes some new APIs to store home data using IndexedDB storage with auto recovery management.
- Drag and drop support was added to images import process of the Online version.
- Panes in Online version under tablets are now arranged the same way as in desktop version.
- Application "sandwich" menu of the Online version is displayed in a separate div to ensure it's always visible in the toolbar.
- Sort and Display column menus were added on tablets.
- Combo boxes closing was fixed.
- The last touched point is now used as the final point when wall, room, polyline and dimension creation tools are used and the user clicks on another tool.
- Keeping the finger on a button of the 3D navigation panel on touch device now repeats rotation or zoom.

All these changes were released in Sweet Home 3D JS 7.1.2, still based on Sweet Home 3D 7.1 and can be tested in Sweet Home 3D Online which was updated too.

Hope you'll like this new version smile
----------------------------------------
Emmanuel Puybaret, Sweet Home 3D creator

Posted by JonnyD at Sep 7, 2023, 9:32:51 PM
Re: Sweet Home 3D JS Online
I’ve just bought it 😁

Posted by Puybaret at Sep 8, 2023, 2:33:57 AM
Re: Sweet Home 3D JS Online
Thanks JonnyD. Hope you’ll like it and find it useful!
----------------------------------------
Emmanuel Puybaret, Sweet Home 3D creator

Posted by Paul6552 at Apr 3, 2024, 4:45:04 PM
Re: Sweet Home 3D JS Online
This is wonderful software. Thanks for that. Although I dont need the app, I'm going to buy the app today to give you some support!

Why are you actually developing two programs? Once as an installation and once on the web?

Isn't it incredibly time-consuming to maintain/develop two things?

Is the project somewhere on Github? I'm a Javascript / React developer myself and maybe I can contribute something.

Posted by Puybaret at Apr 6, 2024, 2:16:07 PM
Re: Sweet Home 3D JS Online
Thank you Paul.

The two JS solutions don't provide the same way to save files: the Online version saves your design on sweethome3d.com server, whereas the App stores applications save them in local files (IndexedDB or plain files) without the need of a connection to Internet and registration.

This takes some time to develop these solutions, but this was interesting to develop and the App stores sales bring some revenues which help me to spend more time on improving and maintaining Sweet Home 3D.

The project isn't on GitHub, but on SourceForge.
----------------------------------------
Emmanuel Puybaret, Sweet Home 3D creator

Posted by TwistedLincoln at Sep 25, 2024, 4:11:52 PM
Re: Sweet Home 3D JS Online
Recently after a server reboot, the JS applet no longer saves changes to the home. Instead every time it's loaded it reverts to the state it was before the reboot. Everything else on the Tomcat server works fine. I checked the file permissions on the .sh3d file and they are correct.

Any idea what might be going on or where I should start looking? This hasn't happened before in the many months I've had this install running, so I'm not sure what could have changed.

Posts: 52   Pages: 6   [ Previous Page | 1 2 3 4 5 6 | Next Page ]