Building Walls
-
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?
-
Of course
-
how about Double Line? you can set the width and height and trace it along the lines. testing on the detailed SU file took about 2 minutes for about 30% and the walls are all straight and even. downside - no grouping but easy enough to then punch holes etc.
-
Double Line cannot handle T junctions, only a simple path. As I pointed out that detailed plan is less than 1% of the total area to be modelled so I am not wanting anything that requires "cleanup". I was looking for a single-step solution. Streetgen gives that with virtually no cleanup required.
-
@unknownuser said:
Double Line cannot handle T junctions, only a simple path.
Right.
Since your walls are groups they also are 'solids', then performing 'union' gives good results.
But more parameters in the dialog box would be handy and useful.
Keep on the good work.
Advertisement