Booleans with open surfaces?...

Next
 From:  WillBellJr
3197.1 
I gleaned a lot of NURBS thought process from watching this solidThinking video:

http://www.youtube.com/watch?v=a2YyWaCfQPw



Again I see I'm cursed from a past of starting with polygons before getting a hold of NURBS (Rhino at first and now MoI).

Everything up till about 03:20 seems like it's directly applicable while using MoI.

Even though he's making a watch, I can see myself using this technique for making my spaceship hulls way more interesting by making different shapes and joining them (bools and fillets) to the main hull. (I still mostly try to get my desired shapes from the earlier stages instead of adding components later...)

I also like how he creates his cutting planes, shapes and curves them first before he trims and cuts.

The way he's easily joining surfaces to me feels like he has somewhat more freedom then what is required of us now with MoI (solids).


I realize this his how NURBS modeling is typically done (especially seeing someone else do it is inspiring) but I still model in a clunky fashion coming from a polygon mindset - I haven't achieved NURBS nirvana like in this video yet...


I know that currently MoI's booleans behave better when working with closed surfaces / solids so attempting techniques like this now might not be that fruitful.


Michael, will MoI in the future work as easily with open surfaces as with solids - similar to say this video, or will we always need to use solids so things like the booleans and normal directions come out properly?

-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:  Paolo (PAOLOLOBBIA)
3197.2 In reply to 3197.1 
Hi WillBellJr,

Just a little sidenote:

I used SolidthinkingLt and the update(Forma) a few years ago,
and it crashed all the time.
Thats why i switched over to Rhino and later on to Moi.

I am not sure if the actual versions,are as stable as Moi is.

Regards,
  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:  BurrMan
3197.3 In reply to 3197.1 
Hey will, try using "trim" with your open surfaces. Then you have the option to remove or keep your parts and join them together.
  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
3197.4 
Hi guys, it doesn't surprise me, Paulo that sT may be flakey in areas - a lot of software is advertised to do wonderful things but once you purchase the product and start using it, all the faults and limitations start to show pretty quickly...

Thanks Burrman, yes I have started using trims more and more. It was just when watching that video, I see that I still don't model in the fashion shown - creating profile curves (3 or more) and then creating sufaces from them to build up my shapes.

I need to practice more creating curves from multiple views; I typically just use planar curves for things but that limits the kinds of surfaces I start off with for my objects.

Likewise I'm still not in the habit of joining a lot of separate surfaces to build up solids - I believe that comes from when I was first using Rhino and sometimes I'd try to join surfaces and they wouldn't - I've learned a lot since then, especially now after switching to MoI, so that's a fear I can probably let go of now...


Again for me, watching that video it makes me realize I still use MoI as a polygoon modeler that just happens to have decent boolean and trimming toolsets.

At times I wish there was a "NURBS Modeling for the Poly Modeler" DVD or book to help me break my old habits.



-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:  Colin
3197.5 In reply to 3197.1 
Hi Will,

Like you, I too struggled with this same problem of not knowing which to use on what item.
Finally I had one of those moments where the "penny dropped"...& now I'm getting consistent results more often.

FWIW here's how I look at various items & what I'll do with them.

Lines, Curves, Surfaces = Trim
Solids to Solids = Boolean

I know that the first thing everyone's going to say is "a Solid can be Boolean Diff with a Curve" & that's true!...
...the thing is there's always "Exceptions" to the Rule.

At the end of the day, what I really needed was to find some way of "thinking" that helped me remember what tool to use.
Solids = Booleans & everything else = Trim

Hope this helps you too, Colin
  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:  DannyT (DANTAS)
3197.6 In reply to 3197.1 
Hi Will,

> I realize this his how NURBS modeling is typically done

Well, just to confuse you further that's one approach.

It's funny to see modeling software called Solidthinking and this guy shows you mainly surface modeling, from an engineering point when CAD started in 3d we modeled in wireframe only, we built up 3d objects with curves in a 3d environment for visualisation of the product and made 2d working drawings from that, then surfaces come into it and the modeling technique was exactly like the video you showed (apart from the history editing) and that was the '80s, then came solids, where the model is represented as a volumetric mass which most NURBS modelers use today along with the surfacing tools.

It depends on the software and the person driving it, for example, Michaels tutorials of the starburst, crown of clubs and six-legged pod are a solid modeling approach where Michael creates solid masses and fuses (Boolean) them together.
So it really depends on the model, like if you modeled the 'six-legged pod' with the surface approach, I think it would take you much longer to model, that's why solids is so nice all the trims and joining is done for you, on the other hand if designing a car in NURBS, predominantly the body would be made using surfacing tools.

I'd say have a look at other videos of different 3d solid modeling software and you'll see different techniques.

Hope this hasn't discouraged you any, but if you enjoy it stick with it.

This is what the forum is for, if you have something in mind, post it and you'll see the different techniques that people will use, not that any of the techniques will be wrong or right, if the outcome is the same then it's up to you what technique feels more comfortable, I used to tell the Toolmaking apprentices this when they were confused when different tradesmen would show them different methods in achieving the same thing.

Cheers
~Danny~
  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
3197.7 In reply to 3197.1 
Hi Will, it sounds like you may be working off of a few incorrect assumptions...

The way you wrote your message here, it sounds like you are expecting that there is only one single way to do "NURBS modeling", but that's not really the case.

The method that is used in that video is kind of an older style method that focuses on creating surfaces individually rather than working with solids. That's kind of inherited from the Alias Studio software for doing industrial design styling.

On the other hand there is a solid modeling type NURBS workflow that is based more off of creating a solid from 2D profiles, rather than building it on an individual surface by surface level.

The surface modeling toolset can be effective to construct objects that do not have much of a 2D template to them, things like swoopy freeform surfaces, etc... but it also tends to be an overall more difficult stategy that requires you to know more tools and to gain more experience about how to apply the tools, whereas the solid modeling toolset tends to be much simpler and not require as much dedication or learning curve to master.

MoI has elements of both kinds of workflows in it, stuff like doing Trim and Join of individual surfaces is using the surface modeling toolset, and things like drawing 2D curves, extrusions, and booleans are more from the solid modeling toolset.

Because the solid modeling toolset is easier to learn, I generally encourage people to focus on that aspect because it tends to get simple models done much faster but it is not the only way to use MoI.

quote:
Even though he's making a watch, I can see myself using this technique for making my spaceship hulls way more interesting by making different shapes and joining them (bools and fillets) to the main hull.

Yeah, you can use these kinds of techniques with MoI if you want as well - typically instead of booleans you will use Trim to cut your surfaces in this workflow. Also there is a surface modeling mode for Fillet as well - if you select 2 individual surfaces when you run Fillet you will get a Surface/Surface fillet constructed.

It seems as if you are writing this as if MoI does not have a join tool? But it does, it is located right here:



quote:

I also like how he creates his cutting planes, shapes and curves them first before he trims and cuts.

Again, you write this as if you cannot do this in MoI, but that is not the case. If you wish to, you can do the same process of building planes, shapes and curves first and then after constructing the surface, use the Trim command in MoI to cut things up. The Trim command is located here:





quote:
The way he's easily joining surfaces to me feels like he has somewhat more freedom then what is required of us now with MoI (solids).
Well once again I don't understand - why do you write that you are required to use solids in MoI when that is not the case?

You are not required to use only solids in MoI, if you were there would not be any Join, Separate or Trim commands available. But those commands are available in MoI, you can use a surface modeling approach with those tools if you wish.

I don't tend to recommend that people start with that method because doing things with solids tends to be a much easier and faster way to operate MoI. So I tend to steer people towards the solids toolset more often.

quote:

I realize this his how NURBS modeling is typically done (especially seeing someone else do it is inspiring) but I still model in a clunky fashion coming from a polygon mindset - I haven't achieved NURBS nirvana like in this video yet...

But again you seem to have an incorrect assumption - that's not how all NURBS modeling is typically done, it is how a certain kind of more specialized NURBS modeling is done. The actual most common method for NURBS modeling is solids modeling like SolidWorks, Pro/E, etc... use, for mechanical parts design.

Also keep in mind that in the video you are seeing someone who has spent a lot of time learning how to apply those more difficult and advanced tools. That style tends to be a more advanced and time consuming style of NURBS modeling to learn.

quote:

I know that currently MoI's booleans behave better when working with closed surfaces / solids so attempting techniques like this now might not be that fruitful.

But again you have even another assumption here - it is true that MoI's boolean tools are oriented more towards solids. But the booleans are not the only way to cut objects in MoI, there is also the Trim command - for surfaces you use the Trim command to cut them rather than the boolean commands to cut them. The result is still a cut surface....

It sounds like you have jumped to some assumption that if you have a non-solid you cannot cut it up in MoI?? But that is totally incorrect - you just cut it with the Trim command instead.

quote:
Michael, will MoI in the future work as easily with open surfaces as with solids - similar to say this video, or will we always need to use solids so things like the booleans and normal directions come out properly?

There's no need to wait for the future - open surfaces work already in MoI since version 1.0 .... You just use a different cutting tool to work with them, instead of using booleans use the Trim command.


So I don't really know where you got the idea that you are totally restricted from using open surfaces in MoI.... That's certainly not true!

It's just that I encourage people to use solids more often since in many cases you can get things done more quickly and easily that way.


Do you have a hangup just because of the names that MoI uses for the tools? It sounds like you would prefer if Trim was called "Surface boolean" instead of just "Trim" - some programs may label things in different ways like that, but it is just a label so don't let that get you confused.


Solids modeling and the boolean commands are a kind of assisted Trim, where the pieces that are discarded are selected automatically by the relation between volumes.

Trim and other surface modeling tools are at more of a "low level" - you can get the same result as a boolean by doing Trim + Join, it's just that it is not as convenient since you will have to do more picking on different parts of the model to specify what you want to throw away.


- 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
3197.8 In reply to 3197.5 
Hi Colin,

quote:
At the end of the day, what I really needed was to find some way of "thinking" that helped me remember what tool to use.
Solids = Booleans & everything else = Trim

Yup, that is a pretty good way to sort it out.

If it helps any, the way it really works is that both Trim and the Booleans have a lot in common in that they calculate intersection curves between objects and cut them into pieces.

In fact, booleans are basically like a kind of "batch mode" for Trim where they do the same job as Trim + select pieces to discard + Join the results.

It's just that they automatically pick which pieces to discard based on the relation of the piece to the different volumes, like Difference throws away pieces that are internal to the cutting object only, Union throws away pieces that are internal to all objects, etc...

It's possible to not use the booleans at all and instead use Trim + Join for everything, it's just less convenient because it will involve more selection picks to tell which pieces to throw away.

So if you have solids, the booleans just offer you a way to handle cutting more conveniently with less selection of individual parts needed, that's pretty much it...

But the added convenience is pretty nice though and can save a lot of time, so it is worthwhile to steer towards that direction when you have a choice about it.

- 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
3197.9 
Hi Michael, I think you've misunderstood some of my statements in my post.

This post was a realization for me that I still don't model or have the modeling mindset of someone who is well versed in NURBS modeling and a question about MoI's current status with surface editing.



Yes, I realize I can do surface editing with MoI as it is now, and yes, I realize I can join / trim surfaces etc.


I had stated that I've mostly shied away from doing more surface modeling (or working with open surfaces) due to having I guess, bad experiences with Rhino trying to attach different surfaces in the past. I've learned a lot since then especially after moving to MoI.

I also noted that I feel my biggest weakness is not creating and using more curves for defining my objects - especially curves drawn from multiple views. I still find it hard sometimes to start a curve clicking a point in say the top view but having it line up to another position in the side view port. Which leads to me making a mental note that I should perhaps use more point objects for reference (and practice more)...


I still avoid surfaces (now) because previously when exporting them out to polys, the normals would be flipped on some of my objects upon import into my poly apps.

I don't know if you've fixed this in the latest revisions of MoI so I've always tried to make everything solids while I work in MoI and delete faces in my poly apps.

So that was the final question I asked - is it okay to work with (and export) open surfaces?

-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
3197.10 In reply to 3197.9 
Hi Will, sorry I misunderstood... But really many parts of your message seemed to imply that you could not accomplish some particular thing in MoI.

Like for instance here:

quote:
I know that currently MoI's booleans behave better when working with closed surfaces / solids so attempting techniques like this now might not be that fruitful.


That certainly sounds to me like you think you cannot do anything to cut up open surfaces in MoI because the booleans are oriented towards working with solids.

But again, the workflow is that you use Trim to cut up such things rather than booleans. Trim accomplishes that result and will allow those techniques to work.

Many other parts of your message seemed to indicate that you thought such techniques would not work in MoI because you were forced to only work with solids in MoI but that is not the case.


> I don't know if you've fixed this in the latest revisions of MoI
> so I've always tried to make everything solids while I work in MoI
> and delete faces in my poly apps.

It's not really something that is possible to be fixed - MoI needs to know about which surfaces have shared edges in order to make a consistent mesh with shared normals and shared vertex structures between each one.

That's not unique to MoI, it's the same in any NURBS modeling program that works with surfaces.


> So that was the final question I asked - is it okay to work
> with (and export) open surfaces?

It's fine to work with them, you just use Join at the end to glue them together as the final step before you export.

That's the same with other NURBS surface modeling programs as well...

Where did you get this idea that a NURBS surface modeler is going to export consistently aligned normals and a watertight mesh without having the connections between the surfaces specified?

Some programs may just call it by a different name than Join, like solidThinking calls it Sew I think for the same function. Also possibly some programs may do it as an extra calculation that is built in to the export process itself. I don't know if that is such a good thing to do since it would make it harder to examine the joined result and see if there were any problems.

- 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
3197.11 In reply to 3197.10 
Hi Michael

quote:

Hi Will, sorry I misunderstood... But really many parts of your message seemed to imply that you could not accomplish some particular thing in MoI.

Like for instance here:

quote:

I know that currently MoI's booleans behave better when working with closed surfaces / solids so attempting techniques like this now might not be that fruitful.


That certainly sounds to me like you think you cannot do anything to cut up open surfaces in MoI because the booleans are oriented towards working with solids.

But again, the workflow is that you use Trim to cut up such things rather than booleans. Trim accomplishes that result and will allow those techniques to work.

Many other parts of your message seemed to indicate that you thought such techniques would not work in MoI because you were forced to only work with solids in MoI but that is not the case.


When I said behave better again that was because when I attempt to use booleans with open surfaces, they mostly would perform as trims - trying it now, I took two open surfaces, did a boolean add - the two surfaces are still separate and there's a little piece that I needed to delete that would have been removed if these were solids.

You've now explained to me that trims are used for surfaces - at times I was still using booleans hence my impression about solids being preferred over surfaces within MoI.

There was also the issue with the surfaces normals for open surfaces that added even more reinforcement to my perceptions.


quote:

> I don't know if you've fixed this in the latest revisions of MoI
> so I've always tried to make everything solids while I work in MoI
> and delete faces in my poly apps.

It's not really something that is possible to be fixed - MoI needs to know about which surfaces have shared edges in order to make a consistent mesh with shared normals and shared vertex structures between each one.

That's not unique to MoI, it's the same in any NURBS modeling program that works with surfaces.


...And this is what I needed to know and why I asked - as far as my experience with NURBS, it has only been though Rhino up to v2 and now MoI.

Now I did perform a test yesterday, exporting two joined surfaces into Cinema 4D - all the normals were in the proper direction, but the app I really need to test is Lightwave since that's the one that exhibited the flips the last time I ran across the issue.

quote:

Where did you get this idea that a NURBS surface modeler is going to export consistently aligned normals


Never had the idea at all since my experience is now mostly with MoI - if that is a problem with other NURBS modelers, now I know.

quote:

and a watertight mesh without having the connections between the surfaces specified?


Here you've totally misunderstood my post.

I have a full understanding of NURBS surfaces and solids - that things need to be joined to be water tight I would never expect to just butt two surfaces together and expect them to be implicitly joined while modeling or during export. I wasn't saying that in my post at all.


I'm sorry if you felt or it appeared that I was attacking MoI's capabilities, I was really just wondering if it was now okay to boolean and export open surfaces.

Looking back at my original post:

quote:

Even though he's making a watch, I can see myself using this technique for making my spaceship hulls way more interesting by making different shapes and joining them (bools and fillets) to the main hull. (I still mostly try to get my desired shapes from the earlier stages instead of adding components later...)

I also like how he creates his cutting planes, shapes and curves them first before he trims and cuts.

The way he's easily joining surfaces to me feels like he has somewhat more freedom then what is required of us now with MoI (solids).


I realize this his how NURBS modeling is typically done (especially seeing someone else do it is inspiring) but I still model in a clunky fashion coming from a polygon mindset - I haven't achieved NURBS nirvana like in this video yet...


What I was saying here was that it appeared easier for him to join surfaces - making an assumption that he was using bools (I didn't notice any separate trim/join - but that's not to say he didn't do that.)

By freedom I meant it appeared that joining surfaces was a single step operation as it is now for MoI with solids.

Finally my question to you was:
quote:

Michael, will MoI in the future work as easily with open surfaces as with solids - similar to say this video, or will we always need to use solids so things like the booleans and normal directions come out properly?


Which was asking would booleans for open surfaces ever be as easy as with solids (from my impression in the video) and will the normal directions (be fixed) when exporting surfaces.

You've informed me that trims & joins are the methods within MoI for working with open surfaces and that fixing the export normals for open surfaces is something that's not possible and that all open NURBS surfaces would exhibit flipped normals.

There's my answers...

-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
3197.12 In reply to 3197.11 
Hi Will, thanks for clearing that all up - I didn't really think you were "attacking" MoI, it just seemed like you had jumped to a variety of assumptions, maybe because things happened to be named differently in MoI than what you had seen in that other video or stuff like that.

Also I have definitely steered people towards working with solids while they are modeling, but more because it can save a lot of time, not because it is absolutely "required".

- 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
3197.13 In reply to 3197.11 
Hi Will also one other note:

quote:
Now I did perform a test yesterday, exporting two joined surfaces into Cinema 4D - all the normals were in the proper direction, but the app I really need to test is Lightwave since that's the one that exhibited the flips the last time I ran across the issue.


Also when you join pieces together, what it will do is give you a _consistent_ normal between each piece.

However, unless it has joined all together into a solid, it is possible that the whole piece may not have the normal direction that you want.

That's something that happen in any 3D app where you are not working with closed objects, including polygon modelers as well - it's why there is a flip function in all polygon modeling programs.

If you have everything closed up into a solid, then again one of those convenience features kicks in and MoI will know how to automatically orient things to the "outside" of the solid. But if you do not have a solid MoI (and any other 3D program really, including NURBS and polygons as well) does not have any good way to know which side is supposed to be the outside.

So if you work with open objects in MoI instead of solids, you may need to flip your object at some point, either in MoI (set up a keyboard shortcut and put in Flip as the command name), or more likely in your polygon modeling program where the normals have become important to you.

But again that is not something specific to MoI - any 3D modeling program that works with open objects may require flipping at some point because it is not generally easy for software algorithms to recognize which side of an open mesh is supposed to be the "outside" part, since there is only a clearly mathematically defined inside and outside with closed objects. Without it being clearly defined, it tends to require human judgment to say which way they are supposed to go and it is difficult to emulate human judgment in software.

But Joining will still help you significantly because it will make the whole joined piece at least have a consistent normal throughout it, so that individual sub-pieces of the joined object do not need to be flipped independently, just the whole thing may need flipping still.

The only way you can avoid the need to potentially do any flipping at all though is to make solids before exporting the mesh - that's the case where it is handled for you automatically.

- 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
3197.14 In reply to 3197.11 
Hi Will, so just an example with flipping...

Say you are in a polygon modeling program and you create one polygon like this:



Then you add a second polygon here:



And then a 3rd one here:




At this point you have a mesh with 3 polygons. It does not necessarily have its normals oriented towards what now appears as the "outside", you may need to flip it. It depends on how the first polygon was drawn and what direction it happened to start out with.

The polygon modeler doesn't really understand that the first created polygon was supposed to be the front face or the back face or whatever of the final object.

The same thing will happen when working with NURBS surfaces as well - it's not something that is a bug to be fixed, it's something that is part of working with open geometry in any kind of geometry system.

So it is not unexpected or abnormal or a bug that you may need to flip open pieces, it's an expected part of the workflow.

But if you work with solids, it is another thing that you can avoid worrying about because it then does get handled for you.

- 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
 From:  jbshorty
3197.15 In reply to 3197.2 
Paolo wrote: "I used SolidthinkingLt and the update(Forma) a few years ago, and it crashed all the time..."

Same experience here. I once spent a few weeks thoroughly testing ST as i wanted a parametric modeler to complement Rhino. To me, it was then (and probably still is) the most similar parametric system to Rhino (and now to MoI) in the overall feeling. But stability was always an issue. Even simple history modifications would often crash it. I will give ST developers some credit as it has some really cool features such as point editing a surface and not breaking history from the input curves. But then there are other things (those things which may be done 20 times in a session) which are so much more complex to do than in MoI or Rhino.

jonah
  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