English version: CADRS considers another kernel: from OpenCASCADE to Solidcore.
CADRS is een open-source parametrisch CAD-programma: schetsen, constraints, features, samenstellingen en technische tekeningen, met een workflow die je van Onshape kent. Het modelleert op de OpenCASCADE-kernel. In de ontwikkeldiscussie van het project ligt nu de vraag op tafel om die kernel in te ruilen voor Solidcore.
Solidcore is een herbouw in Rust van SMLib, het kerneldeel uit NVIDIA’s open-source USD BRep-project. De eerste klant is zusterproject SolidCraft, dat er zijn eigen Truck-kernel mee wil vervangen. De voortgangspagina van Solidcore telt 261 onderdelen: 108 zijn af, 89 gedeeltelijk, en ongeveer 70% van de regels is overgezet. Die pagina wordt na elke wijziging opnieuw opgebouwd.
Waarom dat uitmaakt: de kernel is het deel dat je model werkelijk maakt. Een fillet, een boolean, een offset en de export naar STEP komen eruit. Loopt daar iets mis, dan is het niet je schets die faalt maar de kernel eronder. De melder schat dat ongeveer een derde van de mislukte bewerkingen in SolidCraft bij de kernel zit. De maker van CADRS houdt het kort: OCCT is wat traag, en een wissel is in principe het omzetten van één module.
Ondertussen zit hij niet stil. Hij is een paar dagen bezig met een eigen kernel: OpenCASCADE opnieuw in Rust, met de bedoeling dat die op de grafische kaart rekent in plaats van op de processor. Die kernel moet nu de hele OpenCASCADE-testset halen. Over Solidcore is zijn tussenstand: te pril en te sterk aan SMLib verweven om code van over te nemen, hooguit de oppervlakte-intersectie en de punt-projectie zijn later als referentie bruikbaar.
Mijn oordeel: dit is de discussie die er in open-source CAD echt toe doet. De kernel bepaalt wat je model aankan, en OCCT is een commerciële organisatie waar zaken mee doen een last is. Laat de uitkomst alleen nog geen productieplan zijn: Solidcore is nog niet af, en een kernel die op de grafische kaart rekent zit voorlopig in de testfase van één maker.
Wat een kernel doet en waarom de keuze zo bepalend is, staat op NURBS & modeling kernels. Hoe ik dit soort wissels test, staat op Tests & benchmarks. Houd deze site in de gaten voor updates en testen, ik blijf CADRS volgen en publiceer hier wat de kernelwissel oplevert.

1 reactie