Inhalt
JermCAD ist ein innovativer browserbasierter 3D-CAD-Modell-Renderer, der die komplexe Welt des computergestützten Designs durch die Verwendung von YAML-Syntax zur Modellerstellung vereinfacht. Im Gegensatz zu herkömmlichen CAD-Programmen, die oft steile Lernkurven und komplexe Benutzeroberflächen haben, ermöglicht JermCAD den Nutzern, ihre Designideen direkt durch strukturierten Code auszudrücken. Es erlaubt die Erstellung grundlegender geometrischer Formen wie Quader, Zylinder, Kegel, Kugeln, Toroide und Extrusionen und gibt den Nutzern die Möglichkeit, diese Formen mit booleschen Operationen wie Vereinigung, Differenz und Schnittmenge zu kombinieren. Die Echtzeit-Visualisierung ermöglicht es den Nutzern, ihre Modelle während der Bearbeitung zu sehen, was den Designprozess interaktiver und intuitiver macht.\n\nDas Projekt entstand aus Frustration über herkömmliche CAD-Software. Der Schöpfer, erfahren mit Blender, fand moderne CAD-Tools wie Fusion 360 und SolidWorks aufgrund unbekannter Terminologien und inkonsistenter Arbeitsabläufe zu kompliziert. Mit JermCAD war das Ziel, eine CAD-Umgebung zu schaffen, die sich für diejenigen natürlicher anfühlt, die grundlegende geometrische Primitive verstehen, aber nicht mit umständlichen Benutzeroberflächen kämpfen wollen. Das gesamte Tool ist stark mit dem vibe coding Framework gebaut, was bedeutet, dass es instabil oder fehlerhaft sein kann, weshalb Nutzer vorsichtig sein sollten.\n\nJermCADs YAML-basierte Modellierung bietet erhebliche Flexibilität, indem Nutzer Parameter auf der Hauptebene definieren können, was eine einfache Wiederverwendung und Konsistenz über Modelle hinweg ermöglicht. Parameter wie Abmessungen oder Mittelpunkte können einmal deklariert und mehrfach referenziert werden, was schnelle Anpassungen erlaubt, ohne den gesamten Designcode durchsuchen zu müssen. Dieser parametrische Ansatz erleichtert Iterationen und fördert die Entwicklung von Familien verwandter Designs.\n\nMaterialien in JermCAD werden separat mit anpassbaren Eigenschaften wie Farbe und Opazität definiert, die dann mit Festkörpern verknüpft werden können. Diese Trennung der Belange hilft, organisierte und lesbare Modellbeschreibungen zu erhalten. Nutzer können entweder vordefinierte Materialien zuweisen oder Eigenschaften direkt auf einzelne Formen spezifizieren. Zusätzlich fasst ein "finaler" Abschnitt alle sichtbaren Netze zu einem einzigen einheitlichen Netz zusammen und wendet ein Material an, um dem gesamten Modell ein einheitliches Aussehen zu verleihen.\n\nDas Benutzererlebnis wird durch einen interaktiven 3D-Viewer bereichert, der Kamerasteuerungen für Rotation, Schwenken und Zoomen sowie die Option zum Umschalten des Drahtgittermodus für eine verbesserte Visualisierung bietet. Nutzer beginnen mit der Bearbeitung des YAML-Codes im linken Panel und rendern ihr Modell entweder durch Drücken eines Buttons oder mit der Tastenkombination Strg+Enter. Bei Zufriedenheit können Modelle als STL-Dateien exportiert werden, bereit für den 3D-Druck. Das Tool unterstützt sowohl Z-up (üblich im CAD) als auch Y-up Koordinatensysteme und bietet je nach Nutzerpräferenz oder Branchenstandard Flexibilität.\n\nTechnisch erfordert JermCAD Node.js und npm für die Einrichtung, mit Anweisungen zum Klonen des Repositories, Installieren der Abhängigkeiten und Starten eines lokalen Entwicklungsservers. Obwohl es sich noch in der Entwicklung befindet, stellt JermCAD einen frischen Ansatz im CAD dar, indem es Programmierung mit Design kombiniert und potenziell Barrieren für Nutzer senkt, die mit Code vertraut, aber mit traditioneller CAD-Software nicht vertraut sind.\n\nInsgesamt stellt JermCADs Ansatz das konventionelle CAD-Paradigma infrage, indem es eine code-first-, parametergetriebene und browserzugängliche Plattform bietet. Es befähigt Nutzer, Designparameter direkt in einem menschenlesbaren Format zu manipulieren und fördert Klarheit und Effizienz bei 3D-Modellierungsaufgaben. Obwohl das Projekt aufgrund seiner vibe-codierten Natur Fehler und Unvollkommenheiten aufweisen kann, positioniert seine neuartige Kombination aus YAML-Syntax und Echtzeit-3D-Visualisierung es als vielversprechende Alternative für diejenigen, die mehr Kontrolle und Einfachheit in CAD-Design-Workflows suchen.