Joined Surfaces vs. Solids  1-20  21-23

Next
 From:  SurlyBird
3321.1 
I'm relatively new to modeling with NURBS and solids, so if this seems like a silly question, then please chalk it up to my ignorance (I did a short search on the forum but didn't see this topic addressed directly). When working in MoI, should I focus on making solids over joined surfaces - or, rather, is it bad to have a model turn out as a joined surface instead of a solid? There seems to be inherit advantages to working with solids (clean booleans, easier fillets and chamfers come to mind), but in some cases, getting a mesh to be a solid seems like more trouble than it's worth. Thoughts?
  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
3321.2 In reply to 3321.1 
Hi SurlyBird, you don't have to make things into solids but there are certain tools that are more oriented towards working on solids such as the Booleans.

Booleans are kind of like a batch process of Trim, where it cuts objects up and then decides which pieces to discard and which to keep based on where they are in relation to the volumes.

If you don't have a solid volume, then you'll probably need to use Trim rather than the Booleans, and you'll have to do a few more manual steps like manually picking which pieces of surfaces you want to discard rather than it happening by volume.

Additionally with Solids MoI is able to automatically understand which side of the object should be the "outside" of it, and will orient normals towards that direction automatically. But you may not necessarily care about the orientation of your exports if you are using double-sided materials when rendering.

So working with solids just kind of makes some things happen more automatically and with fewer manual steps, but it doesn't mean you can't get the job done without doing solids. (well, it does also depend on what your final result needs to be, if you want to produce a physical model rather than a rendering then often times a solid is needed)

But you can gain a fair amount of speed by working solids when possible rather than trying to work at more of a surface level all the time.

When you export to a mesh format, you should make sure to join surfaces to one another so they have shared edges though, even if they do not necessarily form a full closed solid, because the mesh generation treats joined edges with special care to ensure that the mesh has a unified vertex structure along those areas.


It may help somewhat if you could post a model file of what you are working on, that would give some more context to your comments and also probably enable giving some more specific advice. It's hard to know whether you would benefit much from working with solids or not without knowing what it is you are trying to do. In some cases you may save a lot of time by focusing on working with solids, and other times you may not.


It can happen pretty frequently that people get overly focused on trying to build an object only one surface patch at a time rather than taking a step back and building a larger solid and then cutting it. That's the kind of thing where working on a solid and then cutting away pieces can speed things up a lot.

Check out this previous thread for a good example of a situation where it was much more difficult to try and fill in a bunch of surface patches rather than building a larger solid and then cutting the solid down:
http://moi3d.com/forum/index.php?webtag=MOI&msg=3105.1

- 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
3321.3 In reply to 3321.1 
Hi SurlyBird, also one thing that helps with working with solids is that when you know your object is a solid you know all edges are joined.

One kind of error that can cause problems is if you have surfaces that don't properly touch each other in all areas, making some gaps and unjoined edges maybe where you don't expect.

It is possible in many situations for pieces to touch each other fully in other spaces so that an object will select and be connected together but not in all areas.

Here's an example:




So notice there that those pieces touch each other in other spots, so that they would select all together. But there is actually a gap there indicated in red - now imagine that gap is smaller in size than that so it is not quite as easy to see immediately when zoomed out.

That kind of non-joined edge can cause other problems, like you can't properly fillet edges that are not joined to one another, and a mesh generated there won't necessarily have unified vertices there, etc...

Working with a solid can just be a kind of way to keep clean model hygiene, and let you know that you don't have any unjoined edges like this.

- 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:  NightCabbage
3321.4 
Hehe, unless you're me, and manage to have this problem even with a solid :D
  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:  SurlyBird
3321.5 In reply to 3321.4 
Hi Michael,

Thanks for giving this topic your attention. I'm working on a gun (a Desert Eagle pistol) and I have had no problems with solids on every other part of the gun, but the barrel of the gun has been consistently difficult to get right. I can get a solid on the front section and a solid on the rear section, but when it comes to making the two sections transition into each other, that's where things break down and I end up with a joined surface. I'll include a screenshot and the barrel isolated from the rest of the gun for your evaluation.

I think what makes this particularly difficult is that the cylindrical shape at the end has to morph into a really weird, non-cylindrical shape. The lofts I used at the junction between the two shapes get the job done, but I'm not terribly happy with the result. To give you the history of this model, it started out as a polygonal mesh that I converted to curves via the Obj23DM converter. I then rebuilt the individual pieces based on the volumes outlined by the imported curves. I started the barrel first and worked on other pieces after that. I export this back out to my polygonal modeler (modo) and then render out normal and ambient occlusion maps to a low-resolution mesh to be used in a game engine. I am finding that moi/modo combination is really powerful and I can make a lot of changes to NURBS and solids much faster and with a lot less hair-pulling than I can a polygon mesh.

EDITED: 17 Feb 2010 by SURLYBIRD

Attachments:

Image Attachments:
Size: 38 KB, Downloaded: 60 times, Dimensions: 400x240px
  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
3321.6 In reply to 3321.5 
Hi Surly,
Here is a solid. I used sweep to rebuild a couple area's. Look for a sliver/extra edge in this area.

EDITED: 19 Jun 2012 by BURRMAN

  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:  SurlyBird
3321.7 
Holy cow. I looked at your model and tried to duplicate what you did. I deleted that lofty-join at the top, selected the two arcs that defined the hole, selected an edge and ran a sweep and *bingo* - problem solved. I banged my head against this problem for at least a day and half, off and on. That was really, really effective and easy. Thank you!
  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:  SurlyBird
3321.8 In reply to 3321.7 
Well, I spoke too soon. I got it to work one time, but subsequent attempts to repeat it have failed. I get a good sweep, but when I try to make a solid by joining the pieces, I get a joined surface as a result. I'll keep trying and see if I can find the successful steps.
  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
3321.9 In reply to 3321.8 
Hi Surly.
Setup this shortcut script and it will show "Naked Edges" which is where the joined surface is not making a solid. If you rebuild the surfaces where the naked edges appear, it will make a solid. Remember to zoom in on the areas to be sure that the surfaces are good.


>>>>>>
script: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 );
  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
3321.10 In reply to 3321.9 
SO for instance, with the first model you posted, I ran that script on it and see this:



So I zoom in to the first area and delete this face, then select the 2 edges and run loft. And join that new piece to the rest. Actually the same for the other side piece which shows naked also.



Then the next piece is this front edge. I delete the under neath surface and then run sweep, using the 2 curves as profiles and the 2 straight edges as rails, then join that new surface to the body.



Then the next edge is here:



Since it crosses over multiple edges, I delete all 3 across the top there, then select all these edges and run Join on them.



Then I run sweep using the 2 end curves as profiles and the to joined edges as rails, then join the new surface to the body and it is solid. Remember not to join the edges in with the surfaces when selecting for a join

EDITED: 19 Jun 2012 by BURRMAN

  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:  SurlyBird
3321.11 In reply to 3321.10 
Wow. Thanks so much, BurrMan. I followed the steps you outlined and everything worked great! That script is very, very handy. Thanks for pointing it my way!

The more I use MoI the more I love it. It really is fast and simple-to-use, while exceedingly deep. And this forum is an invaluable resource. It's nice to have such a quick response from the developer and other users. Kudos to Michael and the MoI community.
  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
3321.12 In reply to 3321.8 
Hi SurlyBird, that shortcut that Burr shows above helps out a lot to locate the areas that are have open edges.

> I got it to work one time, but subsequent attempts to repeat
> it have failed. I get a good sweep, but when I try to make a solid
> by joining the pieces, I get a joined surface as a result.

You may have fixed just one area and not all of them yet - it looks like there are about 4 or 5 areas in the model that have open edges, if you set up that shortcut that Burr posted and run it they will highlight.


Looking more closely at one of those problem edges here:



If you zoom in to that area closely you can see there is some space between the edges there:




Looking at the bottom surface, it appears to be a surface of extrusion. Probably what happened here is the extrusion is coming from this curve back here:




And that curve from back there does not exactly align with the other curve that has been used to make the front face of the model.

To make an extrusion join up with something else like that, they have to have a very precise alignment between them.

Otherwise, instead of using extrude for that bottom piece for example you could use Network or Sweep, which constructs a surface that hugs all of those boundary curves rather than only being defined by the shape of the curve on one side like an extrusion.


For these ones here, there is a simliar gap:



To fix those, delete those half-circle like surfaces, then select these 2 edges:



and run Construct > Loft to build a surface between them. That can then be joined in to solve those ones.

- Michael



EDIT: Ooops, looks like Burr beat me to it, this is mostly a repeat of what Burr wrote above.

  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
3321.13 In reply to 3321.12 
Alway a much better explanation from Michael and I look forward to those. Also if you go to the MoI home page and look on the resources page, there is a link called "Petr's MoI Page" which has all the scripts available. Browse through those and find some gems.
  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)
3321.14 In reply to 3321.5 
Hi Surly,

Have you got any reference photographs of the gun with the area in question, reason I ask is that the model you posted isn't very 'clean' and I thought that if we had some reference the forum could help out further with some techniques to achieve what you want.

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:  SurlyBird
3321.15 In reply to 3321.14 
Hi Danny,

Thanks for asking. Here are some links to images of the barrel:

http://world.guns.ru/handguns/deagle19-kit.jpg

http://www.dreadgazebo.com/gunporn/wp-content/uploads/2007/05/deserteagle.jpg

This probably the best pic I've found so far:

https://www.hyattgunstore.com/images/P/main-708.jpg

I'm not striving for super-accuracy, since the direction we're taking with this project is a bit more stylized. However, I want the gun to have a certain authenticity to it as well, so I've done a lot of scrounging for images. Probably the thing that needs the most work on my model is the scallop that terminates the groove down the side, right before the cylindrical part at the rear. My attempt really isn't accurate at all. It works well enough for my purposes, but I would like to to take a stab at it again at some point. I had to move on and finish up other parts of the gun, but I will probably revisit it again when I get the chance.

I'm interested in how others would go about creating it. My process was kind of klugey - definitely a result of my fledgling knowledge.
  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
3321.16 In reply to 3321.15 
Hi SurlyBird, thanks for posting the pictures, those help a lot.

So one thing that can be good is to imagine how that part is actually physically manufactured.

It's not going to be built in little pieces welded together which is basically how you're approaching it in MoI - instead it is going to start with a piece of stock and then have pieces removed by drilling and cutting. Try going through more of a similar process, but you can use a lot more custom cutting heads than what an actual machine shop uses.

So like that scalloped area would probably be easiest as one long sweep that just continues to extend outside of the object instead of worrying about building pieces that are flush to one another all the time.

I'll try to make some steps to illustrate.

- 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
3321.17 In reply to 3321.15 
Hi SurlyBird, some of the proportions here would need to be adjusted but this may give you an idea on how you could use a solids approach to building this rather than going patch-by-patch.

One part of particular interest is probably how the scalloped parts are done here - notice that I don't attempt to create those directly to their final edges but instead create them as a longer sweep that then gets intersected with other pieces. The final edges come from those intersections rather than as directly drawn curves.


I started by making a circle that I split in half and then stuck some pieces out like this:



That gets extruded:



Now select these other parts of the initial profile segments (note the bottom circle half is selected now and not the top half) :



Those also get extruded but not as far, that produces another solid which you boolean difference away from the first piece to produce this:



Now for the scallopy parts - draw in a path curve that looks something like this:



Then a closed profile curve that looks something like this:




Then use Sweep to take that profile along the path curve, to make the part that will cut the scallops out, like this:



That sweep solid gets mirrored to the other side, and then both pieces are used as cutting objects in boolean difference to make this result:



Then some other lines drawn in and boolean difference again to carve off other pieces:









So that's a pretty good illustration on how you would use a solid modeling approach keeping things more as solids at each step to build something like this, rather than going around and building it one small individual surface patch at a time.


One thing you do need to be careful of when making something bendy like the scallop cutter piece here, is that it does not bend so tightly that it starts to bunch up and intersect itself.

- Michael

EDITED: 18 Feb 2010 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
Next
 From:  Michael Gibson
3321.18 In reply to 3321.17 
Or another way that might be a bit easier to think of for building the starting piece would be something like this:

Extrude this piece short:



Extrude this circle long:



Then boolean union them together to make this:




Then continue cutting and slicing parts off as above...


- 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:  SurlyBird
3321.19 
Michael,

Thanks so much for breaking the process down in such clear steps. I really appreciate your taking the time to demonstrate how things in the solids world work. I had attempted something similar to the second method you described (albeit it was still too complicated), but the scallops were still giving me grief. I like both those approaches a lot. I'm beginning to grasp it little by little and I must say, I really prefer this method of modeling over the tedious pushing and pulling of verts that I end doing in a poly modeler. I can make many, many attempts at something without feeling too invested in the process - something I never get with poly modelers. It can be a real hassle to make minute adjustments with polys, but it is *so* easy to refine a curve and regenerate a surface in MoI. Thanks for making such a great tool!
  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)
3321.20 In reply to 3321.18 
:) I knew you'd jump on this Michael once I asked for the reference photos, If you didn't, I was going to eventually.
It's the same approach that I would of taken.

Thanks!
~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
 

Reply to All Reply to All

 

 
Show messages:  1-20  21-23