in 2D view, an option for a level to display all/some levels below

This topic has been viewed 3994 times and has 6 replies
Thread status: Active
Features you would like to see [img]http://www.sweethome3d.com/images/flags/en_small.gif[/img]
Post Reply New Topic
mts749
Posts: 8
Joined: Mon Aug 14, 2023 9:20 pm

in 2D view, an option for a level to display all/some levels below

Post by mts749 »

It would be nice to have a level which displays all (or specific) levels below it regardless of the elevation of those levels.

I would use this feature create a plan view to send to a contractor for a rough estimate. My house has multiple levels on the ground floor due to the terrain on which it was built. For example, the kitchen is 18" above the living room!

In general, this might be useful to others who have a multi-level house with rooms adjacent but not on separate floors (storeys).
User avatar
Keet
Posts: 1807
Joined: Fri Apr 08, 2022 7:13 am
Country: Netherlands

Re: in 2D view, an option for a level to display all/some levels below

Post by Keet »

Since you want to send a plan to a contracter why don't you draw everything on a single level? You could draw vertical dimension lines and add text boxes to mark what areas are elevated and to what extend. Elevations themselves don't show in the 2Dview anyway so why bother? This has also the advantage that you can export the 2Dview to a SVG image and optionally convert that to a jpeg or png for the contracter. The SVG export gives a very sharp image of the 2Dview.
Dodecagon.nl
1300+ 3D models, manuals, and projects
mts749
Posts: 8
Joined: Mon Aug 14, 2023 9:20 pm

Re: in 2D view, an option for a level to display all/some levels below

Post by mts749 »

Well, that might work but that would definitely make the 3D view ugly. Transitions between levels would not show since I could no longer have steps between the levels. And one of the big advantages of the 3D view is the ability to walk through the house and see the lines of sight accurately. Doing everything on one level we would lose that.

I guess I could keep 2 versions of the drawings. The multi-layerd one for my use and then copy and paste into a second file where everything is on one level. This seems error prone since I'd have to remember to update the 2D file every time a change was made to the multi-layered version.

As I understand it, SweetHome it is already calculating what to show on a particular level based the highest elevation of a particular item in a level. For example, I have tall trees in my lower garden level which show up in a level whose elevation is many feet above the elevation of the the tree's level. Since this calculation is already being done in SweetHome I thought it might be a relatively simple fix to alter that logic based on a user-defined option. (I say this as one who has significant experience with Java I realize that what appears to be simple may in fact be very difficult [:)] !)
User avatar
Puybaret
Posts: 9440
Joined: Mon Nov 07, 2005 12:00 pm
Country: Paris, France
Contact:

Re: in 2D view, an option for a level to display all/some levels below

Post by Puybaret »

It’s not complicated and if you’re able to generate a new version of Sweet Home 3D, I can explain you what to change in the program to activate this feature. But sorry, don’t hope for an additional option in the user interface for that.
Emmanuel Puybaret, Sweet Home 3D creator
mts749
Posts: 8
Joined: Mon Aug 14, 2023 9:20 pm

Re: in 2D view, an option for a level to display all/some levels below

Post by mts749 »

Thanks very much for the offer. Could this be done as a plugin?
User avatar
Puybaret
Posts: 9440
Joined: Mon Nov 07, 2005 12:00 pm
Country: Paris, France
Contact:

Re: in 2D view, an option for a level to display all/some levels below

Post by Puybaret »

Change implementation of isViewableAtLevel in PlanComponent class by simply:

Code: Select all

return true;
This will draw everything in the plan.
Emmanuel Puybaret, Sweet Home 3D creator
mts749
Posts: 8
Joined: Mon Aug 14, 2023 9:20 pm

Re: in 2D view, an option for a level to display all/some levels below

Post by mts749 »

Many thanks. I implemented as you suggested and made a minor tweak:

Code: Select all

    Level selectedLevel = this.home.getSelectedLevel();
    if (selectedLevel.getName().equals("All")) {
      return true;
    }
...
This way I only have one level that exhibits that behaviour.

I do have one question though. I managed to compile and run SweetHome3D from within Eclipse but was not able to generate an executable jar file to run independently. I'm pretty sure the issue is related to missing libraries. Is there any documentation on how to generate an executable?
Post Reply New Topic

Who is online

Users browsing this forum: No registered users and 1 guest