Extrude very slow in v3 beta

Next
 From:  jki (JKISS56)
6455.1 
Hello,
I have an interesting experience:

this model was created in v2, it is complex, but still easily editable.

I opened the model in v3 and tried to extrude the highlighted edge/surface...In v3 the extrude is very slow. Takes long seconds until control points are activated, and the extrude refresh rate is 5-10 seconds. Same model works perfectly in v2.

Another question:
As you can see there are a lot of half-spheres in model (rivet heads)...The model is designed for 3D print and I don't care about exact geometry. Is there a simplified replacement (spherical polyhedron?) instead of spheres? how to create such solid?




  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
6455.2 In reply to 6455.1 
Hi jki, re: extrude - there have been changes in extrude for v3 so that it uses the "asynchronous" type of calculation - maybe that has some bad side effect in your case, I'll take a look at that in a bit and see if I can give you some more information. In v2 the extrusion calculation happened directly inside of the main MoI process, which can be more efficient for simple things but tends to be problematic for complex things that may take some time because the main UI will appear to be locked up while the calculation is happening.

re: second question: you can create a polyhedron using the method described here:

http://moi3d.com/forum/index.php?webtag=MOI&msg=2140.46
http://moi3d.com/forum/index.php?webtag=MOI&msg=2153.1
http://moi3d.com/forum/index.php?webtag=MOI&msg=3798.1
http://moi3d.com/forum/index.php?webtag=MOI&msg=2275.1

There's also a collection of various polyhedra models in 3DM format here:
http://www.rhino3d.nl/pythposter/pyth3dm-eng.html


But another way that might work for you is to use the "Avoid smaller than" meshing option at export time while generating the STL file - if you put in a distance for "Avoid smaller than" anything polygons that are smaller than that size will be broken down by a much rougher angle than the standard "angle" setting. So putting in something that's about say half the size of one of those rivets for "Avoid smaller than" should make the rivets get pretty few polygons for them while keeping other areas with more refinement.

- 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
6455.3 In reply to 6455.1 
Hi jki, re: very slow extrude - over here it's sluggish but still workable, it takes maybe a second or so for each step.

The change in behavior from v2 is because of the switch to the asynchronous calculation method - because the thing you're extruding is an edge that belongs to a larger solid, it's actually the entire solid that gets bundled up and sent to the worker process where the actual geometry creation work is done. It's that whole solid transmission time that is causing the extra sluggishness. If you duplicate that edge as a standalone curve by doing Ctrl+C / Ctrl+V on it, then when you extrude that independent curve you should see it behave much more quickly.

Maybe in the future I can speed this up by making it possible for certain commands to request that sub-objects are sent over as individual pieces rather than the full solid going over. Right now an edge selection transfers the entire solid so that things like fillet that will be working on other pieces of the solid instead of just the edge curve geometry alone will be able to do things properly.

Or I guess probably a better fix overall would be to make the solid just transfer into the worker process one time and keep a hold of it rather than getting transmitted freshly for each individual calculation...

But yeah this case of a kind of big solid where you're extruding a simple piece of it doesn't work very efficiently in the asynchronous way - if you were to make a highly complex set of curves with say 50 curves nested inside of each other and then tried to extrude that, you'd then see the reason why it's changed from v2 behavior, because v2 would just freeze everything on every mouse move since the main thread would be busy doing a bunch of calculations instead of doing things like updating the UI.

- 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:  jki (JKISS56)
6455.4 In reply to 6455.3 
Hello Michael,
thank you for your explanation, now it is clear.
Also thank you for polyhedron tips, I will try to use them to keep the model easier to manipulate. My experience is, using a lot of NURBS surfaces slows down the rendering and manipulating. I am doing a lot of Boolean operations and some of them will fail with non-planar surfaces, or result in losing the "solidness" and change to joined surfaces.
I also played with parameters at .stl export, and found better to use more polygons and let the printing software to "antialias" the surfaces.

Michael, you are doing a good job, I like MOI and thanks MOI I can build nice railroad models :-)

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
6455.5 In reply to 6455.4 
Hi jik, those are some great railroad models!

> I also played with parameters at .stl export, and found better to use more polygons and
> let the printing software to "antialias" the surfaces.

Yeah also using the "Divide larger than" parameter can be good for getting more evenly sized pieces. If you put in a distance in "Divide larger than", any polygon that's bigger than that size will get diced up further. It can help to avoid making triangles that span a large distance across the model. Something like around 1/20 of the overall size of the model can be good to put in for "Divide larger than".

- 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:  coi (MARCO)
6455.6 In reply to 6455.4 
quote:
My experience is, using a lot of NURBS surfaces slows down the rendering and manipulating


did you increase your viewport mesh angle(initial would be 10)? you could also uncheck "Add details to inflections" and "Display hidden lines", which should definitely improve the overall handling.

  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:  Supagoat
6455.7 In reply to 6455.6 
Very nice! What are you using to print those?
  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:  jki (JKISS56)
6455.8 In reply to 6455.7 
Supagoat:
originally i have tried photopolymer, but the models are too light (0,5g)
now I use print to wax and lost-wax technology casting using brass.

photopolymer


wax prints





brass casts (the silver ones are from pakfong, just for testing)



coi:
to be honest, i didn't play with those settings, but will try, thanks for tip


Jozef

  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