View Full Version : Keeping the same width of plane after 90 degrees corner
Whoops 04-13-2005, 07:40 PM I have a simple plane with all subdivisions set to 1. I made a rectangle of it.
Now i sellect one of the smaller edge sides and i want to extrude this edge, following alot of 90 degree corners. The rectangle needs to keep exactly the same width after making such a corner, only in can't get it done manually.
I tried to let the extrude edge follow a curve line with the same 90 degrees corners, with as less divisions as possible, but it seems maya can't handle such sharp corners, it messes the mesh up :)
Here is an example of what kind of corners this rectangle has to follow:
http://www.digitaldeepness.com/example.jpg
As you can see the source is very unclear so i can't rely on the drawin itself to just draw it over to keep the same width...
Actually on this source the line isn't keepining the same width at all.
http://www.digitaldeepness.com/example2.jpg
Here you can see the problem i have.
I extruded an edge here to make the corner, as you can see the width isn't
exactly the same anymore, of course i can fix this up manually, but i have to
make ALOT of corners, so i hope there is an easy work around for this.
Does anyone got any idea's to keep the same width of a rectangle, that follow's alot of 90 degree and other corners?
|
|
itsallgoode9
04-13-2005, 09:14 PM
What I always end up doing drawing each wall as a seperate curve instead of one long curve then manually manually cut the miter anglse from the top view using the "cut faces" tool then attatch them by using the "merge multiple edges" tool. While I know this isn't the most efficient way, I really haven't found a good way around this. So if nobody comes up with anything better, you can try that.
Whoops
04-13-2005, 09:22 PM
This seems a nice workaround for this, im going to try this :D
Thank you in advance! Any more idea's are welcome of course...
muttoab
04-13-2005, 09:27 PM
Hi there Whoops,
Although it appears that itsallgoode9 has understood your question, I for one am completely lost.
I understand that you are starting with (I assume) a single poly plane that you are extruding the edges of at 90 degrees.
But what do you mean "The rectangle needs to keep exactly the same width after making such a corner"? I don't understand. Why wouldn't it?
Actually, I'm not even sure what you mean by rectangular. Do you mean the geometric shape - a rectangle - or are you actually meaning "polygon"?
Also don't understand the "maya can't handle such sharp corners" part. An extruded poly edge would be able to make a perfect 90 edge if you wanted. Are you using nurbs perhaps? That would produce a curves edge not a sharp one...
Finally - the image you provided isn't coming up as the partent website (http://www.digitaldeepness.com/) appears to be down.
MUTTOAB
Whoops
04-13-2005, 09:37 PM
Sorry muttoab, i meant rectangle, i don' know why i used the word rectangular lol :P
I updated my start post and i hope you understand my problem now.
The images seems to be working fine though?
itsallgoode9 as I'm trying your method i cane to the conclusion i don't really understand your method :P
So you make for each wall a seperate curve, what happens next? ;)
muttoab
04-13-2005, 09:57 PM
Hi Whoops,
That's better I guess... but I'm still a little stumped (though if I could see the pic you attached it might help. Can you just attach it instead of linking to it?)
Let's try this:
1. Create a default poly plane, change the subdivisions to width/height to 1.
2. Select an edge.
3. Select edit polygons,... extrude edge options ,...reset settings and then click apply.
4. Select the upward pointing transform manipulator in the viewport and move it up.
This should be a perfect 90degree corner - and the new face will be exactly the same width as the original one....
I must be missing something here but I don't know what....
MUTTOAB
muttoab
04-13-2005, 10:07 PM
Hi again Whoops,
The image you posted came up so now I understand!!!:)
Would the construction approach in the file I have attached not be a lot simpler?
Just create a single poly at the corner. You could always split it and then delete the extra edges to make the mesh look like your example.
If that doesn't work I remember reading something about the rule of thumb for creating architectural miters... something like a move of 4.1234 times the width of the wall or something like that - I'll try to find the post.
MUTTOAB
Whoops
04-13-2005, 10:54 PM
Thanks for your reply muttoab.
In the end all rectangles will be divided.
Let me give you an example what it will finally look like:
http://www.digitaldeepness.com/example3.jpg
This could also be done with your method, but i already considered this and i think it wouldn't work for me.
I could use the grid to make the perfect corner like you did.
Scale and position the corner according to the map.
Finally split and delete unneeded edges.
If i have to do that for every corner it will be way too much time consuming, because i have ALOT of those corners.
Emil3d
04-14-2005, 12:33 AM
If I understand correctly you want to build a wall keeping the same width while making corners on the wall at any angle.
If that is what you want here’s how I usually do this:
Make a cross section of the wall with the Create Poly Tool and extrude the first straight section
Select the side (cross section) face.
With the face selected right click and choose Edge, then hold Shift and select the edge around which you want to rotate the wall.
Go to Edit Polygons > Wedge Faces
Apply Extrude command and pull your next wall section
Go to channel box and in the input section click on the polyWedgeFace node.
Now you can either click in the name of the Wedge Angle attribute and MMB drag in the view port or type a degree. The advantage of modifying the history in the channel box over the tool’s options window is that the channel box allows you not only to do it interactively but also type negative degrees for the angle. By using negative degrees between 0 and -90 you will create an inward corner which will cause some geometry overlapping. You can use this as is if it doesn’t interfere with your project goals or after you build your wall you can clean the overlaps.
I clean the overlaps this way:
Extract every other straight wall segment.
Then from the top view select and delete all overlapping faces.
Next select all and Fill Holes. And finally apply Union Boolean on each segment with the previous one.
The overlaps cleaning may seem a lot of trouble, but if you are good with booleans it will be a breeze. Once I figure them out and understood how they work I have never had a failed boolean operation and in spite what other say I in fact use them to create nice and clean topology for the cases where they work best.
Hope this helps
Whoops
04-14-2005, 01:21 AM
Hi Emil3d,
Thanks for your input.
Following your guidelines gave me the following result:
http://www.digitaldeepness.com/example4.jpg
It indeed keeps the width perfecly, though the corner is 90 degrees on the inner side, the outer side of my wall is rounded, while this needs to be 90 degrees also.
This is what the wall corners need to look like:
http://www.digitaldeepness.com/example5.jpg
I don't think i can keep both sides of the wall 90 degrees sharp with the wedge tool.
Any ideas?
Emil3d
04-14-2005, 02:01 AM
Of course you can do it, in the channel box type -90 for the angle and 1 for divisions.
If you don’t want outer side angles make all your angles between 0 and -90 with 1 division and reffer to my first post for how to handle farther
Whoops
04-14-2005, 02:31 AM
Following your instructions i get this:
http://www.digitaldeepness.com/example6.jpg
I think i understand how to handle the overlapping part.
The problem is the wedge face tool had turned my wall backwards,
the vertical wall needs to be turned 180 degrees.
I'm sorry if i missed something here.
Emil3d
04-14-2005, 05:56 AM
May be you have selected the wrong edge for rotation of the new wall segment Try again with the opposite edge selected. The selected edge is where the new wall segment rotates around. So depending which side of the wall you want to be the outside one you have to select the edge on that side before the wedging.
Also as I said in my first post, from the channel box you can do it interactively if you can’t figure out what number to type.
Use the virtual sliders of of channel box - click on the name that says Wedge Angle so that it becomes white letters highlighted over a black strip, then with the Middle Mouse Button drag anywhere in the view panel to interactively see what angle will put it the way you want.
Keep trying until you get it, I know that it will do what you want.
Whoops
04-14-2005, 03:37 PM
Hmm i think i really must be missing something here, this is the closest i can get
http://www.digitaldeepness.com/example7.jpg
This is almost the same picture as mentioned above only with less subdivisions (1 instead of 2). I can't see how the wedge tool can make 1 line out of those 2 as seen here:
http://www.digitaldeepness.com/example5.jpg
I already tried to use both edges of the wall, and also played with the angle via the middle mouse button, wich i already use alot because it is 'live-interacive' like you said.
I think i must be really missing something stupid here :(
Cameo
04-14-2005, 03:57 PM
Whoops, are you sure you cant get the results you want by just switching back and forth between global and local extrude.? Especially if the object is only changing in 2 planes. I made a scene with a castle wall moving around a lot and I had no problems doing it that way.
Whoops
04-14-2005, 04:46 PM
Well the wall isn't straight up, it goes up in an angle.
When i rotate the end edge to make a corner, next extrude the edge, the steepness of the side isnt exactly the same anymore, as well as the width of the wall.
Emil3d
04-14-2005, 07:44 PM
First, regarding your last image – the wall was rotated around the wrong edge, you should have used the opposite edge for the rotation.
Second, now I notice that the edge of your wall needed for the rotation of the corners is not straight. This causes the wall to change vertical direction. While this problem can be easily fixed by adding a temporary small portion of straight edge in the original cross section to be used for rotations, the bigger problem that arises from a slanted edge is that the overlaps now will stick outside the surface thus making the cleaning not only unavoidable but also much more complicated.
So now I think that for this particular cross section, the Wedge Tool is no longer advantage over manual assembling of straight sections of your wall. This also will cause sticking geometry on the corners but will be much easier to clean.
Doing it this way, you create your first section then just duplicate it and snap the object pivot in what will be its rotational edge. Next position the section by snapping the rotational edge to the proper edge of a previous section and rotate at a desired angle followed by scaling the length. After you are done with all sections use boolean Unite command on the sections to combine the wall together. And at the end clean the sticking overlaps.
In case you don’t know how to snap the pivot and object to an edge, do this:
with one of the transform tools selected hold “d” and “v” and click with the MMB on a vertex from the edge. Then to snap the whole wall section to an edge of another section do the same as above but without holding “d”
To clean the sticking geometry around the outer edges after the boolean Unite command first use Split Poly tool to add missing edges on places where they should be. Then select unwanted vertices or edges and delete them. In addition to the Delete key, you may want to use the Delete Edge and Vertex command form the Edit Poly menu since they also delete edges of selected vertices and the loose vertices of selected edges.
Hope this helps.
dudders
04-14-2005, 09:47 PM
If im being thick in posting this then sorry but what about using a 1 degree curve, drawing along the plan of the wall, and then loft it, using the cross section shape of the wall. then converting to polys.
Whoops
04-14-2005, 09:55 PM
hey emil3d, i appreciate your input very much.
I normally use 'insert' to move a pivot, but this seems also a nice way.
Everything works okay, untill i use the boolean command, the object just disappears...
Dudders i'm also going to try your method.
Update:
Dudders do you mean this?
Draw the outline (cross-section) of the wall with the curve tool set on 1 degree.
And after that put the curve cross-section on each corner of the wall displayed on the map?
Finally loft (linear) all cross-sections together?
The idea sounds nice although the corners needs to be perfectly placed in order that the loft doesnt make the wall smaller again.
Emil3d
04-14-2005, 11:07 PM
I’m I getting old or what?
Dudders, you helped me wake up.:bounce:
Actually now I feel embarrassed giving so much instructions as alternative to something that can be than so simple (I’m sure you meant Extruding not Lofting), and that was in fact the first thing I was about to suggest but decided to try it out before I do and was surprised that it didn’t work as expected although I’ve actually used it occasionally in the past
It has been more than once when I find myself staring at the screen without a clue how to do something that I’m sure I’ve done it before and after some head banging I start to suspect that may be I did it in some other program or even in my dreams and then later on some Monday morning after the rain is gone I can clearly see what actually happened and remember it forever as is the case now.
Anyway, my first try with the Extrude command didn’t show what I expected to see because Extrude Profile Normal was left off from some previous use and I missed to turn it on. Now you message made me go and give it another try and yes that is the way to do it - the good old Extrude command.
So, Whoops, forget everything I said so far about making the wall and take the EP curve with 1 linear option checked and draw with it the cross section and a path for the wall. Select the cross section then the path and then go to Surfaces > Extrude □, and in the option window reset the settings to default and check only this: At Path, Component, Polygons, Control Points.
That’s it, there’s your polygon wall. If it looks soft go to Edit Polygons > Normals > Softeten/Harden.
I just tried it and you should have no problems with it.
about the booleans, I'll tell you how to fix tem some some other time, you don't need them now:).
Say thanks to Dudders.
itsallgoode9
04-14-2005, 11:28 PM
Maybe Alias will actually fix this in thier next release. Probally not...oh well :shrug: There should be no way in hell a simple operation should take 2 pages to figure out. But here we are. man what a pain. Sorry bout the useless rant, this is just somthing that I have had problems with in the past as well...BLAH
By the way, had you tried my method from the beginning of this thread, since there hadn't been any other alternatives that worked correctly yet.
Whoops
04-15-2005, 01:32 AM
Well itsallgoode9, i came this far as i mentioned in another post:
itsallgoode9 as I'm trying your method i cane to the conclusion i don't really understand your method :P
So you make for each wall a seperate curve, what happens next?
:P
itsallgoode9
04-15-2005, 07:20 AM
Well itsallgoode9, i came this far as i mentioned in another post:
:P
whoa, I guess I missed that, sorry! I'll post some quick images tomorrow....imageshack looks like it's down right now.
Iconoklast
04-15-2005, 08:35 AM
Personally, the best method to do this (and much faster) is to use Curves with extrusions. Not in a polygonal sense, but in a nurbs sense.
Basically create a linear curve that follows the outline of that map or image you have there, then create another linear curve that looks like your wall, then select both the laid-out plan curve, and your wall outline curve and go to Surfaces > Extrude. Make sure the settings are Tube and the output is polygons. I'd upload some pictures of how it worked on my computer, but I only have the internet at work for the time being. You might get funny results and if you do, switch the selection order of the objects. Otherwise wait til i get my net back up (which should be tonight) and I'll upload images and settings of how I got it to work.
Trust me, it's a lot faster to do it this way than extruding around every corner.
itsallgoode9
04-15-2005, 06:37 PM
****Deleted my crazy method of doing this because dudders has a much better way!
dudders
04-15-2005, 10:18 PM
Guys, i think youre really over complicating this. What I meant was draw the cross section with a one degree curve (the cross section is like cutting the wall in half, and its the shape youre left with). Heres my pic :)
.........-------
......./ ..........\
..--- ..............---
| .......................|
| .......................|
.------------------
then draw another one degree curve along the length of the wall.
Then surfaces>extrude
and then goto the channel editor and change extrude type to tube, fixed path = on, Use component pivot = component pivot and you will have a wall with the correct joins.
You can then convert nurbs to polys and cap the ends.
I tested my method and it works fine and also means you can keep the curves there for editing later.
itsallgoode9
04-15-2005, 11:16 PM
Man I was messing around with it last night doing every combination of settings I could find and none of them work, but then I read your post htis morning and it seems to work correctly. hell of alot easier than the way I had been doing it lol You can set the output to polys though sothen you don't even have to do the conversion part at the end. just 1 less step.
dudders
04-15-2005, 11:31 PM
Oh yes, of course. Thats cool. :thumbsup:
Emil3d
04-16-2005, 01:04 AM
Arrrrrrrrrrrrrrrrrrrrrrrrrgh……………:scream::scream::scream:
Sorry to disappoint you guys but that’s not the end of it.
There’s no end to this isn’t it.
In one of my previous posts I said that I feel embarrassed and describe myself as a lunatic when dealing with this and similar issues when I can’t make things work that I have made work perfectly before.
I made more tests with this wall thing, and now I can tell you that I no longer feel embarrassed or a lunatic because it is not me who should feel like this but the Alias programmers. Look at the pictures below and judge for yourself:
This also explains why sometimes it works and sometimes it doesn’t and why some people say yes and some no.
This is the method I described in the bottom of my previous post which is the same thing Iconoklast and Dudders suggested.
itsallgoode9
04-16-2005, 01:11 AM
Arrrrrrrrrrrrrrrrrrrrrrrrrgh……………:scream::scream::scream:
Sorry to disappoint you guys but that’s not the end of it.
There’s no end to this isn’t it.
In one of my previous posts I said that I feel embarrassed and describe myself as a lunatic when dealing with this and similar issues when I can’t make things work that I have made work perfectly before.
I made more tests with this wall thing, and now I can tell you that I no longer feel embarrassed or a lunatic because it is not me who should feel like this but the Alias programmers. Look at the pictures below and judge for yourself:
This also explains why sometimes it works and sometimes it doesn’t and why some people say yes and some no.
This is the method I described in the bottom of my previous post which is the same thing Iconoklast and Dudders suggested.
Not sure if i understand 100% but are you saying that it works fine unless you need to position the cv's or verts afterwards? If that is what you are saying, that is a pain. I would be nice if it would be programed based on the width of the wall and not th position of the cv's.
Emil3d
04-16-2005, 01:15 AM
Also I discovered a bug long time ago with the Extrude and you can read about it here (http://www.cgtalk.com/showthread.php?t=225261&highlight=bug), but that’s not the same bug this time. The workaround for the old bug didn’t work for this.
Emil3d
04-16-2005, 01:20 AM
Not sure if i understand 100% but are you saying that it works fine unless you need to position the cv's or verts afterwards? If that is what you are saying, that is a pain. I would be nice if it would be programed based on the width of the wall and not th position of the cv's.
NO, It will never work with certain positions of the CVs :sad:
Emil3d
04-16-2005, 02:13 AM
****Deleted my crazy method of doing this because dudders has a much better way!
I don’t think you should have done this, and your method was not crazy. It is a perfectly legitimate way to make a corner or two when it comes to complex structures that are already built and staring from scratch with a curve is not an option. For example once I had a complex portal which was build with a lot of extruded panels and tubes running along the sides – things like that cannot be done with a curve extrusion. The client requested to make the portal from straight to arched with 3 straight segments. I used one of the methods I described earlier in this thread which is very similar to what you suggested with the only difference that I used booleans and clean around the corners and yours is Cut faces and clean around the corners. In fact I have used your method often before I became good with booleans. The problem with the Cut faces tool was that is didn’t snap to vertices although later on someone suggested how to make this possible and if you want I can find and refer you to that thread.
Emil3d
04-16-2005, 05:10 AM
I found what it is – this same nasty bug (http://www.cgtalk.com/showthread.php?t=225261&highlight=bug) that plagues rotational values when they are 0. But this time it resides in the Rotation options of the Extrude itself and is much tougher to kill. However typing 0.001 for the Extrude Rotation increases about 90% the safe area for positioning CVs without causing distortions. Only small areas in certain places will cause the geometry to burst and typing larger Rotation values improves a lot but then you don’t want your extrusion rotated.
Emil3d
04-16-2005, 05:48 AM
Oh no,:scream: more troublesome findings
Typing 0.001 for the Rotation fixes the width of the wall but it also alters the surface from the path direction. Look at the examples below the only difference between the 2 is the Rotation value.
At the end all I can say is "Good luck with Extrusion":shrug:
sacslacker
04-16-2005, 07:51 AM
I may be misunderstanding the problem but Mirror cut tool has helped me in a situation like this before.
dudders
04-16-2005, 08:37 PM
I cant recreate this problem youre having at all, Ive extruded--using method I said earlier--a wall type object and moved/rotated random CVs and groups of CVs around and everything stays fines.
What version are using?
It looks like you'll have to delete the history on your wall before moving CVs to avoid it doing this. But then you will lose the ability to change the path in relation to the wall's path
Emil3d
04-16-2005, 09:27 PM
I’m using 6.0.1.
The history has nothing to do with the this. I haven’t touch any components on the extruded surface I’m changing only the CVs on the path curve.
I use history to interactively see how the positions of the path curve's CVs affect the shape of the extruded surface. Even when I create a brand new curve for the path of the extrusion by snpping its CVs to the CVs of the old curve an extruded surface with the new curve still shows the same problem.
Maya simply cannot maintain the profile curve on the extruded surface at some positions of the CVs from path curve .
To recreate this you should simply refer to the picture I posted and make the same shape. If you can’t recreate this problem can you please post a screenshot of a shape similar to mine that shows no problem.
I’m also attaching the Maya file with an annotation how to see the problem in action.
dudders
04-16-2005, 10:13 PM
Ok, I misunderstood and I was moving the verts of the polys around and not the CVs of the nurbs curve. Doh!
Anyway I have a solution for you...If you move the CVs and get this funkiness, you can select the curve and rebuild it to get the extrude looking like it should.
The settings i used for this were:
- rebuild type > Uniform
- Parameter range > 0 to #spans (but this doesnt matter I dont think)
- Keep > Ends (this was default)
- Number of spans = the number of spans you already have in the curve, no more, no less.
- degree > linear
EDIT: After playing with this I realised that the curves all move around too much, which is no good if you've placed this on a map! So scrap what I said, I think you're screwed if you want to move the CVs around a lot afterwards. Maybe try it in Houdini, lol!
Emil3d
04-16-2005, 10:30 PM
...I think you're screwed if you want to move the CVs around a lot afterwards. ...No it is not a lot.
This is very limiting bug. Look at this simple shape that any body can recreate. Maya cannot handle this very simple shape.
Emil3d
04-16-2005, 11:27 PM
I found a way of improvement by inserting node/s (edit point/s) at certain spot/s along the curve and this almost brought the width consistency back, but causes geometry overlaps at the corners which must be cleaned afterwards.
This is the same as the previous example with just one EP inserted near the corner - makes this particular extrusion almost perfect
Emil3d
04-16-2005, 11:59 PM
More good news:) - I think I found a permanent fix for this:bounce::
On the span where the problem start along the curve insert a node in the middle or a place that doesn’t cause geometry overlap and this fixes the rest of the surface along the path. I tested it on a lot of different curves - works perfectly all the time.
I hope this is the happy ending of this ordeal. Now lets go and concur any wall on hour way.:thumbsup:
bennyboy2
04-17-2005, 03:08 AM
Nice!
I can see how this method would be useful for lots of things...
Kabab
04-17-2005, 03:13 AM
What i do before a complex loft operation like that where i really need to maintain the profiile is;
Place my curves 1 degree in your scenario
Rebuild the path curve with a shit load more CV's but keep it 1 degree
Now do the loft..
Because you have more cv's you giving Maya a much more defined path to follow.
Emil3d
04-17-2005, 04:33 AM
Kabab, I already tried that solution and tested it extensively but it didn’t work. While the profile was somehow maintained and the geometry didn’t burst wildly, there were still distortions around the corners with massive and messy overlaps and the worst of all was that it completely eliminated the straight wall segments of the wall by chopping them with a lot of small sections which were not aligned from corner to corner.
You can just open the attached Maya file from this page of the thread and see for yourself what I mean if you try this method.
Whoops
04-17-2005, 08:55 PM
Emil3d and dudders
First of all sorry for my late response, I was away for a short while :)
I want to thank all of your input and efforts wich helps us all along the way, and noone could ever imagine such a 'simple' problem that i have, has expanded to 3 pages!
/edit 4 pages! omg.
Such an ironic thing, we all make things more complex than this and when we end up with such a 'simple' keeping-wall-width-problem, we get three pages of solving lol.
It seems dudders had the best solution here wich i'm going to try and use the bug solvings from emil3d for this method. When it's finished, the method should be ultimatly tested because i got a lot of strange wall corners and alot of walls.
Ill keep you guys posted along the way if i encounter any problems.
Emil3d
04-17-2005, 11:16 PM
Whoops, If the extrude was working the way it is suppose to work, this thread would have ended on the first page
As I said earlier, my natural response to your first post was to suggest what Dudders suggested later. I have used this method a lot on things like door frames, picture frames, windows, furniture, etc but only rarely on things that are not turning with 90°angle and decided to test it before I post. I drew a random path curve which produced in spite of my expectations a wall without consistent width and I posted a solution which I usually use with much more complex objects. Then when I saw Dudders message I was about to tell him that I tried that and it didn’t work. but before that, I decided to give it another try and this time I drew another random curve that worked without a problem and my first reaction was to blame myself for missing an option in the first try and felt like a lunatic.
Now after 4 pages filled mostly with my annoying English, we know what and why actually happened. The moral is: with Maya do your homework right but always, always suspect Maya when things go wrong.
Whoops
04-18-2005, 12:52 AM
Yes Emil3d this could have been solved on the first page like you said.
I appreciate all your input very much, you probably had the most efforts and input in this thread anyway :D
Though dudders had cleared things up, because we were going the wrong way so badly :)
And talking about bad english, look at me :P
CGTalk Moderation
04-18-2005, 12:52 AM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.
vBulletin v3.0.5, Copyright ©2000-2013, Jelsoft Enterprises Ltd.