Trouble with building a shape.

Next
 From:  Johnny (JOHN_A)
685.1 
I've been playing with Moi recently and it has thankfully restored my faith in nurbs. Although I'm no expert in nurbs, Moi makes the process of re-learning pleasant.

I do have a question though. I'm not sure how to approach a shape I'm trying to build. It hugs the surface of a sphere, which complicates things, although I think it's one of those shapes that, when done, would teach me a great deal. I've attached an image to help illustrate what I'm trying to achieve, it's the dark grey shape.

Any and all help appreciated.

Cheers.

Attachments:

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
685.2 In reply to 685.1 
Hi Johnny, looking at that I think a good approach would be to draw a silhouette of your shape from the front, then trim a sphere by that silhouette, and use Construct / Shell to thicken that trimmed sphere fragment into a solid. I'll try to give you some more detailed steps in a moment.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
685.3 In reply to 685.1 
Hi Johnny, here are some more detailed steps.

Often times the first step is to try and identify some key structural curves that you can draw to begin working with. Sometimes you may construct surfaces from those key curves, or in this case you want to use them as a cutting object to slice up a sphere.

In this case to construct your curve, I can kind of see a pattern with an outside circle and an inside circle and some spokes. So that's what I drew to start with - 2 circles centered on the origin (origin snap comes in handy for many things like this) and then 2 lines between them which will form one spoke. After you draw one line, use Transform/Mirror (using origin snap again) to create the other one. You may need to come back to this step and tweak the placement of the lines to adjust the width of your spoke.

Do this in the front view, and click on the "Front" tab in the bottom bar to make the front view full screen.

So that looks like this:



Then the spokes are in a repeating pattern. A repeating pattern usually means you will use Transform / Array to construct it. In this case select the 2 lines, then use Transform / Array / Circular, pick the origin snap as the center point, and type in "6" in the Item count. Since Item count is the first option, you can just go ahead and type in 6 and push enter immediately, you don't even have to click in there first. Then push Done. You will often times push "Done" (or a shortcut is to right-click inside of a viewport) to signal that you're done with adjusting options and to accept the result.

So now with the array it looks like this:



Now the circles need to be trimmed into smaller pieces. To do this, select both circles and then run Edit/Trim. The prompt in the upper-right corner will say "Select cutting objects". That prompt in that upper right corner generally tells you what thing MoI is expecting you to do next. So in this case now select the lines. You also might want to un-check "Extend lines", because with line extensions turned on it will make extra cut up pieces that you don't want. I'm planning on turning this off by default soon, but right now it is on by default. So anyway, after you pick the lines and push Done, you are now at the point in Trim where you select pieces to remove or keep (or you can push done at this point to keep all sliced up pieces).

Select these fragments to remove: (note - if you make an error in selection like click on the wrong thing, hit undo or ctrl+z before clicking anything else and it will undo your selection mistake).



Then after you push done, you've got the curve finished up - select all the pieces and use Edit/Join to make it into one curve object:



Now use Draw solid / Sphere to draw a sphere in the top view centered at the origin. The size of the sphere is another factor you can mess around with to get different results.

After you have the sphere, select it and run Edit / Trim again, and select your curve as the cutting object. Throw away the middle and the back pieces, and then you will be left with this:



Select your sphere fragment, and use Construct / Offset / Shell to thicken it into a solid, I used a thickness of 1 unit here. Then I used Construct / Fillet and applied a 0.2 radius fillet to round the edges. The final result (viewed here during OBJ export with Display:shaded option):




I think my spokes are a little too long compared to what you wanted, probably the initial circles that I drew should have been a little closer to each other.

This is a good project example for NURBS modeling. This is exactly the kind of structured object that can be created very well and quickly using NURBS.

Again really the key thing is to identify curves to create to begin the process.

Hope this helps!

- Michael

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Johnny (JOHN_A)
685.4 In reply to 685.3 
Michael, this absolutely helps. I couldn't have asked for a clearer, better laid out solution.

I'm amazed at how easy it is to generate something like this in nurbs compared to polys, where you have to deal with tweaking artifacts constantly.

Awesome little package.

Cheers.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
685.5 In reply to 685.4 
Thanks Johnny, I'm glad that you like the software!

Yeah, a problem with polys is they just do not trim or boolean as well, they will generate tiny slivered fragments too easily.

NURBS handles trimming in a very different way, kind of a "non-destructive" way. When you do a boolean or trimming operation on a NURBS object, the original surfaces actually stay there underneath everything, and new "trimming curves" are calculated. The trimming curves mark regions of the surface as being trimmed away. You can even erase those trimming curves later on to restore the underlying surface (MoI does this if you select all the boundary edges for a hole and then use delete).

This generally prevents things from degenerating into a bunch of tiny fragments after a few boolean operations. And the shading actually comes from the original underlying surface, so that shading stays accurate through different cuts.


Now on the other hand, polygonal subdivision surfaces are much better for handling highly organic objects that have a lot of little wrinkles and details in them, like a face for example. You have a lot more freedom for your point mesh arrangements with polygons, so when you are going to be manipulating surface points a lot, that's when they work a lot better.

So it is handy to have both sets of tools available to you so you can use the best one for any particular project.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  JTB
685.6 
Such a detailed answer on a user's problem is what makes you better than all others Michael...

 
***There is always a better way to do things... Just find your Moment of Inspiration***

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  anthony
685.7 
Hi, I'm new here. I think MoI is great.

So I just followed along on this little tutorial and made the hexagonal shell object. I noticed that I was able to rotate the view and make measurements while the lengthy fillet operation was being calculated. Is that normal behavior for Moi? If it is, then that's a nifty feature.

And the rounded fillet is very cool, but sometimes I just want a flat chamfer or bevel. I couldn't get this object to chamfer for some reason, but a single edge or "face" chamfered just fine. Am I missing something here?
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  WillBellJr
685.8 In reply to 685.7 
Yes, I'd like more info on chamfer as well because I also never seem to get any results from that function...

I got used to fillet because if I'd select something and hit it and not immediately see the "Calculating..." message, I know something's wrong and it's not going to work.

Even with Fillet, if I select the straight corners sometimes that'll kill the fillet - my luck with chamfer is just bad...

Are their any tuts on the use of these two functions or best practices - that would be helpful

-Will
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  boatstalker
685.9 
That was an excellent tutorial. I love this program.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Johnny (JOHN_A)
685.10 In reply to 685.5 
Michael, thanks again for getting back so soon and with such a complete answer. I would like to throw other "different" objects out there to see the most efficent way of constructing such shapes. After seeing the ease at which you created this shape after I've spent ages struggling with polys, I think nurbs are the better option for non-organic shapes. It's now just a matter of learning each tool and it's function.

I also wanted to let you know that I appreciate the UI of Moi. I'm visually impared and find the larger, clearer fonts and icons help me out, it's one less thing to deal with in learning a new package.

Cheers.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  JTB
685.11 
Yes, let's hope that Michael will keep it this way, because with all the tools and features we ask it will be a challenge

 
***There is always a better way to do things... Just find your Moment of Inspiration***

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  WillBellJr
685.12 In reply to 685.11 
Yes, I learned a lot from this one as well - I kicked myself too cause I needed to do similar for what I'm working on.

What I did was I drew a rectangle and projected that shape onto the sphere then I extruded the side faces out, selected the outer curves and then networked them into a surface (the result shape wasn't planar so the extrudet didn't automatically close the front and back). The shell command does similar all in one swath - doh!

Granted, I needed outer shape to have more of an arc than to the inner shape but the shell command is certainly what I'll be using for some further work I need to do!

-Will
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
685.13 In reply to 685.10 
> I would like to throw other "different" objects out there to see the most
> efficent way of constructing such shapes.

Definitely, please do! It's a lot easier for me to help when focusing on a specific shape like that, those make for good tutorials.

It will probably take a little while before the NURBS modeling approach starts to feel more comfortable for you since it is such a different approach than polygons.


> also wanted to let you know that I appreciate the UI of Moi. I'm visually
> impared and find the larger, clearer fonts and icons help me out, it's one
> less thing to deal with in learning a new package.

Great, I'm glad that this helps you out! Personally I think that too many programs rely on tiny cryptic icons as the main part of their UI. Those tend to be difficult to use really for everybody. I end up constantly hovering over things to see the tooltips to find out what stuff does.

Have you also seen that you can adjust the size of the UI under Options / General / UI size?

You can move that up a little bit to increase the size of all fonts and buttons to whatever you want. The number there is the font point size that is used, you can put in anything there from 3.0 to 30.0, you're not just limited to a choice of "small or large" icons. Of course many programs don't even give you those 2 choices!

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
685.14 In reply to 685.12 
Hi Will, well there are usually several different ways that you can go about doing any particular model.

Of course anything that gets the job done will be good, but some ways will be a lot fewer steps.

Over time you'll get more used to associating certain tools for certain shapes, like when you see something that has an even thickness it is generally good to think of Shell.

There are a few operations that bundle up a bunch of operations within them. Like for instance Shell in this case combines offsets with lofting between a bunch of edges. Similarly booleans bundle up intersecting and trimming surfaces and automatically discarding different pieces and then joining. All of the "low-level" tools are available to you, but if you steer things towards using the functions that bundle up many of them for you, you can get them to do a bunch of work for you and save some time.

It sounds like (with projecting etc... ) you are getting more comfortable with working with curves and applying them during the modeling process. This is really good, because that generally tends to be the way to start things moving.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  WillBellJr
685.15 In reply to 685.14 
Yes, I've become very comfortable now using most of MOI's tools - I'm just wondering is there any tool I'm missing to construct these kinda shapes more easily:




Typically I draw my curve across my object where I need it and then project it onto the surface. Then while holding down ctrl, I drag a copy directly backwards. I move the original curve forward a bit in preparation for a loft.

Actually another question arises here; when I draw my curve (from the side or front), it usually ends up on the inside of my model (at 0,0), requiring me to then hide my surfaces (thanks for that Alt-W script posted previously - hella handy!) Is there a way when drawing a curve to "move it out from the origin in cases like this??

Anyway, lofting a non planar curve unfortunately doesn't cap the ends, extrusion or shell doesn't work for shapes (curved) like this either.

So then what I have to do is run the network from curves command and then create the closing front and back surfaces and join them together. Then I boolean onto the main object, fillet if necessary, rinse and repeat where needed...

I'm wondering if there's anyway to directly shell surfaces like these since it would save me a bunch of time for this model and similar projected curves?

Again, just looking for best practices here! ;-)



With this being my goal, I have to say MOI has made it really easy to get this model constructed! Granted, the majority is texturing but I had initially attempted this in XSI and boy, using NURBS is (as usual) always the way to go for stuff like this!

-Will
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
685.16 In reply to 685.15 
Hi Will,

> Is there a way when drawing a curve to "move it out from the origin in cases like this??

One possibility is to place the first point in the top view away from the origin, then continue drawing in the front view. Your curve will end up planar to the front view but going through the initial point you picked. I do want to add some construction plane manipulation tools for a future version which would probably be more exactly what you need here.


> it usually ends up on the inside of my model (at 0,0), requiring me to then hide my surfaces

Hmmm, normally this shouldn't be a problem that the curve is inside your model. But it looks like you have turned off "Display hidden-line curves" and "Display hidden-line edges". Go to Options / View, and turn those back on (at least the one for curves) and you will be able to select your curve even though it is inside the model. I guess the part that is not explicitly mentioned in that option is that not only does it enable the display, but it is implicit that if it is displayed then it is also selectable. That's one reason why I haven't made it a big priority yet to add a wireframe mode, because hidden-line mode already gives you most of the capabilities of wireframe mode.


> Anyway, lofting a non planar curve unfortunately doesn't cap the ends

Yeah, the problem is with a non-planar curve there isn't really one single well defined surface that can be put there, there are usually different possibilities with different amounts of bulging, etc... Particularly if there are more than 4 curves. With a planar end it is clear what the shape should be.

I suppose it might be reasonable in the case of 3 or 4 curves to do a Network surface as the "cap"...


> I'm wondering if there's anyway to directly shell surfaces like these

Hmmm, I don't think so... Looking at the top view, it looks like your protrusion there is not a constant thickness. I mean that the outside curve has a different curvature than the inside part (as viewed from the top). This generally means that shell won't work for this situation, since it creates things using offset and offset constructs parallel shapes.

Since the outside shape is no longer a sphere surface, you will definitely need to use something like Network to create a new surface out there... Maybe in the future it will be possible for me to add some more options to several of the commands to specify that you're doing a protrusion from a base surface. If there was a way to specify that then it could probably do the boolean stage for you. But it will be a while before I'll be able to work on that.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  WillBellJr
685.17 In reply to 685.16 
Thanks for your consideration Michael - YES, I do believe I have the ghosted lines turned off - and I definitely didn't realize that I could select using the ghostings! If I had I prolly wouldn't have turned them off!

YES it would have been great having a network cap to those surfaces! Perhaps as you said, there might be something like this in the future.

I included the full picture in my post just to give you an idea of what it is I'm attempting to construct. Of course the picture has artist drawn perspective distortion (which in itself may not be accurate) but it was still easy for me to develop a decent rendition (imo) using the orthogonal views.

Being that this project is my way of teaching myself MOI, I'm sure if I were to do it all over again I'd do it much easier (it's always easier the 2nd time around!)

But yes, I believe that was the answer - if the shape has 3-4 curves on the end just attempt to network close them into a solid - that's certainly what I'm doing anyway!

-Will
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
685.18 In reply to 685.17 
Just a quick note - if you find yourself wanting to toggle hidden line display on or off frequently, put this command on a shortcut key:

script: /* Toggle hidden line display */ moi.view.showHiddenLines = !moi.view.showHiddenLines

EDIT: updated script to work with v2.

- Michael

EDITED: 20 Mar 2011 by MICHAEL GIBSON

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
 From:  WillBellJr
685.19 In reply to 685.18 
Thanks Michael for the script - added!

(Boy these script drops around here are like nuggets 'o gold!)

-Will
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged
 

Reply to All Reply to All