Building Walls
-
Does anyone know of a good plugin for building walls from lines please (or can create one)? I want to be able to trace along the centreline of a series of connected and unconnected walls (house, castle etc) and convert the lines to walls in one step. The lines will all be on one horizontal plane, not up and down.
I have tried all of the plugins I could find both here, in the Ruby Depot and Smustard and none of them do the job properly.
- Multiwall tool, Double line 2 and Pathcopy only do a single path. They cannot handle T junctions. Multiwall tool also textures both the inside and outside of walls
- Walls-from-lines does not handle non-right angle junctions properly.
- Extrude lines then Joint push-pull can do T junctions but requires push-pull first in one direction then the other and does not delete the original wall outlines, resulting in hundreds of redundant lines on the top and bottom surfaces and internally. It also regularly causes SU (7) to crash when lots of faces are selected. It also pulls some faces out at strange angles to the original walls, not parallel to them. It also leaves many faces reversed.
-Curves-to-walls-1.3 reverses many faces, cannot handle T junctions and often does not generate a top face. - All of them generate faces on the bottom, which are redundant for GE modelling.
- Most of them leave the original lines in place.
- Various other plugins have one or more of the above problems.
Attached is a sample file showing the lines then the desired wall to be created in one step. (Wall shifted 30m right so both can be seen but should obviously be generated where the lines are.)
None of the current plugins are able to create the shown wall, even in multiple steps let alone in one step. All required major modification to the model after doing what they could do.
With all of the brilliant plugins out there (animations, spirals, bending groups into curves etc) I cannot believe that something as seemingly simple as this has not been done.
It isn't even necessary to extrude the wall. All that really needs to be built is a copy of the top face of the wall where the original lines are, as shown. The pull tool can then be used to build the wall.testwall.skp
-
Hi pmolsen:
I uploaded the image so others can see without opening the file.
After long thought I believe there is no easy or foolproof way of doing this in sketchup. There are plenty of trick to do 2d offset of simple line geometry in sketchup. however yours goes beyond that. It is important to note that sketchup doesnt have a native 2d offset tool and I dont know a tool that can achieve that.
my suggestion are the following:
1._ If this line comes from a 2d CAD software then it would be a lot easier to do a 2d offset there and then import it to sketchup.
2._ If you draw the line in sketchup then I would advise you to change your workflow to use a few sketchup tricks.
We need to know a bit more to help you.
-
That looks like what StreetGen does - with fillet set to 0...
I suppose that could be made into a separate tool... -
Hi Pmolson
Clff notes on a short course for wall building 1A.
First do a blockout for wall lines using a construction line tool
My choice is cline.rb (JimFolz)
http://sketchuptips.blogspot.com/2008/02/plugin-construction-line-tool.html
Change from construction lines to wall layout lines for selection and wall build.
Select line (and curves) for wall build using the ExtrudeAlongPathV3.rb
http://rhin.crai.archi.fr/RubyLibraryDepot/plugin_details.php?id=136
This will create a wall with thickness, wall height, and alignment as settings.
The wall sections are created as groups and can combined as needed using a
2-boolean tool.
%(#0000FF)[Bootools $
SU 8 pro $
OSCoolean free]That's all folks
Cheers and good luck
dtr Architect
-
Thanks for the suggestions.
DTR Arch, Extrude along path is no better than the various other plugins that I mentioned. It can only handle a single path. It cannot handle T junctions, and it creates a redundant bottom face. It means you have to run it numerous times and each time you run it you get overlapping lines at the intersections with previous geometry. It also takes forever to select all the individual line segments and build from them.
Diegog321, I realise that there is no native way of doing it, but then again there is no native way of doing animated gifs in Sketchup, or converting bmp height maps to terrain, but there are brilliant plugins to do those sort of things. I cannot imagine that doing simple line offsets could be as complex as things like that.
PS. the image above is not quite correct. The second one does not have the line down the middle. It is a mirror of the top face of the third one.
-
Extrude Edges by Offset function that would turn those centre lines into faces after inputting offset value. Then all you need to do is push/pull. Maybe if TIG is reading he can explain why my proposal is impossible. But it's a feature I'd love to have but for different reasons than your problem.
-
That is exactly what I need. A plugin to "widen" all selected lines into faces of a given width and delete all redundant lines at the intersections.
-
Pmolsen
You are just a little quick to judge.
The boolean mode will join for a T if you need to.
There is always some cleanup especially for the free stuff.
Also flatten to 2d is another work-around.
Works for me. so you figure.dtr
-
@dtrarch said:
Pmolsen
You are just a little quick to judge.
The boolean mode will join for a T if you need to.
There is always some cleanup especially for the free stuff.
Also flatten to 2d is another work-around.
Works for me. so you figure.dtr
Dtrarch,
Please find attached the beginnings of the model I have just started working on. It represents about 0.5% of the total final model. Can you please quickly turn it into walls 2.5m high x 0.4m wide for me and let me know how long it takes.detailed walls.skp
-
For the benefit of others, here is the full detailed process for building walls from lines. It looks worse than it is. Once everything has been set up it takes less than a minute to generate walls from a series of lines.
- The walls do not have to be simple paths. They can be as complex as you like with multiple inter-connected branches and junctions like a maze.
- They do not have to meet at right angles.
- There can be multiple disconnected sections of lines.
-
Install Citygen Core from http://forums.sketchucation.com/viewtopic.php?f=180&t=19492 (CityGen Core.zip)
Unzip the lot into sketchup/plugins, specifying "Use Folder Names" -
Install Streetgen plugin from http://forums.sketchucation.com/viewtopic.php?f=180&t=19493 (CityGen - StreetGen.zip)
Unzip the lot using "Use Folder Names" into sketchup/plugins/citygen/modules (The instructions on the above page refer to the "citygen module folder" which is a bit misleading.) -
If you are doing complex walls install Joint Push/Pull plugin from http://forums.sketchucation.com/viewtopic.php?f=323&t=6708
Unzip the lot into sketchup/plugins. -
Change the StreetGen defaults: (not really necessary)
- Open parameters.html from sketchup/plugins/citygen/modules/street_gen/webdialog/ using Notepad
- Change Street Dimension to the desired wall width
- Change Angle Threshold value from 30 to 179
- Save the file
-
Draw all of the required lines by tracing along the centre of the desired walls from GE snapshot or whatever. Ensure all are on the same plane.
-
Select all lines.
-
Select Tools/City Generator/Streets/generate. Set width to desired wall width and Angle Threshold to 179 and click Generate on the dialog box.
-
Delete all the still-selected lines, or move them down out of the way for possible future use.
-
Select everything, right click and Explode. There will be multiple groups if there are several unconnected sections of lines.
-
Define a new layer. (Window/Layers, click the + sign)
-
Change to wireframe view. (View/Face Style/Wireframe) or click the wireframe icon if visible
-
Turn off hidden lines (view/Hidden Geometry unticked) to hide the hidden lines across all corners
-
Select everything (all the edge lines), right click and select Entity Info
-
Use the layer dropdown to move the lines to the new layer you created
-
Click Window/Layers and untick the new layer to hide it. Everything disappears.
-
Turn on hidden lines (view/Hidden Geometry ticked). All the little hidden lines appear.
-
Select everything and Delete
-
On the layers window highlight the new layer containing the edge lines and click the minus (-) to delete it. Use the default to move the contents back to the default layer, assuming that is where you are working.
-
Change back from wireframe to normal view (View/Face Style/Shaded with Textures). You should now have a plan view of your wall. It just has to be pulled up.
-
If you only have a few unconnected wall segments, use the Push/Pull tool to pull up the first one to the desired height, then double click on the others to pull them up the same distance.
-
If you have numerous unconnected wall segments, use Joint Push/pull to pull them all up in one step:
-
Select everything. Right-click, select Joint Push-pull/Normal Push-pull
-
Click on a face and pull it up a bit. You see a purple wireframe. Type a value for the height of the wall in the VCB (just type a number and press Enter).
-
Press Enter a second time to do the pull operation. Be patient.
-
Thomthom you are a genius! You must be a Norwegian (as was my father - from Hammerfest). I just installed and ran CityGenerator and Street Generator. Works a dream.
No need for the radius of 0. Just set the threshold angle to 179 degrees and no corners get rounded.
It generates hidden diagonal lines across all corners as part of the face generation. They are not wanted but are fairly easy to delete.
- In wireframe mode turn off hidden lines, select all other lines and move them to a new layer.
- Turn on hidden lines, select all lines and delete.
Voila!!!!
The faces can then be pulled up into a wall with the push/pull tool or all faces can be selected and pulled up into a wall in one step using Joint push/pull (Normal push pull option).
-
One interesting quirk with Streetgenerator relating to short lines.
Draw an L shape where one leg is tiny (shorter than the desired road width). When you do the Street Gen you end up with a the long leg being the correct width and length, but is has a corner chopped out of it where the short piece branched off. The hidden diagonal lines are also "funny".
It is perfectly logical when you think about it but probably not desirable.
The other problem is that something in the above chain of actions resulted in that piece not having a face at all. Actually it was not an L. It was supposed to be but it was actually a T because the two lines did not quite join at the ends but about 1mm from the end of one.
The code should probably ignore any short segments at the end of a group of lines to avoid the anomaly.
-
Hmmm. Starting to notice some other anomalies. Maybe they are "design features".
Imagine a capital T where the top left part of the T is at right angles to the upright but the top right part of the T is angled slightly upwards. When the "road" is built there should be a corresponding bend in the road on both sides along the "top" of the T.
There is a bend in the lower two parts closest to the upright of the T but the edge of the road on the "top" of the T took a shortcut. Instead of being two separate segments with a kink in the middle it is one straight line, meaning the road is of varying width over that section when created.
The big problem with that is that when you create a wall then start to make modifications to it, (eg. sloping the top of the wall) things start to get horrible.
-
Another problem rears its ugly head. One I have run into before.
After building the walls I select a wall texture and shift-click on one of the walls which should paint them all. It does, but on a lot of the faces the texture runs up at 45 degrees instead of parallel to the ground.
Sometimes I can correct them by sampling nearby walls and repainting those ones. Other times they refuse to correct themselves no matter how much I sample other textures and paint on those ones. I either have to reposition the texture manually, or paint the area and surrounding walls with default texture. They will then paint correctly with the wall texture. Definitely feels like a SU bug.
-
-
dtrarch
Plan B seems to have all the walls at an angle..
-
chrisjk
Right on and good call.
Just a sloppy vector PP but system works OK if one is not in a hurry.
FYI:Short strokes basics
extrude line by 2 points
select all
pp vector (enter #)for wall thickness
flatten to 2d
make faces
extrude
cleanupdtr
-
Profile builder does not a bad job albeit needing some work
-
Chris
Good call and you beat me to it
Note that every wall segment is now a group and now can be edited separately.
(both width and height + openings etc)
Exterior walls are generally different in width easy to edit with a pp.
Could also have been selected separately with different wall thickness.
One can Boolean selected walls together as needed too.
Killer idea and congratsThat's all folks
Thanks to you and Whaat
dtr
-
Looks a mess to me. Sharp corners and walls leaning over. Am I missing something?
Advertisement