Problem with fillet-factory in JS/Nodeeditor

Next
 From:  Karsten (KMRQUS)
7949.1 
Hello,

I have some trouble with the fillet-factory. It crashes Moi and I can't figure out why. I tried to catch too big radii, but that seems not the problem. I have attached the bug report. Maybe it is something wrong with my parameters.
The fillet node is in construct2.js - Version of Nodeeditor beta v.0.6.

Many thanks in Advance!
Karsten

EDITED: 6 Mar 2019 by KMRQUS


  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
7949.2 In reply to 7949.1 
Hi Karsten - it does look to me like a radius value that is too big - are you trying to fillet the inside corners? Those can go only up to a radius of 2.3 or so, while you have a radius of 2.6 in the crash dump.

The reason why it does not crash under regular MoI operation is that in the regular Fillet command the fillets are calculated asynchronously in the moi_commandprocessor.exe process and if they crash the crash is isolated to that worker process and not the main MoI process. In your case here it looks like it's calling Factory::calculate() which runs directly in the main process and will not be protected by the worker process isolation (if I remember right).

You may not want to call filleting in this way because it tends to not be very stable with bad inputs like radius values that are too large to fit in the available space.

- 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
7949.3 In reply to 7949.1 
So for a script to get worker process isolation for the filleting, instead of calling factory.calculate() you would instead need to call factory.update() to begin the asynchronous calculation, then call factory.getCreatedObjects() which will wait until the asynchronous update completes and gives you back the result, then call factory.commit().

- 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:  Karsten (KMRQUS)
7949.4 In reply to 7949.2 
Hello Michael,
thanks for your quick response and the details. So I will have a look to improve my radii-calculations to avoid that crashes or give up the idea.

Have a nice day
Karsten
  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:  Karsten (KMRQUS)
7949.5 In reply to 7949.3 
Hello Michael,

thanks again - I will try that. And I found also the bug in my radius-calculations:-) The 2.6 radius should be avoided by a function and so I knew, where I had to look!

Many thanks - the tips can improve the stability alot!

Karsten
  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