bitbybit icon indicating copy to clipboard operation
bitbybit copied to clipboard

New version of Opencascade

Open cesarecaoduro opened this issue 8 months ago • 4 comments

@matas-ubarevicius again me :) I was just wondering if you have thought on updating the version of Opencascade deployed with opencascade.js. As of today it seems it is still 7.6.2 and we have reached 7.9.1. I am not skilled enough to attempt this update and improve the package, but you might probably be able to. Happy to buy you a beer :)

cesarecaoduro avatar Jul 11 '25 05:07 cesarecaoduro

Hi @cesarecaoduro, I'd love that beer, but this is somewhat tricky. At the moment I really don't have time for this. Some time ago I tried to do it and it turned out I had to run opencascade.js docker build on windows machine (which I don't have) due to some strange DirectX dependency - at least that was my conclusion after getting errors on my mac.

Also there's a question on opencascade.js project and its future. I'm not sure if the project is discontinued or not, I did not see any statement from the author. If it's discontinued altogether then I'll have to think either about branching opencascade.js and trying to see if it's possible to maintain it somehow, or re-base bitbybit on a different opencascade wasm system. The problem with branching opencascade.js is that it comes with a lot of extra stuff, such as the website, npm package infrastructure - all needing inputs from original author... Also if, after branching, main project would suddenly pop back to life - that time and effort would have been wasted. I also know that original project depends heavily on python, which I do not use at all.

So far opencascade was updating minor version numbers, thus I don't think it was worth the effort. When v8 will be released, which is now in release candidate mode, I'll need to decide how to do this on bitbybit side.

Are you using bitbybit-dev/occt package or opencascade.js? Just curious.

matas-bitbybit-dev avatar Jul 22 '25 09:07 matas-bitbybit-dev

Thank for the clarification @matas-bitbybit-dev I am actually in the midst of deciding what to do. As you mentioned, opencascadejs seems that doesn't get a lot of updates, while Opencascade itself. has picked up a good pace. I am currently using opencascade, but I was thinking to move to bitbybit if that provides me with what I need:

  • curves (mostly wires as polycurve)
    • point at paramater and point at length
    • tangent at paramater and tangent at length
    • closes point
    • intersection with planes or other curves
  • surface
    • mostly loft surface construction bases on closed or open wires
    • intersection with planes
    • intersection with curves
    • intersection with surfaces
  • meshes (not extremely important but useful for rendering)

You mentioned you are looking at other WASM implementation? Would that be Rust?

cesarecaoduro avatar Jul 22 '25 09:07 cesarecaoduro

By "re-base bitbybit on a different opencascade wasm system" just means that I may look into making emscripten builds directly from OCCT3D, skipping OpenCascade.js layer. That should be possible, but I'm also not a big expert in handling that. I'll let you know if I'll have any updates on this.

info-bitbybit-dev avatar Jul 22 '25 10:07 info-bitbybit-dev

That would be a huge task, but a big win for the community! 👍 Double beer for that :)

cesarecaoduro avatar Jul 22 '25 10:07 cesarecaoduro

Bitbybit v1 is based on OCCT v8. Please check https://github.com/bitbybit-dev/bitbybit/releases/tag/v1.0.0-rc.0

matas-bitbybit-dev avatar Jan 22 '26 07:01 matas-bitbybit-dev

Great achievement! Couple of questions:

  • is the occt wrapper inclusive of the entire library or you have packaged what is only needed by your library
  • would you be sharing the pipeline to build occt from source for the rest of the community?

cesarecaoduro avatar Jan 22 '26 08:01 cesarecaoduro

I packaged what is needed for Bitbybit, OCCT repo contains some wasm examples and I suggest contacting their team for support on making custom bindings.

matas-bitbybit-dev avatar Jan 22 '26 09:01 matas-bitbybit-dev