Ich habe ein OpenSCAD-Programm/Skript mit 1000 Zeilen, das Spiral-Pass-Through-Fidgets generiert. Abgesehen von den Fidgets mit Textur oder Anhängen (wie Hasenohren), glaube ich, dass dieses Skript die Spiral-Pass-Through-Fidgets in jeder Form generieren kann, die ich auf Makerworld gesehen habe.
Alles ist parametrisch. Die Anzahl und Positionen der Spiralarme, die Form dieser Arme, die allgemeine Form des Fidgets - alles wird parametrisch gesteuert. Pyramidenförmig? Ein sechseckiges Prisma mit einer überlagerten Coca-Cola-Flaschenform? Ja. Ein Fidget in Form einer Spule oder eines Würfels? Kein Problem. Aladdins Flasche mit dem Dschinn? Kein Problem.
Mit Kommentaren hat das Skript etwa 1000 Zeilen. Ich habe versucht, so viel wie möglich davon abhängig zu machen, den Fidget von innen heraus aufzubauen, so dass (zum Beispiel) die Größe des Arms und etwa sechs andere Faktoren letztlich den Durchmesser des Fidgets ergeben. Derzeit gibt es etwa 30 Parameter, die angegeben werden können. Einige Parameter, wie Höhe oder Drehung, beeinflussen den Fidget für jeden Typ, aber
Das Problem ist, dass 30 Parameter zu viele sind.
Ich schreibe derzeit ein Google-Dokument, um all das zu dokumentieren. Ich verwende viele Illustrationen. Es umfasst derzeit 40 Seiten.
Ich habe beschlossen, dass ich dieses Fidget wirklich mag, also habe ich beschlossen, es separat zu veröffentlichen. Es verwendet mein brandneues H2D, und ich benutze PETG für die Stützen und PLA für den Hauptkörper mit null Spielraum, und es funktioniert wirklich gut.
Nur als Beispiel, hier sind die Parameter, die zur Erzeugung dieses Ergebnisses verwendet wurden. Ein Beispiel für einen ungenutzten Parameter ist "spiralhatsize". Das gilt nur für eine bestimmte Konfiguration der zentralen Spirale, bei der ich einen spitzen Hut auf der Spirale erzeuge. Da wir eine "type3innerspiral" verwenden, gilt dieser Parameter nicht.
Diese Parameterdatei definiert einen 6-zackigen Stern mit abgerundeten (Klubend-) Zacken und so weiter. Die Hauptwendung beträgt 540 Grad über 100 mm Höhe, rechtsdrehend, aber die Streben sind linksdrehend, und ihre Wendung beträgt 270 Grad über die gleichen 100 mm.
In meiner Dokumentation ist dies ein Fidget vom Typ 6 mit den folgenden Parametern. Ich kämpfe immer noch damit, diese Parameter zu benennen, da ich versuche, die Dinge logisch zu gestalten, damit jemand Dinge intuitiver finden kann, ohne die ganze Liste durchsuchen zu müssen. Ich könnte mich vom OpenSCAD-Spickzettel inspirieren lassen.
Auf jeden Fall, viel Spaß. Wenn du wirklich ein Spiral-Fidget mit einem bestimmten Design oder einer bestimmten Größe willst, lass es mich wissen. Ich meine, braucht nicht jeder ein 300mm x 300mm Spiral-Fidget?
// ----- Schnitt hier oben -----
/* [Verborgen] */
;
Einbeziehen <sfidget v10.scad>;
// Logischerweise sind Punktvariablen zuerst.
Pointh = 15;
pointw = 2;
pointclubend = true;
pointrecttotrapezoid = -0.1;
pointclubendfactor=3;
// Jetzt bauen wir den Stern.
Starclearance = 1;
Starfillet = 0,5;
Starpoints = 6;
starspiralpointlist =true;
starwrapperpointlist = starspiralpointlist;
// Da der Stern gebaut ist, arbeiten wir an dem
// innere Spirale.;
spiralhatsize = 45;
spiralminimumtopsize = 2;
// Wir bauen nun den Wrapper;
wrapperfaces = 0;
wrapperxtracylsize = 6;
// Der Hauptsatz von Variablen bildet den
// Rest der Start-Fidget-Struktur.;
mantotal_height = 100;
mantwist = -540;
// Beginne mit der Arbeit an den Variablen der Klasse 1.;
type1fidget = falsch;
type1conez = 0;
type1conebaseadjust = 2;
// Variablen der Klasse 2;
type2fidget = falsch;
type2toroiddistance = -25;
type2applytospiral = true;
type2toruslobecount = 50;
type2toruslobelist = [20, 15];
type2torusfactors = [[1.1, 1.1], [0.75, 1.05]];
type2adjtoroiddistance = 0;
// Variablen der Klasse 3.;
type3innerspiral = true;
type3top = 2;
type3bottom = 2;
type3separate = 2.5;
// Der einzige, einzigartige Typ-4-Enabler;
type4egg = falsch;
// Die Konfigurationsvariablen vom Typ 5;
type5multiball = falsch;
type5lobecount = 50;
type5lobelist = [10, 32, 40];
type5lobefactors = [1.1, [0.9, 0.6], [0.4, 1.6]];
type5applytype1towrapper=false;
type6wrapper=true;
Typ6Enddicke=mm(7.5);
type6twist = 270;
type6factor = [1,0,1,0,1];
//Die Include-Datei-Ebene ist für mein Debugging.
includefileversion = 10.01;
// Letzte nicht gruppierte Variablen.;
maxinnerheight = 0;//maintotal_height/4;
maxouterheight = 0;
//outonly = true;
//inonly = true;
main();
;
// ----- Schnitt unterhalb hier -----
Tags
Modellquelle
