|
Sweet Home 3D Forum » List all forums » » Forum: New versions » » » Thread: Furniture Library Editor released |
||
| Print at Dec 20, 2025, 6:40:31 PM |
|
|
| Posted by Puybaret at Dec 27, 2023, 7:45:59 PM |
|
Re: Furniture Library Editor released Last version is currently 2.0, available here and is still a JAR executable file requiring that you install Java or that you reuse the java executable bundled with Sweet Home 3D installer. ---------------------------------------- Emmanuel Puybaret, Sweet Home 3D creator |
| Posted by mbuie at Dec 30, 2023, 3:11:53 PM |
|
Re: Furniture Library Editor 2.0 Thank you for the update. After edits are made I save to new file. Delete program files from user. Install the new sh3f file. *** Shows multiple folders (categories) with my files, although I have saved them as only one category. Names are not changing. (oven, oven = oven 1, oven 2) *** Is this a bug or are files somehow marked not to move from category? |
| Posted by Keet at Jan 12, 2024, 6:08:26 PM |
|
Re: Furniture Library Editor 2.0 Found a little glitch: The column Model Size doesn't order according to the model sizes. ---------------------------------------- Dodecagon.nl 1300+ 3D models, manuals, and projects |
| Posted by Puybaret at Jan 12, 2024, 7:01:33 PM |
|
Re: Furniture Library Editor 2.0 Thanks for reporting this issue. It will be fixed in the next release. ---------------------------------------- Emmanuel Puybaret, Sweet Home 3D creator |
| Posted by artwhitehead at Apr 2, 2024, 2:23:49 AM |
|
Re: Furniture Library Editor 2.0 Downloaded the latest version and seem to be having a problem when trying to load my library. Going back to version 1.28, I'm having the same problem, so it may have something to do with Java. When I click Open Library, the load dialog is very slow and I can't change directories. If I click on Import Furniture, no dialog box comes up at all. I ran the program from the console and generated the following log file: Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: Comparison method violates its general contract! at java.util.ComparableTimSort.mergeHi(Unknown Source) at java.util.ComparableTimSort.mergeAt(Unknown Source) at java.util.ComparableTimSort.mergeCollapse(Unknown Source) at java.util.ComparableTimSort.sort(Unknown Source) at java.util.Arrays.sort(Unknown Source) at sun.awt.shell.Win32ShellFolderManager2.get(Unknown Source) at sun.awt.shell.ShellFolder.get(Unknown Source) at com.sun.java.swing.plaf.windows.WindowsFileChooserUI$DirectoryComboBoxModel.addItem(Unknown Source) at com.sun.java.swing.plaf.windows.WindowsFileChooserUI$DirectoryComboBoxModel.access$800(Unknown Source) at com.sun.java.swing.plaf.windows.WindowsFileChooserUI.doDirectoryChanged(Unknown Source) at com.sun.java.swing.plaf.windows.WindowsFileChooserUI.access$1100(Unknown Source) at com.sun.java.swing.plaf.windows.WindowsFileChooserUI$11.propertyChange(Unknown Source) at java.beans.PropertyChangeSupport.fire(Unknown Source) at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source) at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source) at java.awt.Component.firePropertyChange(Unknown Source) at javax.swing.JFileChooser.setCurrentDirectory(Unknown Source) at sun.swing.WindowsPlacesBar.actionPerformed(Unknown Source) at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) at javax.swing.JToggleButton$ToggleButtonModel.setPressed(Unknown Source) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$500(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.WaitDispatchSupport$2.run(Unknown Source) at java.awt.WaitDispatchSupport$4.run(Unknown Source) at java.awt.WaitDispatchSupport$4.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.awt.WaitDispatchSupport.enter(Unknown Source) at java.awt.Dialog.show(Unknown Source) at javax.swing.JFileChooser.showDialog(Unknown Source) at javax.swing.JFileChooser.showOpenDialog(Unknown Source) at com.eteks.sweethome3d.swing.FileContentManager.showFileChooser(Unknown Source) at com.eteks.sweethome3d.swing.FileContentManager.showOpenDialog(Unknown Source) at com.eteks.furniturelibraryeditor.FurnitureLibraryEditor$1.showOpenDialog(Unknown Source) at com.eteks.furniturelibraryeditor.viewcontroller.EditorController$2.run(Unknown Source) at com.eteks.furniturelibraryeditor.viewcontroller.EditorController.open(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.eteks.sweethome3d.swing.ControllerAction.actionPerformed(Unknown Source) at com.eteks.sweethome3d.swing.ResourceAction$AbstractDecoratedAction.actionPerformed(Unknown Source) at com.eteks.sweethome3d.swing.ResourceAction$AbstractDecoratedAction.actionPerformed(Unknown Source) at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.setPressed(Unknown Source) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source) at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$500(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) |
| Posted by Puybaret at Apr 2, 2024, 10:39:53 AM |
|
Re: Furniture Library Editor 2.0 This must be due to a bug in Java, but it should be fixed in the coming version of the editor. Meanwhile you should run the editor from the command line to define the java.util.Arrays.useLegacyMergeSort to true, with a command of the form: java -Djava.util.Arrays.useLegacyMergeSort=true -jar /path/to/FurnitureLibraryEditor-2.0.jar---------------------------------------- Emmanuel Puybaret, Sweet Home 3D creator |
| Posted by artwhitehead at Apr 2, 2024, 10:06:22 PM |
|
Re: Furniture Library Editor 2.0 Perfect! Thank You. That did the trick. |
| Posted by Keet at May 5, 2024, 10:08:54 PM |
|
Re: Furniture Library Editor 2.0 At the top of the PluginFurnitureCatalog.properties file in a .sh3f file you can add a few library properties. The ones I know of: id= name= description= version= license= provider= Since you can't add a custom property that is preserved when you save the file in the library editor I wondered if there are other properties that are supported? Second question: How do you remove a planicon other than manually editing the properties file and removing the image from the .sh3f zip? ---------------------------------------- Dodecagon.nl 1300+ 3D models, manuals, and projects |
| Posted by Puybaret at May 6, 2024, 10:42:53 AM |
|
Re: Furniture Library Editor 2.0 Since you can't add a custom property that is preserved when you save the file in the library editor I wondered if there are other properties that are supported? No it's the only supported properties for a library. Custom properties are for pieces of furniture, not the library itself.How do you remove a planicon other than manually editing the properties file and removing the image from the .sh3f zip? Sorry, there's no other way for the moment. I simply didn't think about it when I programed this feature.---------------------------------------- Emmanuel Puybaret, Sweet Home 3D creator |
| Posted by Keet at May 11, 2024, 6:38:26 PM |
|
Re: Furniture Library Editor 2.0 Would it be possible to have the Furniture Libary Editor generate a new catalog icon when you rotate the preview icon in the modify dialog? Every property is correctly saved except a change in the perspective of the preview icon. I know I can set a custom icon but that seems a little overkill. In most cases a simple replace with the preview that is shown is sufficient (unless of course a custom icon is set). ---------------------------------------- Dodecagon.nl 1300+ 3D models, manuals, and projects |
|
|
|
Current timezone is GMT Dec 20, 2025, 6:40:31 PM |