Surface Modeling Basics and Troubleshooting  1-20  21-22

Next
 From:  Rogurt
4751.1 
Hello

While having experiance with polygonal modeling for nearly a decade I still have troubles with modeling in moi when it comes to what parts will stay editable, why wont objects connect properly and why the heck filleting wont work in so many situations.

In a very old post (69.2) a debug information window was mentioned. Has this idea been considered? And how about a tutorial like "things that could circumvent sucessful fileting" or thelike.

Maybe for the engeneer such thinngs are quite clear but the 3D artist is havin severe problems (some friends of mine also)

Cheers
Rogurt
  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
4751.2 In reply to 4751.1 
Hi Rogurt, well unfortunately there are a whole lot of potential things that can interfere with filleting. Things like surfaces that fold back over themselves so that they are self intersecting, tiny edge fragments or surface fragments, complex junctures where you have a whole lot of edges coming together to a single shared point, and also just simply not having enough room to fit the fillet in the given space...

The main approach I have for helping people is when you are running into a problem, please post the model file that you are having problems with and that will let me point out the areas within that particular model that are the most problematic.

For staying editable, do you mean being able to turn points on? There is some discussion on that in this FAQ topic here:
http://moi3d.com/wiki/FAQ#Q:_Why_does_show_points_work_for_some_objects_but_not_others.3F

Do you have any example file that you can post where you were having difficulty filleting?

Basically the main thing that tends to help is having a high quality clean and accurate model - there are several ingredients to that, like having pieces line up accurately to one another (make sure to use snaps and don't just eyeball things to be close to one another), and trying to make a more simple structure with fewer surfaces and edges in it instead of having things split up into small fragments that are not necessary.

Usually the base ingredients to have a clean model are in the initial curve framework that you create, so it's very worth it to make sure that you have good quality in those initial curves, because things like curves not being tangent to one another or squiggling back on top of themselves will end up inherited into the surfaces that are generated from those curves as well.

But it is much easier for me to give you some specific advice when it is targeted at a particular model file.

- 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
4751.3 In reply to 4751.1 
Basically any example models for any of the problems you are talking about would really help to explain what you were running into in that particular case.

There are so many different possible ways that a model can be messy that it's not easy for me to 100% identify what particular issue you ran into just by those general descriptions...

Filleting involves a sequence of several pretty difficult calculations, stuff like generating surface offsets, intersecting those offsets, building fillet surfaces, extending and intersecting fillet surfaces, and constructing corner patches where several fillet pieces collide together. Each one of those stages can be sensitive to certain kinds of things.

- 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
4751.4 In reply to 4751.1 
Hi Rogurt, here are a few previous discussion topics where there was some troubleshooting done for filleting, not sure if any of these have to do with your particular cases though:

http://moi3d.com/forum/index.php?webtag=MOI&msg=4475.6
http://moi3d.com/forum/index.php?webtag=MOI&msg=4321.2
http://moi3d.com/forum/index.php?webtag=MOI&msg=4192.1
http://moi3d.com/forum/index.php?webtag=MOI&msg=3829.1
http://moi3d.com/forum/index.php?webtag=MOI&msg=4712.1


Those may give you some ideas, but really the primary way to troubleshoot a particular problem is to post the model file here in the forum.

- 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:  Jops
4751.5 In reply to 4751.3 
Hello There,

I really consider purchasing this nice and friendly pice of software. Unfortunately I also run into this glitches with filleting and booling all the time.

here you can download a file:

www.webarts.net/stuff/moi/moi_example.3dm

I joint everything and it will not bool or fillet nicely. The worst thing is that I do not even know where the problem is. I guess the geometry is not closed, but I eally can not find the spot :(

all the best

Jops
  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:  Shaun (MOISHAUN)
4751.6 
There is a script that will select open edges for you so you can boolean. I can't fish for it now because I'm at work but someone will probably post it for you.

Sometimes you have to scale your model down to a tenth of the size in order to meet boolean tolerances. It's a workaround that I hope goes away. I'd much rather have editable tolerances.

Lastly, I quit using the fillet tool and make my own with blends, lofts and stuff. It sounds like a lot of work (and I guess it can be) but you get total control over how the fillet ends up.

I came from the poly modeling world too. It took me a long time to readjust myself to the way surface modeling works. You'll get there. The best advice I can give is to slow down. Try some basic tutorials. It might seem like going backwards but when you learn to "think" in terms of surfaces you can really model so much more freely.
  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:  Jops
4751.7 In reply to 4751.6 
Hi Shaun,

thanks for your reply. I actually really like the aproach of surface modelling. I peaked also into Rhino. It seams to be areally complecated but on the other hand complete and a good tool. Moi on the other hand is so smooth and easy to use, but only as long as it works. and somehow i get the impression that nobody really knows why and under witch conditions things work out fine. Is moi , once you got used to it, capable to handle bigger and more complicatded modeltasks, or is it "just" for the smal fast and simpler things?

thanks and best regards
Jops
  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:  Rogurt
4751.8 In reply to 4751.7 
Hi all

@Michael thanks for your advice. I´ll peak into that links you posted. Have you considered a debug window? The model i´d post is the same as jops (due to the fact that he asked me for help on that but I couldnt cope so he also tried it with the demo)
  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:  SteveMacc (STEVEH)
4751.9 
Jops,

MoI can handle very complex models. It depends on your hardware.

The example you posted had many open edges, so it would not convert to a solid. If you seperate all the surfaces, then scale the whole lot down by a factor of 10, they will join to a solid. Then scale it back up again.

However, creating the model in the way you have, surface by surface is not the best way to approach Nurbs modelling. You should try to maintain solids as much as you can. In this case, you could create the outline in top view, extrude it , then create curves in the side view to slice off the top and bottom.

Once you have a solid model, you can refine it with booleans. You can also delete surfaces and remodel them if you need to, using blends, etc, always coming back to a solid.

It is very rare in my experience to ever have a model that is just surfaces. In the CAD world, the resulting model should always be a solid, usually by shelling if you have built from surfaces. It is impossible in the real world to have something with zero thickness.
  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:  Shaun (MOISHAUN)
4751.10 In reply to 4751.7 
I understand your frustration. At first getting a solid to form properly can seem like a never ending puzzle. But I would not go as far as saying no one knows why things don’t work.

If you search for posts under my name you will find discussions on the very problems you’re having.

Yes, other programs may have tools that can save time on specific tasks. But over time those tools turn into bloat. MoI’s strength is it’s simplicity.

As for your final question, it depends on what you mean by “simple.” Take a look at the violin (especially the scroll) someone posted a little while ago. Some may consider that simple, but I do not.
  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
4751.11 In reply to 4751.5 
Hi Jops, thanks for posting your model file.

So kind of the basic problem that you're running into here is that you seem to be modeling this more by drawing a whole lot of separate 3D curves and then trying to create a lot of separate individual surfaces one piece at a time.

By working that way, you're basically trying to use the most advanced and more difficult to learn modeling style right off the bat, rather than leveraging solids modeling and 2D curve drawing techniques which is where NURBS modeling is actually the strongest and easiest at.

Have you watched the video tutorials available from here:
http://moi3d.com/2.0/docs/tutorials.htm

notice in those tutorials that I try to keep pieces as a solid and carve pieces off of that solid with 2D curves instead of building an entire 3D curve structure that gets filled in which is how I think you're trying to work.

I guess part of that has to do with your particular model shape that you've picked to create though.

Which tool have you been primarily using to build the surfaces, is it Network? If so then you're probably running into the issue described here:
http://moi3d.com/forum/index.php?webtag=MOI&msg=3939.2

This is fixed in the v3 betas right now, but in the current v2 demo version network uses a looser tolerance than most other things in order to try and make lighter weight surfaces but that can cause it to not be within join tolerance. That particular problem can be solved by scaling your current model down by 1/10 in size and then doing the join - it will then join into a solid.

But it looks like you have some other surface defects in your model as well, which are caused by using a couple of surface techniques that are not well advised - the particular problem is the top and bottom surfaces which look like they have 2D silhouette but instead of actually using a 2D curve to cut with, they appear to be surfaced between 2 3D curves that touch each other at their ends. I'm referring to this bottom surface here:



If I turn on control points for that surface you can see they look like this:



At first glance that might seem like it's all ok - and in fact is ok in these areas where the points are fairly far apart from each other here:



Where it's not ok is in the very tip area where the points have collapsed down on top of one another:



It's very easy when points get collapsed down like that for them to be in a somewhat jumbled mess right in that collapsed region - if your input curves curved evenly slightly inwards where they met it will form a self-intersecting surface that overlaps back on top of itself right in that small area. Such self-intersecting surfaces will cause numerous problems with surface/surface intersection calculations.

In this case, it seems that the area on the right-hand side of the bottom surface is the one that has that kind of jumbling/self-overlapping in it.

See this previous post for some additional description of this kind of folding and self-intersection shape:
http://moi3d.com/forum/index.php?webtag=MOI&msg=1127.4


If you have a top or bottom piece of something that has a 2D silhouette to it, it's much better to build things to be taller and then do a cut with a 2D curve to form the top and bottom surfaces instead of trying to surface them directly between 3D curves like that. When you cut with a 2D curve, the surface that is generated will be an extruded surface which will have no control point pinching in it at all, and it will have trims on it that trim off the excess area.

Trying to build everything directly to 3D curves is basically the problem - you need to try to leverage more simple surface structures that get trimmed instead of trying to build every single surface directly to its final edges.

It tends to take a while to get the hang of using extended surfaces and trims.

Really you're kind of jumping immediately into somewhat advanced territory with what you're trying to do - that's why you're experiencing frustration.

Try to think more about building some basic block-form of your shape initially and then cut that block to form your final shape rather than focusing so much on getting a complete scaffolding of 3D curves to start with.


Some previous discussions with examples of stuff like that:

http://moi3d.com/forum/index.php?webtag=MOI&msg=4657.11
http://moi3d.com/forum/index.php?webtag=MOI&msg=3795.2
http://moi3d.com/forum/index.php?webtag=MOI&msg=4298.4
http://moi3d.com/forum/index.php?webtag=MOI&msg=4163.1
http://moi3d.com/forum/index.php?webtag=MOI&msg=2282.2


Basically for this style of surface modeling you need to consider trimming as one of the basic tools that you'll use in combination with the surfacing.

Don't try to force a surface to go through an irregular outline or get mashed or smooshed up when you are directly creating it - if you're trying to do that, it's usually a sign that you actually need to create a more simple big extended sheet surface that then gets trimmed to produce the final surface result.

Hope these tips help!

- 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
4751.12 In reply to 4751.8 
Hi Rogurt,

> Have you considered a debug window?

Yes, I want to have a type of debug console that could give you back error messages. I have not quite yet figured out where to put it in the UI though.

Also for a case like you've got here, there is more than one problem happening - one of the big problems is that one of the surfaces is messed up right near its tip where it has everything collapsing down to a single point, it's folded back over itself right in that area, see this post for a description of that kind of self-intersecting surface:
http://moi3d.com/forum/index.php?webtag=MOI&msg=1127.4

I'm not sure that a debug window would be able to solve that particular problem.

That one particular surface would be better created by an extrusion that is then trimmed - if you have a solid shape that's like a big block you can do that by directly booleaning the solid block with a 2D profile curve - that will carve the solid into pieces and the caps will be simple extrusion surfaces that are trimmed down, rather than surfaces with bunched together poles at their tips.

The main problem here seems to be trying to build too many things directly to irregular outlines instead of using cutting and trimming methods. Your model will be of much higher quality if it is made up of simple surfaces that have trimmed away portions rather than surfaces with bunched together control points and self-intersecting small areas in them.

Basically something that looks like a 2D profile should actually be generated by a 2D profile and not surfaced directly between 3D curves instead.


Really NURBS modeling is by far the strongest and most useful when you're able to leverage 2D curves more often. If you ignore 2D curves and cutting operations you won't be using the toolset in its best way.

It's easiest to use 2D curves when you focus more on making solid block shapes and then carve the solids up with 2D cutting curves, rather than building your model in a "patch by patch" manner between a completely 3D curve scaffolding.

You can use surfacing to fill in particular local areas, or also to construct a surface to use as a more customized cutting object rather than a 2D curve. But don't try to create surfaces to generally non-rectangular outlines because you'll end up with poor surface quality when they have bad pinching or bunching in them.


- 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
4751.13 In reply to 4751.1 
One thing that I've noticed is that people coming from a poly modeling background have difficulty with thinking of trimming and cutting operations as a "first class" primary way to do modeling.

I'm sure that's because booleans just don't work very well in poly modeling and they're usually something that people have learned to completely avoid, and instead to construct all pieces of the model by edgeflow lines.

That's probably the biggest difference between poly modeling and NURBS modeling - in NURBS modeling trimming/cutting/boolean operations are usually actually the best way to get things done, so it actually is better to try to figure out if you are able to use them as the first plan of action rather than trying to avoid it.

You can use the freeform surface creation tools as well, but you generally want to use them to form large extended surface sheets and you usually should not try to directly surface all the final edges of your end model - instead many of those final edges should come from intersections and cutting operations, particularly things that have a 2D profile to them.

Once you get the hang of this, things can go very quickly though, because it is actually much quicker to build things in this way since drawing and managing 2D curves is easier than managing full 3D swooping stuff.

Not every kind of model is applicable to this kind of workflow - if your shape does not have any kind of 2D profiles to it then you'll need to use a more full 3D workflow, but even then you'll still want to try to build simple extended surfaces and you can cut those surfaces with other 3D surfaces rather than curves, it's just easier when you are able to use curves directly.

If your model does not really contain any kind of shape in it that you can identify as the full underlying form that is then cut, then that's the kind of model that's better done with poly modeling tools instead - think of stuff like an ear or a nose or something like that - those work better with poly modeling tools.


But for mechanical or man-made shapes that often manufactured by having pieces cut out of some larger initial stock, the NURBS workflow can produce that stuff really quickly (and also more accurately) than poly modeling, but you basically need to approach it in almost the same kind of way that it's actually built - try to think about making "pieces of stock" like a big sheet or a block that will then have some areas removed to make the final shape.


- 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
4751.14 In reply to 4751.1 
Also a couple more previous discussions on why you usually want to make the top and bottom surfaces like that as extrusions and not with a pinched-together surface:

These have some more illustrations and explanation:

http://moi3d.com/forum/index.php?webtag=MOI&msg=4344.2
http://moi3d.com/forum/index.php?webtag=MOI&msg=3956.1


You can make a pinched-together self-intersecting "bad" surface if the only thing you want to do with it after that is just look at it or export it to a rendering program.

But if you want to do more modeling operations on it, particularly ones that involve surface/surface intersection like booleans or filleting, then you'll run into a lot of problems.


Just being pinched together itself is not really the problem - it's how things are shaped in the neighborhood of the pinching. It can be possible to create an ok surface that way as long as you're very careful about how the curves are shaped in the area where they touch, they should be exactly symmetrical and have a shared tangent and especially don't have any inward curving shape like this:




Even the slightest bit of something with that kind of shape will make a bad surface that folds over itself in that tip region. It's so easy for that to happen that it's really best to plan to make such things as trimmed extrusions from the beginning though.

- Michael
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:  ed (EDDYF)
4751.15 
"... for mechanical or man-made shapes that often manufactured by having pieces cut out of some larger initial stock, the NURBS workflow can produce that stuff really quickly"

Yep - that's how I got my head wrapped around the NURBs method (fortunately MoI was my first & only modeling tool, so I didn't have to un-learn anything.

My background is as a machinist. So I look at modeling exactly as Michael describes. If I want to make something in the shop, I pick a solid chunk of metal that is closest to my final result: Round bar stock for something made on the lathe, a solid block for something made on the mill. CNC tool paths on the machine correspond to trimming with curves in MoI for getting to the basic shape. From that basic foundation you have many other tools available.

Kind of like when I used to carve a bar of soap as a kid (before video games were invented :) Want to carve a rocket ship? Just cut away everything that doesn't look like a rocket ship :)

Ed
  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:  Jops
4751.16 
Hello There,

first, thanks a lott!!! amazing what amound of help and good advice I get here in so short time. so, thanks a lot for that.

As you guys expected I come from poly and simple nurbs modeling. that kind of stuff that you find in most major 3D animation packages. never the less I thought I realised the main differences and the advantages of nurbsmodelling (good boolean for example). but there are quite some things that I miss interpreted. I for example thought that if you use one and the same spline for 2 surfaces that they would match together.

But as I understand your advice. never handle with something different than closed shapes. and use trims and booleans with it. doublecheck if the result is a closed shape again.

Is there a way to check whether something is a closed shape?

and the secons thing I learned: If you ever have a batch of single surfaces that you want to connect. try it in different scales. by the way to be able to define a treshhold and get a realtime feetback (color) which shapes conected would be great i think.

so... thanks a lot for your advice.. I now go on and will try to adopt it.

best regards
Jops
  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:  SteveMacc (STEVEH)
4751.17 
There is a script you can assign to a hot key that shows open edges on a joined surface. I use this but I can't remember where I got it from.
  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
4751.18 In reply to 4751.17 
Hi Steve,

> There is a script you can assign to a hot key that shows open
> edges on a joined surface. I use this but I can't remember
> where I got it from.

Yeah, that's particularly useful - you probably got it from Petr's page here:
http://kyticka.webzdarma.cz/3d/moi/#SelectNaked

The script is:

script: /* Show naked edges */ var gd = moi.geometryDatabase; gd.deselectAll(); var breps = gd.getObjects().getBreps(); for ( var i = 0; i < breps.length; ++i ) breps.item(i).getNakedEdges().setProperty( 'selected', true );


You paste that in to the "Command" part of a new shortcut key - I've got it hooked up to my N key so I can push N to show the naked edges.

- 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
4751.19 In reply to 4751.16 
Hi Jops,

> but there are quite some things that I miss interpreted.
> I for example thought that if you use one and the same
> spline for 2 surfaces that they would match together.

Well, that actually should be the case - or at least the stuff generated from the same curves is supposed to be close enough to be joinable.

But some kinds of surface creation methods involve some kind of refinement of the generated surface until it hits a certain level of accuracy - in MoI v1 and v2 the Network command uses a somewhat looser tolerance than the other commands (because in some situations with a lot of generator curves it can make a really pretty dense surface), so it was possible for things built by Network off of the same curves to be just slightly out of Join tolerance.

That's fixed in the current v3 betas, but for v2 a workaround is to scale the objects down by 1/10 in size and then do the join.

So it is basically a bug in Network that's been fixed in v3.

You were not wrong with that idea really - and pretty much any other command other than Network should behave the way that you were expecting.

Right now I have not really focused so much on the workflow of building your entire model out of a whole lot of side-by-side networks, because that's kind of more advanced workflow and doesn't really leverage the greatest convenience factor of leveraging 2D curves and solids which is really where NURBS modeling has its greatest strengths.

If you want to build a shape entirely through a whole ton of Network surfaces, it can be kind of a sign that the model may have been better off build in polygons anyway - it can be difficult to get something built in a patchwork way like that to be all smooth, while polygon sub-d modeling has a nice way of smoothing and melting down a patchwork of connected polygons.


> But as I understand your advice. never handle with something
> different than closed shapes. and use trims and booleans with it.
> doublecheck if the result is a closed shape again.

Yup, that's the idea - you certainly can temporarily break things into individual surfaces for particular situations, but if you're only drawing 100% 3D swoopy curves and never doing any trims or booleans on solids, it's probably a sign that you're not really using the boolean and 2D curve toolset to its best advantage.


> Is there a way to check whether something is a closed shape?

When you select the shape, look at the object type indicator inside the object properties panel in the upper-right area of the main window. It's to the right of the object name. If that reads "solid" then it means you have a closed shape. If that says just "surface" or "joined surface" that means you have a non-solid (either just one surface or several surfaces joined together but not fully closed off).

If you do not have a solid then you can use the script in the message above in this thread to highlight the edges which are not joined between 2 surfaces, that will show you where the openings are.


> and the secons thing I learned: If you ever have a batch of
> single surfaces that you want to connect. try it in different scales.

Yup, although that's basically a workaround, but it will work. That's because when you scale objects down the gaps between the surfaces also shrink along with the whole object scale, and once 2 surface edges are within 0.005 units of one another that will allow them to be joined.

- 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:  Rogurt
4751.20 
Many thanks for all that help guys!
I´ll dig into that on the weekend since right now I´m at work...
  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

 

 
Show messages:  1-20  21-22