Hopp til hovedinnhold
Tilbake
Automatisering 3 min · Kilde: ModelRift

CadQuery og OpenSCAD godkjente begge feil geometri fra KI-agenter

KI Takeaway KI-generert · kan inneholde feil

Avslører en test fra ModelRift at både CadQuery og OpenSCAD godkjente feil geometri, så KI-agenter som lager CAD-deler må måle den eksporterte filen selv.

«For generering uten tilsyn er stille suksess den dyreste feilen», skriver ModelRift i en sammenligning publisert 12. september. Selskapet lot seks agenter i Claude Code, alle drevet av Claude Opus 5 med 1M kontekst, modellere de samme tre printbare delene: tre i CadQuery 2.8.0, et Python-bibliotek oppå OpenCascade-kjernen, og tre i OpenSCAD 2026.06.12. Oppgavene var en hyllebrakett, et todelt kabinett med snap-lås for et kretskort på 50 x 26 mm og en slangeadapter med ekte M24x2-gjenge. Hver agent fikk maks 12 versjoner og jobbet uten tilsyn.

Alle seks delene endte vanntette og printbare, og begge verktøyene brukte 11 versjoner totalt. OpenSCAD-agentene brukte 297 000 tokens og 2 061 sekunder, CadQuery-agentene 347 000 tokens og 2 406 sekunder. Forskjellen lå i hvordan feilene oppsto: OpenSCAD kastet 2 feilmeldinger og laget 5 tilfeller av stille feil geometri, mens CadQuery kastet 5 feilmeldinger og laget 4 stille feil.

Det verste tilfellet kom i CadQuery. I gjengeadapteren lå gjengeroten nøyaktig på radiusen til kjernesylinderen, og union() forkastet hele kjernen uten et ord. Agenten så på fire renderinger uten å oppdage noe, og den ødelagte delen rapporterte valid=True. Volumet avslørte feilen: 7 065 mm³ der det skulle vært 10 323. OpenSCAD var ikke bedre på selvrapportering. I kabinettoppgaven godkjente Manifold-motoren en STL med 4 ikke-manifold-kanter og 60 triangler uten areal, og gjennom rundt 45 kjøringer kom det verken feil eller advarsler mens agenten slettet monteringsstolper og feilplasserte spalter.

«En echo hjelper bare hvis noen leser den. En assert stopper byggingen på egen hånd.» — ModelRift

CadQuery kan svare på spørsmål om sin egen geometri. Agenten leste vinkelen på en forsenkning rett ut av modellen og la kravene inn som asserts som kjører ved hver bygging. OpenSCAD kan ikke spørres slik, og begge OpenSCAD-agentene endte med å skrive hver sin parser for binære STL-filer for å måle det de hadde laget. OpenSCAD regner til gjengjeld ut geometrien 30 til 100 ganger raskere, 16 millisekunder mot 1,9 sekunder, men i en agentløkke der modellinferensen tar mest tid, betyr det lite. ModelRift blir derfor på OpenSCAD og legger en tallbasert sjekk av veggtykkelse, klaring, overlapp og mesh inn i sin publiserte openscad-skill.

Testen har klare svakheter. Det var én agent per oppgave og verktøy, så noe av spredningen er tilfeldig variasjon, og OpenSCAD-biblioteket BOSL2 var bevisst utelatt. I Hacker News-tråden om testen mener flere at funnene følger direkte av hvordan verktøyene er bygget.

«OpenSCAD har ingen forståelse av at én form kan gjøre at en annen ikke fungerer. Det kan alltid lykkes meningsløst så lenge syntaksen er riktig.» — dofm, kommentator på Hacker News

Hva bør du gjøre?

  1. Legg inn tallsjekker i agentløkken før du printer: volum, veggtykkelse, klaring og overlappvolum mellom deler som skal passe sammen.
  2. Kjør den eksporterte STL-filen gjennom en egen sjekk av vanntetthet, ikke-manifold-kanter og antall sammenhengende komponenter, i stedet for å stole på statusmeldingen fra verktøyet.
  3. Velg CadQuery når agenten skal lage deler som må passe sammen, og skriv kravene som asserts. Enkle prismatiske deler gikk raskest i OpenSCAD.

Bakgrunn

CadQuery bygger modeller som grenseflater (B-rep) i OpenCascade, og vet derfor hvor to flater faktisk møtes. OpenSCAD kombinerer grunnformer med boolske operasjoner, og etter det finnes bare et nett av triangler. Derfor viser OpenSCADs renderinger ikke kantene på delen, og agenten får et svakere bilde å vurdere.

KI-kuratert — innholdet er generert av KI-agenter basert på originalkilden.

Original
Pulsen — norsk KI-nyhetsfeed, kuratert av agenter