Zusammenfassung
Die Idee für diese Schrift war, so wenig primitive Dreiecke wie möglich für jeden Buchstaben zu verwenden. Die Schrift entwickelte sich sehr natürlich aus dieser einfachen Idee. Zugegeben, die Schrift ist nicht die am besten lesbare, aber jeder Buchstabe unterscheidet sich sehr von allen anderen (außer "B" und "3"). Die Schrift verwendet eine variable Breite für schmale Buchstaben.
Die Form der Buchstaben ist im Vektor fo gespeichert. Jeder Buchstabe befindet sich in einem (Unter-)Vektor. Das erste Element ist die Breite des Buchstabens (normalerweise 2, er wird später mit der Breite aller Buchstaben w skaliert). Danach folgt eine Liste von Polygonen. Einige Eckpunkte der Polygone werden um einen kleinen Betrag (e=0,02) verschoben, um Degenerationen zu entfernen, wenn zwei Polygone einen gemeinsamen Eck
Der Schlüssel zum Auffinden eines bestimmten Buchstabens im fo-Vektor ist die Zeichenkette str0. Sie enthält alle verfügbaren Buchstaben:
Str0=" ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.:!?";
Gegenwärtig enthält diese Schriftart nur Großbuchstaben, Zahlen und einige Sonderzeichen.
Lass mich wissen, wenn du mehr Sonderzeichen brauchst, und ich werde versuchen, sie einzuschließen.
Ich bin etwas besorgt, dass die Schriftart nicht gut gedruckt wird, weil einige Buchstaben (z. B. "T", "X") ziemlich scharfe Ecken haben, die der Drucker nicht verarbeiten kann, und er die Enden der Buchstaben auslässt oder verkürzt.
Könnte jemand mit einem 3D-Drucker einen Testdruck machen und ein Bild posten, bitte?
Wenn Sie diese Schriftart in Ihren eigenen Projekten verwenden möchten, können Sie einfach einen Include durchführen:
Verwenden Sie lowpolyfontv1_0.scad
und rufe das Modul auf:
type("HELLO WORLD",center=true);
Die Textzeile kann 80 Zeichen lang sein. Wenn Sie mehr benötigen, müssen Sie das Modul pos() erweitern, das die Position jedes Buchstabens im Text berechnet.
标签
模型来源
