Background
I will use a square room for my example and I have a simple blueprint as an example.
Currently when you draw around a room you have to:
- start the wall 1/2 the thickness away from the line on the blueprint because the wall draws from the middle
- make sure you go 1/2 the width more than the end of the wall shown on the blueprint to make sure when you turn the corner the wall you are drawing hugs the line of the wall on the blueprint
- This is how it has been since the software was developed. Our human brain has to do a little bit of work.
This was also mentioned (sort of) here https://sourceforge.net/p/sweethome3d/feature-requests/375/
Solution - Draw by the edge
I propose an option for the wall drawing tool to allow a user to draw by the edge of the blueprint/wall. This would remove some of the guessing out.
This method allows rooms to be 'wrapped' and for smooth joints to be created whilst following pre-drawn rooms from a background blueprint.
- The draw point of the wall will stay in the middle of the wall
- A minimum length of a the wall created using the method is 1/2 the thickness of the wall.
- The real draw point is offset from the crosshair that the user is using to trace the wall on the blueprint by: 1/2 thickness from the middle of the wall, 1/2 thickness behind the draw point
- This wall drawing tool would now have the modes (Left Edge/Normal/Right Edge).
- When in the right or left mode, there would be a modified cursor.
- The cursor would be fixed against the edge of the wall unlike currently where the crosshair can move somewhat along the leading edge of the wall
I have included some images
Conclusion
I think this is doable in theory, I am not sure about the code behind this. The main thing is that there is a pre-defined offset and a minimum length of the wall that allows this technique to work.
EXACTLY the issue I have with the wall tool! There should be a preference setting for this behavior.
A variation of this idea would be to add a "add walls" to the room tool to create walls around the parameter of a room on the outside edge of the segments of the room.
You can already create walls around a room by double-clicking in it with wall creation tool.
See https://www.youtube.com/watch?v=b7tpTT5EMG0
Please click the thumbs up button :)
sorry, didn't see it, I blocked custom fonts.
I created a draft version already five years ago, but missed to publish this.
Updated the code for current svn.
Alignment of the wall can be changed between left, middle (default), right.
When changed to middle, files stay compatible with unpatched version.
Please give this patch a try.
there are a lot of similar requests, which I believe would be solved with this.
https://sourceforge.net/p/sweethome3d/feature-requests/765/
https://sourceforge.net/p/sweethome3d/feature-requests/1129/
https://sourceforge.net/p/sweethome3d/feature-requests/71/
https://sourceforge.net/p/sweethome3d/feature-requests/1052/
https://sourceforge.net/p/sweethome3d/feature-requests/1059/
https://sourceforge.net/p/sweethome3d/feature-requests/919/
https://sourceforge.net/p/sweethome3d/feature-requests/750/