- Ein Open-Source-Projekt, das OpenCascade nach WebAssembly kompiliert und mit Three.js verbindet, um 3D-CAD-Modellierung, -Bearbeitung und -Rendering im Browser mit nahezu nativer Leistung zu ermöglichen
- Unterstützt zahlreiche CAD-Modellierungsfunktionen wie die Erstellung von 3D-Formen wie Boxen, Zylindern und Rotationskörpern, 2D-Skizzen, boolesche Operationen, Extrude, Loft, Sweep und Offset
- Bietet präzise Hilfsfunktionen für Konstruktion und Bearbeitung wie Object-/Workplane-Snapping, Achsenverfolgung, automatische Erkennung von Merkmalspunkten und visuelle Tracking-Guides
- Integriert fortgeschrittene Bearbeitungsfunktionen wie Chamfer/Fillet/Trim/Split, Verschieben/Drehen/Spiegeln, Längen-/Flächen-/Volumenmessung, Dokumentenverwaltung sowie Import/Export von Industriestandardformaten (STEP, IGES, BREP)
- Bietet eine auf praktische Arbeit ausgerichtete User Experience mit Office-ähnlicher UI, hierarchischer Baugruppenverwaltung, mehrsprachiger Oberfläche (i18n, Unterstützung für Chinesisch und Englisch) sowie 3D-Viewport-/Kamerasteuerung
Überblick
- Chili3D ist eine browserbasierte Open-Source-3D-CAD-Anwendung, die in TypeScript entwickelt wurde
- OpenCascade (OCCT) wurde nach WebAssembly konvertiert und mit Three.js kombiniert, sodass leistungsstarke 3D-Modellierung/Bearbeitung/Rendering direkt im Web ohne Installation möglich ist
Hauptfunktionen
-
Modellierungswerkzeuge
- Grundlegende 3D-Formen: Erstellen von Boxen, Zylindern, Kegeln, Kugeln, Pyramiden usw.
- 2D-Skizzen: Linien, Bögen, Kreise, Ellipsen, Rechtecke, Polygone, Bézier-Kurven
- Erweiterte Operationen: boolesche Operationen (Vereinigung, Differenz, Schnittmenge), Extrude, Rotation, Sweep, Loft, Offset, Schnitterstellung
-
Präzises Snapping und Tracking
- Object Snap: Präzises Snapping an geometrischen Merkmalspunkten wie Punkten, Kanten und Flächen
- Workplane-/Achsen-Tracking, automatische Erkennung von Merkmalspunkten und visuelle Guides erleichtern komplexe 3D-Ausrichtungen
-
Bearbeitungswerkzeuge
- Kantenrundung (Fillet), Chamfer, Trim, Split, Verschieben, Drehen, Spiegeln usw. für vielfältige 3D-/2D-Bearbeitung
- Fortgeschrittene Bearbeitung wie Feature-Entfernung, Subshape-Manipulation und Zerlegen von Compound-Objekten
-
Messen und Dokumentation
- Winkel- und Längenmessung, Berechnung von Gesamtlänge/Fläche/Volumen
- Dokumente erstellen/speichern/laden, vollständiges Undo/Redo, STEP/IGES/BREP-Import und -Export
-
Benutzeroberfläche
- Unterstützung für Office-ähnliche Befehlsstruktur, hierarchische Baugruppenverwaltung, dynamische Workplanes, Speichern von 3D-Viewport-/Kamerapositionen usw.
- Mehrsprachige Oberfläche (Chinesisch und Englisch), weitere Sprachen können über die i18n-Struktur beigetragen werden
Tech-Stack
- Frontend: TypeScript, Three.js
- 3D-Engine: OpenCascade (WebAssembly)
- Build: Rspack, Tests: Jest
Stand der Open-Source-Entwicklung
- Befindet sich in der Alpha-Phase; API/Funktionen/Dokumentation werden laufend verbessert
- Breaking Changes, unvollständige Dokumentation und einige noch nicht implementierte Pflichtfunktionen sind vorhanden
Beiträge und Lizenz
- Beiträge zum Open-Source-Projekt in Form von Code/Bugreports/Feedback sind willkommen
- AGPL-3.0-Lizenz (separate Anfragen für kommerzielle Nutzung möglich)
1 Kommentare
Hacker-News-Kommentare
Als ich zuerst die Beschreibung gelesen habe, dachte ich, das sei einfach nur ein gewöhnliches 3D-Spielzeugprojekt, aber als ich es tatsächlich ausprobiert habe, war ich wirklich überrascht. Es ist extrem schnell, und die UI wirkt selbst aus der Perspektive von jemandem, der von anderen Tools kommt, ziemlich intuitiv. Ich fand es immer schade, dass ich Fusion 360 unter OpenSUSE Tumbleweed nicht nutzen kann, aber dieses Tool könnte diese Lücke füllen. Ich bin wirklich dankbar dafür.
Bei der Stelle „OpenCascade (OCCT) als WebAssembly kompiliert und genutzt“ habe ich mich gefragt, welchen Geometrie-Kernel sie gewählt haben. Die zentralen Solid-Modeling-Bibliotheken sind im Grunde die gleichen, die schon seit Jahrzehnten verwendet werden (Parasolid ist fast 40 Jahre alt), und es wirkt so, als wäre es wirklich extrem schwierig, so etwas neu zu entwickeln.
Ich arbeite im GIS-Bereich mit BREP, und schon einfache Liniensegmente in 2D führen zu wirklich komplexen Problemen. Das ist ein Bereich mit sehr vielen Sonderfällen. Ein Typsystem hilft enorm, deshalb wäre ein Open-Source-Projekt auf Rust-Basis aus meiner Sicht sehr vielversprechend. Zur Einordnung: Ich bin von Fusion 360 zu FreeCAD 1.0 gewechselt, und obwohl ich in FreeCAD fast keine Projekte habe, war es überwältigend viel schneller.
Die grundlegende mathematische Struktur von 3D-Geometrie hat sich über lange Zeit kaum verändert. Wenn die Lizenzkosten für Kernel wie Parasolid oder ASICs nicht hoch sind, gibt es eigentlich wenig Anlass, unbedingt eine neue Lösung von Grund auf zu bauen. Der Markt entwickelt sich zuletzt ohnehin dahin, dass CAD/CAM-Softwarefirmen wie Autodesk und Hexagon durch Übernahmen immer stärker konsolidiert werden. OpenCASCADE war ursprünglich ebenfalls kommerzielle Software, wurde aber Open Source, weil sich nicht genug Kunden gewinnen ließen.
Es gibt tatsächlich fast keine Open-Source-Geometrie-Kernel. Auffällig sind eigentlich nur OpenCascade und CGAL, ich frage mich also, ob es noch mehr gibt.
Ich würde gern mehr darüber lesen, wie man solche Geometrieprobleme gut löst.
Das ist beeindruckend, aber es ist noch nicht wirklich zu erkennen, wie Funktionen wie Constraints oder Skizzen umgesetzt werden. Und dass es als Web-App kommt, ist für mich ein kleiner Wermutstropfen. Trotzdem nehme ich es als Teil des Wandels an.
Aus Sicht einer Schule, die Chromebooks nutzt, ist so eine Web-App eine großartige Sache. Wenn Schüler damit sogar Dinge für den 3D-Druck erstellen können, erweitert das die Auswahl an Werkzeugen enorm. Als Lehrkraft und Elternteil mache ich mir aber Sorgen, dass Kinder, die nur Chromebooks kennen, keine Erfahrung mit lokalen Apps, Dateisystemen usw. sammeln. Wenn mein Kind ein Poster macht, sucht es Bilder und kopiert sie immer wieder zwischen verschiedenen Web-Tools hin und her. Wenn ich erkläre, dass man in Desktop-Apps wie Affinity oder Photoshop vieles auf einmal erledigen kann, stößt das auf erstaunlich wenig Verständnis.
In der aktuellen Version gibt es diese Funktionen noch nicht, aber sie sollen später in Form parametrischer Komponenten ergänzt werden.
Wichtiger als die Diskussion über die Web-App ist, wie essenziell Constraints, Skizzen und allgemein parametrisches Design sind. Für mich ist genau das der Kernpunkt, damit ein CAD-Programm ernst genommen werden kann.
Das ist ein Beispiel dafür, dass Browser genauso leistungsfähig wie native Apps werden können. Durch die Browser-Basis verschwindet die OS-Abhängigkeit, und Ingenieure oder Studierende weltweit können Dateien leichter teilen und öffnen. Auf neuen Laptops fühlt es sich sogar schneller an als native Apps. Man kann ohne Registrierung, E-Mail oder 2FA in 30 Sekunden mit dem Zeichnen anfangen. Gegenüber den meisten anderen Tools hat es auch bei den Kosten und in anderen Aspekten Vorteile. Ich habe zuletzt SketchUp, AutoCAD und Revit genutzt und dann dieses Tool entdeckt, und ich freue mich wirklich auf seine Zukunft.
Die Namen einiger Tool-Icons wirkten etwas ungewohnt und nicht ganz vertraut. Zum Beispiel sollte man Dinge wie „Bessel“, „pour corner“ oder „From the cross section“ in im CAD gebräuchlichere englische Begriffe ändern. Während der Nutzung wechselte die Sprache plötzlich zu Chinesisch, und da es keinen einfachen Weg zurück zu Englisch gab, war das ziemlich schwierig.
Ich halte das für großartige Arbeit. Gerade in einem Bereich, der von wenigen Anbietern wie Dassault oder Autodesk beherrscht wird, freue ich mich immer, wenn ein Open-Source-Projekt auftaucht. Ich bin auch gespannt auf den Bereich kontextbewusster CAD-Anwendungen, der durch die Nutzung von KI wie LLMs entsteht.
Wirklich beeindruckend. Ich habe ständig nach etwas gesucht, das OnShape ähnelt. Für ein Tool wie dieses wäre ich völlig bereit, mehrere hundert Dollar zu zahlen. Die Lizenz von OnShape ist so teuer, dass ich es als Belastung empfinde, mehr als 1.000 Dollar zu zahlen.
Als OnShape-Mitarbeiter denke ich, dass die kostenlose Version von OnShape völlig ausreicht, wenn die Nutzung nicht kommerziell ist und die Dokumente öffentlich sein dürfen. Der Technologie-Stack, mit dem OnShape heute Wartung, Skalierung und Performance sicherstellt, ist extrem komplex, und die Betriebskosten sind erheblich.
Auch der kostenlose Tarif von OnShape wirkt auf mich persönlich sehr großzügig.
Mir gefällt die Oberfläche sehr. Ich wünschte, FreeCAD hätte etwas in dieser Art. Ich persönlich arbeite eher mit parametrischen Modellen über eine Python-Schnittstelle, aber dieses Projekt wirkt ziemlich cool. Ich frage mich, ob geplant ist, den CAD-Kernel des Truck-Projekts in Open-Source-CAD umzusetzen. Das aktuelle Projekt Truck sieht sehr vielversprechend aus.
CADmium basiert auf dem Truck-Kernel. Allerdings gab es bei CADmium seit Juni 2024 kaum noch Aktivität; hier der Link zu CADmium. Außerdem gibt es noch den Fornjot-Kernel.
Mich würde konkret interessieren, was dir an der FreeCAD-Oberfläche nicht gefällt.
Ich finde, das ist ein wirklich gut gemachtes Projekt. Hoffentlich entwickelt es sich weiter. Besonders schön wäre es, wenn es sich wie EasyEDA bei der PCB-Fertigung mit 3D-Druck-Diensten oder Herstellern zusammentun würde, sodass normale Nutzer ihre Designs mit nur ein paar Klicks direkt in die Fertigung bringen können.
Projekte, die gleichzeitig dieses Leistungsniveau und diese UI bieten, sind selten, deshalb bin ich wirklich gespannt. 3D-Programme mit einer intuitiven und sichtbar ansprechenden Oberfläche sind seltener, als man denkt, deshalb freut mich das sehr. Ich hoffe, es gibt künftig noch viele weitere Projekte dieser Art.
Die UI erinnert mich an Microsoft-Produkte, und das empfinde ich eher als etwas Positives. Mich würde interessieren, was ihr im Vergleich zu typischen 3D-CAD-Tools für anders haltet und was die Motivation war, so ein Tool überhaupt zu bauen.