0
$\begingroup$

I'm building a modular road system. I'm trying to make a road piece that bends around 90 degrees. Essentially a quarter of a circle in shape. I've used (Pi x Diameter)/4 to get the length my road needs to be.

The original piece looks like this. a 10mx10m road piece extended to 100mx10m by using the array modifier and applying it. Extending the length to 157.07963m. Reset Rotation and Scale.

enter image description here

enter image description here

Simple deform modifier seems to be the tool to use.

Something doesn't seem to be adding up though. With a diameter of 200 (200m x Pi)/4 gives me 157.07963. If I start of with this length of road and apply a 90 degree angle bend the final mesh has dimensions of y 38.131m and x 148.49m. I would expect to see y=100 , x=100, i.e the radius. The original mesh is y=10m x=157.08m.

enter image description here

To make matters worse, when I rotate it 45 degrees, I can see that the top of the ends aren't even straight.

enter image description here

Modifier Used

enter image description here

$\endgroup$
6
  • $\begingroup$ It is difficult to say why you aren't getting the results you expect because we don't know how you made your piece or what settings you are using for the Deform modifier. Also: "How wide is your road," "How was it made," "where are your taking your measurements from," and "Is this the simplest way you could do this? If not, what is stopping you from doing it a simpler way?" Speaking of which: The easiest thing to do would be making concentric circles whose radii extend to the curves you want in your topology. Then you can just Frankenstein the edges you want in one object. $\endgroup$ Aug 21, 2019 at 19:40
  • $\begingroup$ Hi hatinacat2000, I have updated my question to include more detail. $\endgroup$
    – James
    Aug 21, 2019 at 19:57
  • $\begingroup$ I am rendering so I can't check, but I think you want to set the "Axis, Origin" manually. Looks like you left it blank. I still recommend the concentric circles idea. I hate using the Deformation (or in 2.79 I guess, "Simple Deform") modifier, it's tough to wrangle and I've been around the block with Blender. $\endgroup$ Aug 21, 2019 at 20:00
  • $\begingroup$ No worries, thanks for the suggestion, I'll have a think about the concentric circles, that's an interesting idea. I guess I thought the Simple deform would have been straight forward. I added a circle at the centre and tried to set that to the axis and got the same result, so I might have to go with your suggestion. $\endgroup$
    – James
    Aug 21, 2019 at 20:15
  • $\begingroup$ To use my suggestion, you need to know how to "Join" objects, "Bridge Edge Loops", (possibly) draw edges between vertices (hint: it's just the "J" key when two vertices subtending a filled face are selected), and (possibly) "Fill Faces" $\endgroup$ Aug 21, 2019 at 20:24

2 Answers 2

0
$\begingroup$

Easier idea:

You draw a subdivided line segment (vertices and edges), revolve that around the origin, and bridge the edges together. Then you extrude the street downward to separate it from the curbs. Here is how:

  1. Create a cube or any mesh primitive.
  2. In Edit mode, select any vertex. Press the "E" key to extrude that vertex and place it anywhere in space. Go into Face mode and delete all the faces (but don't delete the edge between the vertex you extruded and the vertex you extruded from). You now have a mesh that is just a line segment
  3. Place one of these vertices at the origin and the other a measured distance on the x or y axis. You said your road is 10m across and you expect the outer radius of the curve to be 100m. So I suggest you...
  4. ...place the other vertex 90m down on the y axis. With that vertex still selected, tap "E", "Y", "-10" to extrude another segment 10m down. This last segment is your road cross section, but it doesn't have enough subdivisions yet.
  5. Select that edge and add a Subdivsion (Edge -> Subdivide) to divide it in half.
  6. It looks like your road has 3 additional "curves" running through each half of the street (these define the curb). So select both edges and apply Subdivsion again, but this time set the number of subdivisions to 3. Manually move these points to the correct position.
  7. Exit Edit mode (return to Object mode). Set the cursor to the vertex at the origin and set your pivot to the cursor. Set the object's Origin (top drop-down menu under "Object") to "Origin to 3D Cursor". Duplicate your object (Shift + D, right-click).
  8. Now, you have a lot of subdivisions in your pictures but I don't think you need so many. Let's start with 16 subdivisions. 90 degrees / 16 = 5.625 degrees/subdivision. With the duplicate still selected, tap "R", "Z", "5.625" (or "-5.625"). Do this 16 times (or 4 times if you are wise with selections and calculations).
  9. Join all the cross section objects together (CTRL + J).
  10. select the innermost edge segments and delete them (you don't need them and they will cause us problems in this last step).
  11. for each edge loop, hold "CTRL" + "SHIFT" and right-click on an edge to select the entire loop. Actually, just double-tap "A" to select all the edges (since all the edges are parts of loops you want to select. In the top drop-down menu, choose "Edge" (or was it "Face"?) -> "Bridge Edge Loops". This will connect all the cross sections with faces.
  12. Last-last step: select the middle-2 edges in any cross section, hold "CTRL"+"SHIFT" and right click on an adjacent middle edge. This will select the 2 middle rings. Switch to "Face" mode. All the faces connecting those rings should be selected now. Tap "E", "Z", "-0.25" (or whatever) to extrude the street below the curb. You just have to delete the 2 extra faces this generates on either end of the 90-degree sweep and you are done.
$\endgroup$
1
  • $\begingroup$ thanks hatinacat2000, I really appreciate that :-) $\endgroup$
    – James
    Aug 22, 2019 at 5:41
0
$\begingroup$

hatinacat2000's solution is great, but this was really bugging me and I had to find out what I was doing wrong.

My main mistake was having the centre of my road at 0,0 and also the minor mistake of having doubles in there from the array.

It's easier just to show an image of where the road should be. The empty axis is at 0,0.

enter image description here

$\endgroup$
0

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .