zalo / CascadeStudio

A Full Live-Scripted CAD Kernel in the Browser
https://zalo.github.io/CascadeStudio/
MIT License
1.03k stars 129 forks source link

PEBCAK? Debugging internal opencascade error #55

Closed johnsonm closed 3 years ago

johnsonm commented 3 years ago

I'm trying to recreate a curve generator inspired by Youness Alaoui's OpenSCAD curve generator that I've been playing with, but rewriting it to (at least for now) be limited to the rhodonea curve and using polygons and loft.

I substantially rewrote it in OpenSCAD from using linear extrude to assembling polygons, and wished that OpenSCAD had a loft function. Then I remembered that CascadeStudio has Loft() so I thought I'd give it a shot here.

My attempt at a CascadeStudio model almost certainly has a bug that is hard to debug due to the internal error. But I haven't identified yet what I did wrong.

Line 140: Uncaught ReferenceError: INTERNAL OPENCASCADE ERROR DURING GENERATE: ___cxa_is_pointer_type is not defined

If Loft() can't self-intersect, then I can't make this shape, so I'm hoping that's not the problem, but I don't have enough experience to guess correctly so far what I might have done wrong. I get a different error if I limit myself to three iterations to avoid self-intersection, so perhaps there's more than one problem.

This is just an intellectual exercise—my OpenSCAD model is sufficient for my arcane purpose—but if this can work it might make a nice example! ☺

johnsonm commented 3 years ago

Just to show here what it would look like if it works, here's a screenshot of the OpenSCAD model:

image

johnsonm commented 3 years ago

The errors on trying to reduce iterations were cached. I have substantially simplified and reduced to a single iteration and now I can see how it is going wrong.

johnsonm commented 3 years ago

Oh. OpenSCAD trig functions use degrees; JavaScript trig functions use radians. Minor detail useful to think about when porting code from OpenSCAD to CascadeStudio!

:blush:

johnsonm commented 3 years ago

That works better