Question about STL output.

Next
 From:  stevecim
5112.1 
Hi All. Me again :)

Don't know if this is a problem or not, but normally when I create an STL from a model that's been joined into a single solid , I only get triangles on the visible surfaces.
i.e

this is a section of the top of a shield, on which I've boolean union a solid I created from surface created with ZSurf. The shield and zsurf solid have joined nicely.






On this one model the the STL out put has also created the original un-trimmed surface of the ZSurf created surface. , see how there is a second internal surface?



This is what the solids looked like before the Bool->Union. You can see , I've trimmed off the base of the original ZSurf. (eagle), It's like the Bool-Union is recreating the trimmed surface internally?



I have attached the 3dm files , eagle-gray03 has 2 solids before the union is applied. eagle-type-2-cufflink02 is after the union. I've tried looking for points crossed over, but there are some many points, does anyone know of a simple method of checking a surface for defects?

  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:  stevecim
5112.2 In reply to 5112.1 
another example
first solid 1,





Push the solid a little into a cube and union, forms a solid.




Separate the solid and move the sides that make the cube. behold the eagle now has the original trimmed off areas back, plus a few new holes :)









  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
5112.3 In reply to 5112.2 
Hi Steve, so that looks like the same kind of problem you were mentioning earlier, and having things leak out past the trimming boundary or weird little holes right near the boundary usually means the boundary is mangled in some way, like it has loop-de-loops in its edges or there are gaps between different edges instead of edges meeting up end-to-end, stuff like that.

It probably has to do with the huge complexity of that one single surface, you may be running into some kind of recursion or refinement limit in the geometry kernel that prevents it from getting a good quality snug fit intersection curve on that type of thing.

I'll try to take a look and see if it is possible to get a good solid from what you've got or not.

But it could be possible that you might need to dial down the density of what you are generating from ZSurf somewhat.

- 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
5112.4 In reply to 5112.1 
Hi Steve, so I can confirm that the boolean union on your eagle-gray03.3dm does not work right and generates some messed up trimming boundaries. But unfortunately I'm not sure what I can really do about it - it does seem to be related to the extreme complexity of that one single surface.

Really NURBS surface processing is not particularly designed to work on things like that, stuff of that nature usually tends to be more in the domain of polygon modeling.

I think that it's hitting some kind of recursion or processing limit, and also when I tried to do some other alternative techniques like using surface trimming operations instead of booleans I ran into a lot of issues with excessively long processing time and running out of memory while trying to do those operations.

So I don't really know how to best help you with this - possibly your best bet would be to generate a somewhat lighter density surface out of ZSurf and see if that helps things work better or not. Other than that, you may be looking at using a totally different program like a polygon mesh modeling program to do that kind of work rather than MoI.

- 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:  stevecim
5112.5 In reply to 5112.4 
thanks Michael

I'll have a play with ZSurf and see what I can come with

Cheers, Steve
  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:  shayno
5112.6 
Hi Steve
If you need to repair your stl that has errors without going into hours of repairing etc.
There is a service at http://cloud.netfabb.com/index.php that you can upload your stl to and it is automatically repaired , then you download it back fixed. and its free and fast!!!

I have had some real disasters that have come back perfect.

You could also look at backing off on the output resolution as some models will print with no errors at a lower setting.
cheers
shayne
  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:  stevecim
5112.7 In reply to 5112.6 
Thanks Shayne

I'll give both options a try. I found if I don't try and boolean->union the eagle, I get I end up with a clean enough STL. well at this stage , I'll tell more after I order an acrylic print :)

Cheers, Steve
  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:  stevecim
5112.8 In reply to 5112.1 
I know this is an old post, but the other day I needed to make some changes to this model and was having the same troubles forming clean mess. so after trying a few different processes , I end up with a clean mesh. So I thought I might update this post :) hope Michael can verify if my procedure works or was just fluke.

quick recap... Have a solid I created from a surface, created by Zsurf. has 1000's of points and would not Boolean union cleanly with an other solid (shield shaped solid) .

http://moi3d.com/forum/messages.php?webtag=MOI&msg=5112.1

Now what I did was place the eagle on the shield in it final position.. I then cut the shield and eagle into quarters... using Boolean merge made 2 cuts one along Y the other long X .

this felt me with eagle and shield each cut in 4 pieces. I then boolean union between each piece of the eagle and shield , this felt me with 4 pieces top left, top right, bottom left, bottom right , then I union the two top pieces so MoI only needed to work along 1 edge... then union the bottom 2 pieces.. again only 1 edge in play... then union top and bottom together again only 1 edge in play.

This seemed to work well, I was left with a nice clean solid. no strange internal surfaces.... But from now on , If I need to make any other changes I need to use trim. ie when I wanted to add a cufflink post, I needed to trim the post on to the base . trying to boolean join resulted into a mess a gain :) So I'm guessing when I use trim, MoI is only having to deal with the contact between 2 surfaces and not the whole object. ?
  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:  Michael Gibson
5112.9 In reply to 5112.8 
Hi Steve, well it is true that Trim is a kind of lower level operation that does less work than booleans, and sometimes you can get things done with Trim where the booleans are having problems.

But I'm not sure if that was why you had success this time or not, that ZSurf generated surface is mega complex and previously when I looked at it, it seemed like things might be running into some refinement limits in the geometery kernel, like giving up when attempting to generate an intersection curve when it gets over some particularly large control point count like 100,000 control points or something along those lines.

Those sorts of super complex single surfaces are not that common in CAD usually so the geometry kernel has not really been tuned up to work on those kinds of things so much.

It could probably help to simplify the surface at least somewhat, like use half as many sample points on it or things like 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
 

Reply to All Reply to All