CAD SL [3] Lautsprecher-Gitter
Moderatoren: Heaterman, Finger, Sven, TDI, Marsupilami72, duese
CAD SL [3] Lautsprecher-Gitter
Die dritte Übung in der Reihe CAD SL. Konstruiert werden soll ein Abdeckgitter für einen Lautsprecher, ein Lüfter wäre auch denkbar. Das Gitter soll hochgewölbt sein und in der Mitte eine runde oder rechteckige Insel haben. Auf der Insel ein Logo, vertieft oder erhaben, das steht frei - übrigens auch alle Maße. Das Logo ist frei auszusuchen und als Vektordatei zu importieren.
Es gibt das größtmögliche Maß an Freiheiten. Die Anzahl der Gitterstreben ebenso wie deren Winkel zueinander, ob Radien verwendet werden und wo, alles egal. Ich denke, ein vorgewölbtes Gitter ist so schon sehr schwierig, da ist der Rest eher nebensächlich. Ein Ansatz könnte sein, das Gitter zunächst als Ausschnitt einer Kugelschale anzulegen und dann die rautenförmigen Gitterlöcher per Booloperation auszustechen. Aber vielleicht geht das auch ganz anders.
Es gibt das größtmögliche Maß an Freiheiten. Die Anzahl der Gitterstreben ebenso wie deren Winkel zueinander, ob Radien verwendet werden und wo, alles egal. Ich denke, ein vorgewölbtes Gitter ist so schon sehr schwierig, da ist der Rest eher nebensächlich. Ein Ansatz könnte sein, das Gitter zunächst als Ausschnitt einer Kugelschale anzulegen und dann die rautenförmigen Gitterlöcher per Booloperation auszustechen. Aber vielleicht geht das auch ganz anders.
Re: CAD SL [3] Lautsprecher-Gitter
Ein Schnellschuss aus Openscad:
Ergibt dann dieses Objekt:
MfG. Andreas
Code: Alles auswählen
kd=1000;
difference()
{
union()
{ // positiv
translate([0,0,-kd/3])
sphere(d=kd);
hull()
{
translate([-kd*0.8/2,-kd*0.8/2,-kd/100])
cylinder(h=kd/50,d=kd/10);
translate([kd*0.8/2,-kd*0.8/2,-kd/100])
cylinder(h=kd/50,d=kd/10);
translate([-kd*0.8/2,kd*0.8/2,-kd/100])
cylinder(h=kd/50,d=kd/10);
translate([kd*0.8/2,kd*0.8/2,-kd/100])
cylinder(h=kd/50,d=kd/10);
}
}
// negativ
translate([-kd/2,-kd/2,-kd-1])
cube([kd,kd,kd]);
translate([0,0,-kd/3])
sphere(d=kd*0.97);
rotate(a=45,v=[0,0,1])
for(i=[-kd/3:40:kd/3])
for(j=[-kd/3:40:kd/3])
translate([j,i,11])
rotate(a=45,v=[0,0,1])
cylinder(h=kd/7,d=kd/30,$fn=4);
translate([-kd*0.8/2,-kd*0.8/2,-kd/100])
cylinder(h=kd/40,d=kd/30);
translate([kd*0.8/2,-kd*0.8/2,-kd/100])
cylinder(h=kd/40,d=kd/30);
translate([-kd*0.8/2,kd*0.8/2,-kd/100])
cylinder(h=kd/40,d=kd/30);
translate([kd*0.8/2,kd*0.8/2,-kd/100])
cylinder(h=kd/40,d=kd/30);
}
translate([-10,-80,165])
scale([30,30,1])
linear_extrude(height=20,convexity=10)
import(file="wing.dxf");
Re: CAD SL [3] Lautsprecher-Gitter
Uh, das ging wirklich schnell. Sieht schonmal ziemlich gut aus. Ich habe versucht, den Code nachzuvollziehen, komme aber nicht dahinter, wie Du die Löcher reingestochen hast. Kannst Du das ein bisschen erläutern?
Re: CAD SL [3] Lautsprecher-Gitter
Für solche Sachen ist OpenSCAD echt wie gemacht, ich breche mir grad etwas die Finger... Aber wird.
Re: CAD SL [3] Lautsprecher-Gitter
Die Löcher sind senkrechte viereckige cylinder(), die mit zwei for-Schleifen in einem quadratischen Teil der Wölbung eingebracht sind. Sie beginnen kurz über der Grundplatte und enden kurz unter der Kuppelspitze. Beispiel, ein paar davon eingefärbt:
MfG. AndreasRe: CAD SL [3] Lautsprecher-Gitter
Für solche Sachen werd ich eines Tages auch bestimmt zu OpenSCAD greifen, wiederholende Strukturen sind ja wie gemacht dafür... Dafür wirds jetzt in FreeCAD etwas haarig.
Erst mal ohne Logo, das kommt später. Mein armes Hirn braucht eine Pause... Ein Wort der Warnung vorab: Wer meinte, FreeCAD sei schnell und Ressourcenschonend, der wird hier eines besseren belehrt. Zumindest mit meinen ollen Rechner brauchte das ein paar Kaffee. Macht nicht mehr so richtig Spaß...
Als erstes erzeugen wir einen Zylinder (jetzt ist die Zeit für die Freunde der Primitiven), und zwar 1mm hoch und -1 mm unter der X_Y Ebene. Das wirk etwas komisch, muss aber sein. Dieser Zylinder dient als Basis für unser Gitter. Wir erinnern uns: Ein Körper muss durchgängig sein. Diese etwas nervige Beschränkung macht diesen eigentlich recht sinnfreien Schritt leider nötig. Die Einstellung der Z Achse ist jetz nicht mehr auf dem Bild, aber ein Hinweis noch: Damit wir bei Z überhaupt etwas eingeben können, muss der Zylinder mit der X_Y Ebene verknüpft sein. Dazu wird die Ebene mit dem Attachment Button ausgewählt. Dazu wird das Koordinatensysten (Origin in der Baumansicht) mit der Leertaste sichtbar gemacht.
Nun kommt die Zeichung für eine Strebe des Gitters (auf der X_Y Ebene):
Dann drehen wir den Sketch um 45°:
Dann padden wir das ganze auf 30mm. Da mein Geometriker gerade Urlaub hat, weiß ich nicht wie hoch das Gitter wirklich wird. Aber 30mm sollten reichen. Das Ergebnis:
Wir markieren das Pad in der Baumansicht. Dann rufen wir das "linear Pattern" Tool auf:
In dem Dialog nehmen wir folgende Einstellungen vor:
Dieses Tool wiederholt nun unser Pad entlang einer Achse. So sieht das dann aus:
Dann wiederholen wir das ganze, diesmal in die Gegenrichtung (Haken "reverse direction" setzen). Danach wieder ab in den Sketcher, die Strebe nochmal zeichnen.
(fortsetzung folgt)
Erst mal ohne Logo, das kommt später. Mein armes Hirn braucht eine Pause... Ein Wort der Warnung vorab: Wer meinte, FreeCAD sei schnell und Ressourcenschonend, der wird hier eines besseren belehrt. Zumindest mit meinen ollen Rechner brauchte das ein paar Kaffee. Macht nicht mehr so richtig Spaß...
Als erstes erzeugen wir einen Zylinder (jetzt ist die Zeit für die Freunde der Primitiven), und zwar 1mm hoch und -1 mm unter der X_Y Ebene. Das wirk etwas komisch, muss aber sein. Dieser Zylinder dient als Basis für unser Gitter. Wir erinnern uns: Ein Körper muss durchgängig sein. Diese etwas nervige Beschränkung macht diesen eigentlich recht sinnfreien Schritt leider nötig. Die Einstellung der Z Achse ist jetz nicht mehr auf dem Bild, aber ein Hinweis noch: Damit wir bei Z überhaupt etwas eingeben können, muss der Zylinder mit der X_Y Ebene verknüpft sein. Dazu wird die Ebene mit dem Attachment Button ausgewählt. Dazu wird das Koordinatensysten (Origin in der Baumansicht) mit der Leertaste sichtbar gemacht.
Nun kommt die Zeichung für eine Strebe des Gitters (auf der X_Y Ebene):
Dann drehen wir den Sketch um 45°:
Dann padden wir das ganze auf 30mm. Da mein Geometriker gerade Urlaub hat, weiß ich nicht wie hoch das Gitter wirklich wird. Aber 30mm sollten reichen. Das Ergebnis:
Wir markieren das Pad in der Baumansicht. Dann rufen wir das "linear Pattern" Tool auf:
In dem Dialog nehmen wir folgende Einstellungen vor:
Dieses Tool wiederholt nun unser Pad entlang einer Achse. So sieht das dann aus:
Dann wiederholen wir das ganze, diesmal in die Gegenrichtung (Haken "reverse direction" setzen). Danach wieder ab in den Sketcher, die Strebe nochmal zeichnen.
(fortsetzung folgt)
Zuletzt geändert von eJunkie am So 21. Jan 2024, 01:50, insgesamt 4-mal geändert.
Re: CAD SL [3] Lautsprecher-Gitter
Nun drehen wir den Sketch um -45°, wieder Pad, wieder linear Pattern. Wer jetzt so eine lahme Kiste wie ich sie habe hat, für den wirds nun unangenehm... Diese Pattern Funktion braucht aus irgendwelchen Gründen brutal viel Rechenleistung.
Nun erzeugen wir noch einen kleinen Zylinder für die Mitte wo das Logo drauf kommt. Ich habe 20mm Radius gewählt.
Und so sieht das ganze nun aus:
Nun erzeugen wir eine "subtraktive Sphere", um die innere Wölbung auszuschneiden:
Als Radius wähle ich 300mm. Ich möchte, dass die Oberfläche der Kugel 4mm unter der Oberfläche meines Gitters raus kommt, das Gitter soll 4mm stark werden. Wer keine Lust aufs Rechnen hat, kann auch Ausdrücke eingeben:
Nach Ausführung der Funktion sieht das Ergebnis so aus:
(gleich gehts weiter)
Nun erzeugen wir noch einen kleinen Zylinder für die Mitte wo das Logo drauf kommt. Ich habe 20mm Radius gewählt.
Und so sieht das ganze nun aus:
Nun erzeugen wir eine "subtraktive Sphere", um die innere Wölbung auszuschneiden:
Als Radius wähle ich 300mm. Ich möchte, dass die Oberfläche der Kugel 4mm unter der Oberfläche meines Gitters raus kommt, das Gitter soll 4mm stark werden. Wer keine Lust aufs Rechnen hat, kann auch Ausdrücke eingeben:
Nach Ausführung der Funktion sieht das Ergebnis so aus:
(gleich gehts weiter)
Re: CAD SL [3] Lautsprecher-Gitter
Benutze ich sehr oft. Der viereckige cylinder() ist mein Standardmittel zur Anfasung von Kanten. Damit lassen sich auch nachträglich zu kantige Formen brechen. Außerdem gibt der prima Bohrlöcher ab, wo sowohl metrische Gewinde als auch Blechschrauben rein passen.
MfG. Andreas
MfG. Andreas
Re: CAD SL [3] Lautsprecher-Gitter
Ups, ich muss mich korrigieren... Ich hab das Gitter 2mm dick gemacht. Weiter gehts damit, das wir einen neuen Body anlegen. In dem kommt eine Kugel, der Ursprung der Kugel bliebt gleich, als Radius habe ich 302 gewählt. Das wird die äußere Wölbung. Kleines Detail am Rande: Am Namen der X_Y Ebene erkennen wir, dass wir uns jetzt in einem parallel Universum befinden:
So sieht es dann aus:
Nun wählen wir beide Körper gleichzeitig in der Baumansicht aus und wenden das "boolean operation" Tool an:
Wir wählen den Modus "common", der einen Körper erstellt, der alle Überschneidungen enthält. So siehts aus:
Jetzt mache ich das Konstrukt noch schön rund inden ich einen Sketch auf der X_Y erstelle, der alles überstehende wegschneiden soll (hier einmal mit und ohne section view):
Dann wende ich die Funktion pocket an, diesmal mit "reverse direction" und tiefe "trough all". Wir wollen ja nach oben alles wegschneiden. Das Ergebnis:
Als nächstes kommt der Sketch für die Basisplatte:
Wir sehen nun in der Front Ansicht, dass der Kugelausschnitt nicht auf 0 aufliegt.
Macht nix, ich setze Z von meinen Sketch auf 8mm. Dann noch 4mm Pad, fertig ist das Teil (von Rundungen und dem Logo mal angesehen). Wahrscheinlich wäre es angenehmer, das Gitter als dxf zu importieren und das dann zu padden, das ganze Modell lässt sich mittlerweile kaum noch bearbeiten, der Rechner rechnet...
Aber immerhin, es hat geklappt:
Edit sagt: Evtl. wäre ausstanzen mit Rechtecken schneller, evtl. könnte man die Rechtecke im Sketcher erzeugen. Wäre noch was zum ausprobieren. Die Pattern Funktion ist zwar praktisch, aber extrem rechenintensiv. Ein paar Wiederholungen ok, aber für ein Gitter irgendwie pain in the ass...
So sieht es dann aus:
Nun wählen wir beide Körper gleichzeitig in der Baumansicht aus und wenden das "boolean operation" Tool an:
Wir wählen den Modus "common", der einen Körper erstellt, der alle Überschneidungen enthält. So siehts aus:
Jetzt mache ich das Konstrukt noch schön rund inden ich einen Sketch auf der X_Y erstelle, der alles überstehende wegschneiden soll (hier einmal mit und ohne section view):
Dann wende ich die Funktion pocket an, diesmal mit "reverse direction" und tiefe "trough all". Wir wollen ja nach oben alles wegschneiden. Das Ergebnis:
Als nächstes kommt der Sketch für die Basisplatte:
Wir sehen nun in der Front Ansicht, dass der Kugelausschnitt nicht auf 0 aufliegt.
Macht nix, ich setze Z von meinen Sketch auf 8mm. Dann noch 4mm Pad, fertig ist das Teil (von Rundungen und dem Logo mal angesehen). Wahrscheinlich wäre es angenehmer, das Gitter als dxf zu importieren und das dann zu padden, das ganze Modell lässt sich mittlerweile kaum noch bearbeiten, der Rechner rechnet...
Aber immerhin, es hat geklappt:
Edit sagt: Evtl. wäre ausstanzen mit Rechtecken schneller, evtl. könnte man die Rechtecke im Sketcher erzeugen. Wäre noch was zum ausprobieren. Die Pattern Funktion ist zwar praktisch, aber extrem rechenintensiv. Ein paar Wiederholungen ok, aber für ein Gitter irgendwie pain in the ass...
Re: CAD SL [3] Lautsprecher-Gitter
Ich möchte noch die grafischen Abläufe erläutern, die dem oben gelisteten Openscad-Script zugrunde liegen. Es ist dazu nützlich wenn man ein wenig räumliche Vorstellungskraft hat und weiß, wo x, y und z hin zeigen. Das ist nur ein Kochrezept für Leute die kein Programm lesen können.
Es beginnt mit einer Kugel. Die Kugel wird nach unten versenkt bis bloß noch die Glatze über Z-Null heraus schaut. Das ist die Form des Gitters was wir brauchen. In angemessenem Abstand von der Glatzenkante setzen wir vier flache Scheiben auf Z-Null im Quadrat hin und ziehen eine Hülle drum herum. Man könnte auch versetzte Rechteckflächen zwischen den Scheiben nehmen, es rechnet dann schneller. Das ist die Grundplatte mit runden Ecken.
Jetzt wird abgezogen, also unten rum die Kugel mit einem großen Quader unter Z-Null abgeschnitten. Eine etwas kleinere als die erste Kugel darf bei gleichem Mittelpunkt dann die Glatze von innen aushöhlen. Vier Löcher durch die oben genannten Scheiben gebohrt ergeben vier Anschraubmöglichkeiten. Nun werden noch die Luftlöcher durchgeschossen, bei passender Arbeitshöhe perforieren die nur die Glatze im Ring und lassen eine lochfreie Insel oben drauf übrig. Ganz zum Schluss wird dort ein Logo rauf geklebt. Ich hatte bloß ein Flügelprofil übrig, andere Logos mochten hier nicht sichtbar werden.
MfG. Andreas
Es beginnt mit einer Kugel. Die Kugel wird nach unten versenkt bis bloß noch die Glatze über Z-Null heraus schaut. Das ist die Form des Gitters was wir brauchen. In angemessenem Abstand von der Glatzenkante setzen wir vier flache Scheiben auf Z-Null im Quadrat hin und ziehen eine Hülle drum herum. Man könnte auch versetzte Rechteckflächen zwischen den Scheiben nehmen, es rechnet dann schneller. Das ist die Grundplatte mit runden Ecken.
Jetzt wird abgezogen, also unten rum die Kugel mit einem großen Quader unter Z-Null abgeschnitten. Eine etwas kleinere als die erste Kugel darf bei gleichem Mittelpunkt dann die Glatze von innen aushöhlen. Vier Löcher durch die oben genannten Scheiben gebohrt ergeben vier Anschraubmöglichkeiten. Nun werden noch die Luftlöcher durchgeschossen, bei passender Arbeitshöhe perforieren die nur die Glatze im Ring und lassen eine lochfreie Insel oben drauf übrig. Ganz zum Schluss wird dort ein Logo rauf geklebt. Ich hatte bloß ein Flügelprofil übrig, andere Logos mochten hier nicht sichtbar werden.
MfG. Andreas
Re: CAD SL [3] Lautsprecher-Gitter
Den quadratischen Zylinder wird in openscad über einen Kreis extrudieren, hierbei kann man über den Parameter $fn die Anzahl der Ecken der Kreisform bestimmen.
Im code in Zeile 30: cylinder(h=kd/7,d=kd/30,$fn=4);
Also $fn=4 ergibt ein Quadrat, $fn=6 erzeugt einen 6kant Zylinder usw.
Beispiel: Somit hat man variable Lochgeometrie.
Zuletzt geändert von unlock am So 21. Jan 2024, 02:22, insgesamt 4-mal geändert.
Re: CAD SL [3] Lautsprecher-Gitter
So, der letzte Part hat es schon wieder etwas in sich... Hätte ich mal dxf genommen... Aber ich musste ja beschließen, dem Meister sein Logo zu klauen (ich bitte von Klagen abzusehen ).
Dazu habe ich das svg Logo von dieser Seite runtergeladen und die Hand "extrahiert", die Farbe geändert damit man was sieht, die Größe angepasst und das ganze wieder als svg gespeichert. Soweit, so schön.
In FreeCAD wechsel ich in die Draft Workbench. Den Body habe ich erst mal ausgeblendet, damit man sehen kann was jetzt passiert (das Filet bitte ignorieren, da hatte ich mal versucht das ganze zu verrunden- das kommt zum Schluss). Wir imporen nun die SVG Datei, auf die Frage hin Grafik oder Geometrie wählen wir Geometrie. Jetzt erscheinen eine Reihe von Objekten im Baum, die Hand besteht aus einer äußeren Kontur und den "ausgestanzen" Teilen innen. Für jedes Teil legt FreeCad nun ein path Objekt an. Das letzte Teil habe ich mal umbenannt, das ist die äußere Kontur der Hand:
Jetzt markieren wir die inneren Teile der Hand, gehen ins Menü Modification und wählen dort "Draft to Sketch" aus. FreeCad erstellt einen Sketch für alle markierten Teile. Die Path Objekte können nun gelöscht werden, es gibt keine Verknüpfung. So sieht der Sketch aus, im Hintergrund sieht man noch das Path Objekt der Außenkontur der Hand:
Das ganze machen wir noch mit der Außenkontur:
Jetzt gehts zurück in die Part Design Workbench. Dort ordnen wir die beiden Sketche erst mal dem Body zu. Dabei aufgepasst, wir können auch den ursprunglichen Body auswählen! Wir nehmen natürlich den zuletzt erstellten. Danach blenden wir das Koordinatensystem ein und ordnen die Sketche der X_Y Ebene zu.
Nun gebe wir dem Sketch der Außenkontur einen ausreichend großen Z Offset, sodass er über allem anderen angezeigt wird. In der Draufsicht kann der Sketch nun schön in X-Y ausgerichtet werden:
Nun kann die endgültige Z Höhe so eingestellt werden, dass der Sketch gerade so in der Oberfläche verschwindet (wir wollen möglichst vermeiden, das er unten rausragt und das Logo soll an allen Stellen die OBerfläche berühren). Ich bin auf diese Werte gekommen:
(Fortsetzung folgt)
Dazu habe ich das svg Logo von dieser Seite runtergeladen und die Hand "extrahiert", die Farbe geändert damit man was sieht, die Größe angepasst und das ganze wieder als svg gespeichert. Soweit, so schön.
In FreeCAD wechsel ich in die Draft Workbench. Den Body habe ich erst mal ausgeblendet, damit man sehen kann was jetzt passiert (das Filet bitte ignorieren, da hatte ich mal versucht das ganze zu verrunden- das kommt zum Schluss). Wir imporen nun die SVG Datei, auf die Frage hin Grafik oder Geometrie wählen wir Geometrie. Jetzt erscheinen eine Reihe von Objekten im Baum, die Hand besteht aus einer äußeren Kontur und den "ausgestanzen" Teilen innen. Für jedes Teil legt FreeCad nun ein path Objekt an. Das letzte Teil habe ich mal umbenannt, das ist die äußere Kontur der Hand:
Jetzt markieren wir die inneren Teile der Hand, gehen ins Menü Modification und wählen dort "Draft to Sketch" aus. FreeCad erstellt einen Sketch für alle markierten Teile. Die Path Objekte können nun gelöscht werden, es gibt keine Verknüpfung. So sieht der Sketch aus, im Hintergrund sieht man noch das Path Objekt der Außenkontur der Hand:
Das ganze machen wir noch mit der Außenkontur:
Jetzt gehts zurück in die Part Design Workbench. Dort ordnen wir die beiden Sketche erst mal dem Body zu. Dabei aufgepasst, wir können auch den ursprunglichen Body auswählen! Wir nehmen natürlich den zuletzt erstellten. Danach blenden wir das Koordinatensystem ein und ordnen die Sketche der X_Y Ebene zu.
Nun gebe wir dem Sketch der Außenkontur einen ausreichend großen Z Offset, sodass er über allem anderen angezeigt wird. In der Draufsicht kann der Sketch nun schön in X-Y ausgerichtet werden:
Nun kann die endgültige Z Höhe so eingestellt werden, dass der Sketch gerade so in der Oberfläche verschwindet (wir wollen möglichst vermeiden, das er unten rausragt und das Logo soll an allen Stellen die OBerfläche berühren). Ich bin auf diese Werte gekommen:
(Fortsetzung folgt)
Re: CAD SL [3] Lautsprecher-Gitter
So, irgendwie habe ich mich davon irritieren lassen, dass die ganze Hand nur eine große schwarze Fläche war. Das Aufteilen in 2 Sketche wäre nach kurzem Nachdenken gar nicht nötig gewesen, da alle Pfade kombiniert einen Sketch mit Innen und Außenkontur ergeben hätten. Nun, jetzt habe ich es halt gemacht. Das erlaubt nun unabhängige Extrusionstiefen für beide Teile (irgendwie muss man sich diesen Denkfehler ja schön reden).
Wir sagen nun Pad auf der Außenkontur. Die 10mm, die Standardmäßig vorgeschlagen werden, können bleiben. Dazu kommen wir noch. Nun weise ich dem 2. Sketch die selben Koordinaten zu wie dem Ersten, gebe in der Höhe aber einen halben mm drauf. Dann sage ich Pocket, mit trough all und der Option reverse. Dass stanzt jetzt den Innenteil der Hand nach oben hin aus:
Nun möchten wir nicht, dass das Logo platt ist, es soll an der Oberfläche auch rund sein. Wir blenden den Body wieder aus und erschaffen einen Neuen, dort wird eine Kugel mit dem bekannten Offset eingefügt. Der Radius beträgt diesmal 304mm. Diese Kugel wird die Begrenzung für unser Logo. Wir machen einen neuen Sketch, der dazu dient einen Würfel zu erschaffen. Dieser Würfel soll die bereits konstruierte Geometrie abdecken.
Dann Z offset anpassen und revers padden:
Dann noch die bereits bekannte Boolsche Operation mit diesem Konstrukt, etwas verrunden und die Befestigungslöcher mit der Hole Funktion ansenken (jeder Klick wird nun RICHTIG hart bestraft ), und fertig ist das Teil:
Exportiert als stl siehts ohne die eingezeichneten Kanten richtig nett aus:
So, das wars erst mal. Diesmal war es schon wirklich fummelig, dieses Modell ändert man nicht gerne. Ich glaube, es gibt bessere Wege und vor allem welche, die den Rechner nicht so quälen. Da könnte man etwas rumprobieren. Erst mal würde ich sagen: Ziel erreicht!
Wir sagen nun Pad auf der Außenkontur. Die 10mm, die Standardmäßig vorgeschlagen werden, können bleiben. Dazu kommen wir noch. Nun weise ich dem 2. Sketch die selben Koordinaten zu wie dem Ersten, gebe in der Höhe aber einen halben mm drauf. Dann sage ich Pocket, mit trough all und der Option reverse. Dass stanzt jetzt den Innenteil der Hand nach oben hin aus:
Nun möchten wir nicht, dass das Logo platt ist, es soll an der Oberfläche auch rund sein. Wir blenden den Body wieder aus und erschaffen einen Neuen, dort wird eine Kugel mit dem bekannten Offset eingefügt. Der Radius beträgt diesmal 304mm. Diese Kugel wird die Begrenzung für unser Logo. Wir machen einen neuen Sketch, der dazu dient einen Würfel zu erschaffen. Dieser Würfel soll die bereits konstruierte Geometrie abdecken.
Dann Z offset anpassen und revers padden:
Dann noch die bereits bekannte Boolsche Operation mit diesem Konstrukt, etwas verrunden und die Befestigungslöcher mit der Hole Funktion ansenken (jeder Klick wird nun RICHTIG hart bestraft ), und fertig ist das Teil:
Exportiert als stl siehts ohne die eingezeichneten Kanten richtig nett aus:
So, das wars erst mal. Diesmal war es schon wirklich fummelig, dieses Modell ändert man nicht gerne. Ich glaube, es gibt bessere Wege und vor allem welche, die den Rechner nicht so quälen. Da könnte man etwas rumprobieren. Erst mal würde ich sagen: Ziel erreicht!
Re: CAD SL [3] Lautsprecher-Gitter
Und man kann witzige Sachen machen, wie wechselnde Lochmuster, indem man die Werte aus der for Schleife nutztunlock hat geschrieben: ↑So 21. Jan 2024, 00:28Den quadratischen Zylinder wird in openscad über einen Kreis extrudieren, hierbei kann man über den Parameter $fn die Anzahl der Ecken der Kreisform bestimmen.
Im code in Zeile 30: cylinder(h=kd/7,d=kd/30,$fn=4);
Also $fn=4 ergibt ein Quadrat, $fn=6 erzeugt einen 6kant Zylinder usw.
Beispiel:Openscad1.JPG
Somit hat man variable Lochgeometrie.
Re: CAD SL [3] Lautsprecher-Gitter
Okay, wiederholende Muster sind nicht so die Stärke von FreeCAD...
Im Sketcher gibts ja auch eine Funktion ("rectangular array") die geeignet wäre, das Gitter zu erzeugen. Aber wenn man ein 28x28 array erzeugen will sagt es (nach einer halben Stunde!) das da:
Grrrrr....
Irgendwas geht da wohl ins Quadrat... Schätze mal der Solver hat plötzlich gaaaaaaaanz viele Lösungen.
Tante Edit sagt: Nein, leider Nein, leider gar nicht... In der Draft Workbench gibt es eigentlich genau das, was man braucht. Eine Array Funtion, die in Sekundenbruchteilen hunderte von Rechtecken schön gleichmäßig anlegen kann. Nur wenn man daraus versucht ein Sketch zu machen, dann dauert es ewig und 3 Tage und man kann es eigentlich nur noch killen. Wenn man es direkt verwenden will, dann passiert entweder nix, oder es dauert auch ewig (und dann passiert nix) oder es passieren völlig wilde Dinge (leere Ansicht, Pad verschwindet im Nirwana, Dinge werden nur halb gezeichnet).
Also war meine etwas sperrige Lösung wohl schon gar nicht so schlecht... Schade
Im Sketcher gibts ja auch eine Funktion ("rectangular array") die geeignet wäre, das Gitter zu erzeugen. Aber wenn man ein 28x28 array erzeugen will sagt es (nach einer halben Stunde!) das da:
Code: Alles auswählen
13:49:34 1e-07 <App> Document.cpp(3793): Memory exception in Unnamed#Sketch thrown: Not enough memory available
13:49:34 Recompute failed! Please check report view.
Irgendwas geht da wohl ins Quadrat... Schätze mal der Solver hat plötzlich gaaaaaaaanz viele Lösungen.
Tante Edit sagt: Nein, leider Nein, leider gar nicht... In der Draft Workbench gibt es eigentlich genau das, was man braucht. Eine Array Funtion, die in Sekundenbruchteilen hunderte von Rechtecken schön gleichmäßig anlegen kann. Nur wenn man daraus versucht ein Sketch zu machen, dann dauert es ewig und 3 Tage und man kann es eigentlich nur noch killen. Wenn man es direkt verwenden will, dann passiert entweder nix, oder es dauert auch ewig (und dann passiert nix) oder es passieren völlig wilde Dinge (leere Ansicht, Pad verschwindet im Nirwana, Dinge werden nur halb gezeichnet).
Also war meine etwas sperrige Lösung wohl schon gar nicht so schlecht... Schade
Re: CAD SL [3] Lautsprecher-Gitter
Kannst du die vielen Rechtecke extern erzeugen und als dxf o.ä. negativ importieren?
Re: CAD SL [3] Lautsprecher-Gitter
Habe mir mal OpenSCAD installiert und Andreas Beispiel da reingehauen. Ich bin echt etwas verblüfft wie effizient das ist, vor allem bleibt es Text und der kann nicht "kaputt" gehen. Nun, diese Sprache ist irgendwie eine Mischung aus Auszeichungssprache und (imperativer) Programmiersprache, etwas gewöhnungsbedürftig. Aber erfüllt seinen Zweck. Was das Programm tut, verstehe ich nun. Auskommentieren und damit rumspielen hilft. Scheint ja ein paar sehr mächtige Befehle zu geben, so wie hull{}.
Dann habe ich mal die OpenSCAD Workbench in FreeCAD ausprobiert. Ist kein Ersatz für OpenSCAD, eher ein Weg die Modelle in FreeCAD zu bekommen. Und das klappt echt gut. Vor allem kann man den Kram danach vernünftig bearbeiten. Ich habe das Modell mal genommen und die Kante oben rund gemacht sowie die Löcher angesenkt. Das ist zwar auch etwas träge, aber kein Vergleich zu der nativen Lösung.
Der Trick für die anschließende Bearbeitung ist es, die letzte Operation ("difference") im Baum auszuwählen und dann "create body" zu sagen. Damit bekommt der neue Body das OpenSCAD Modell als "BaseFeature". Das kann dann ganz normal weiter bearbeitet werden. Ziemlich genial...
Für derartige DInge kann ich mir sehr gut vorstellen, auf OpenSCAD zurück zu greifen, auch wenn das natürlich wieder ein paar Hemmschwellen für den Einstieg hat- vor allem wenn man eine konzeptionell völlig andere Software verwendet, mit der man gut klar kommt.
@Andreas: Wie hast du eigentlich die rechteckigen "Zylinder" sichtbar gemacht?
Dann habe ich mal die OpenSCAD Workbench in FreeCAD ausprobiert. Ist kein Ersatz für OpenSCAD, eher ein Weg die Modelle in FreeCAD zu bekommen. Und das klappt echt gut. Vor allem kann man den Kram danach vernünftig bearbeiten. Ich habe das Modell mal genommen und die Kante oben rund gemacht sowie die Löcher angesenkt. Das ist zwar auch etwas träge, aber kein Vergleich zu der nativen Lösung.
Der Trick für die anschließende Bearbeitung ist es, die letzte Operation ("difference") im Baum auszuwählen und dann "create body" zu sagen. Damit bekommt der neue Body das OpenSCAD Modell als "BaseFeature". Das kann dann ganz normal weiter bearbeitet werden. Ziemlich genial...
Für derartige DInge kann ich mir sehr gut vorstellen, auf OpenSCAD zurück zu greifen, auch wenn das natürlich wieder ein paar Hemmschwellen für den Einstieg hat- vor allem wenn man eine konzeptionell völlig andere Software verwendet, mit der man gut klar kommt.
@Andreas: Wie hast du eigentlich die rechteckigen "Zylinder" sichtbar gemacht?
Könnte man... aber dann muss man wieder ein Sketch daraus machen um damit in der Part design Workbench arbeiten zu können, da war dann immer Schluss.
Zuletzt geändert von eJunkie am So 21. Jan 2024, 18:48, insgesamt 1-mal geändert.
Re: CAD SL [3] Lautsprecher-Gitter
Da machst du ein # vor die Befehlszeile, dann wird das beim preview (F5) in rot gerendert.
Cheat Sheet hilft ungemein: https://openscad.org/cheatsheet/
Re: CAD SL [3] Lautsprecher-Gitter
Es gibt ein paar Elemente zur speziellen Darstellung. Das hilft mir gerade bei "negativen" und damit unsichtbaren Teilen, sie sichtbar zu machen oder verschwinden zu lassen. Die rote Reihe entsteht so:
Es ist hier das # vor einem Element was es zart rot einfärbt. Das habe ich hier in der Schleife selektiv benutzt. Die drei kommentierten Zeilen aktiv machen, dann wird es wirksam. Auch kennen sollte man das % an gleicher Stelle, es stellt Platzhalter dar, die nur angezeigt aber nicht verarbeitet werden sollen. Beispiel:
Das eigentliche Objekt ist das Steckergehäuse, die roten Stifte sind nur Dekoration.
MfG. Andreas
Code: Alles auswählen
for(i=[-kd/3:40:kd/3+40])
for(j=[-kd/3:40:kd/3+40])
translate([j,i,11])
rotate(a=45,v=[0,0,1])
// if(j>60&&j<70)
// #cylinder(h=kd/7,d=kd/30,$fn=4);
// else
cylinder(h=kd/7,d=kd/30,$fn=4);
MfG. Andreas
Re: CAD SL [3] Lautsprecher-Gitter
Funktioniert, danke für die Erklärung! Ich hätte jetzt erwartet dass man da mehr für tun muss... Irgendwie verstehe ich nun besser warum so viele Leute damit arbeiten.
Edit sagt: Das % ist dem FreeCAD egal
(Warum habe ich eigentlich immer das Verlangen, Software aufs Glatteis zu führen?)
Edit sagt: Das % ist dem FreeCAD egal
(Warum habe ich eigentlich immer das Verlangen, Software aufs Glatteis zu führen?)
Re: CAD SL [3] Lautsprecher-Gitter
Mir fällt gerade ein, das FreeCAD auch Variablen kann. Ich hab das aber nur mal aus dem Augenwinkel gesehen. Die lagen in einer Art Tabelle und mit den Zahlen ließ sich die Konstruktion verändern. Wollte ich mal angemerkt haben, damit ließen sich verblüffend viele Sachen beeinflussen.
Re: CAD SL [3] Lautsprecher-Gitter
Ja, hab ich grad gestern ausprobiert.
Nicht schlecht, hat mir aber bei dem Problem "kaputte parametrie" nicht geholfen.
Tabelle erstellen, wie üblich mit Formeln. Die Zelle kriegt einen Alias-Namen.
überall wo das Tilde* Icon neben Wert Feldern steht,
ist das dann einfügbar mit Tabelle.alias
* oder komisches blaues rundes krikelkrakel Icon. Das gibt's leider nicht immer und überall.
Nicht schlecht, hat mir aber bei dem Problem "kaputte parametrie" nicht geholfen.
Tabelle erstellen, wie üblich mit Formeln. Die Zelle kriegt einen Alias-Namen.
überall wo das Tilde* Icon neben Wert Feldern steht,
ist das dann einfügbar mit Tabelle.alias
* oder komisches blaues rundes krikelkrakel Icon. Das gibt's leider nicht immer und überall.
Re: CAD SL [3] Lautsprecher-Gitter
Da hatte ich letztens mal einen Quicky mit der Spreadsheet Workbench gemacht https://www.youtube.com/watch?v=8CF0-967mVEFinger hat geschrieben: ↑Mo 22. Jan 2024, 09:52 Mir fällt gerade ein, das FreeCAD auch Variablen kann. Ich hab das aber nur mal aus dem Augenwinkel gesehen. Die lagen in einer Art Tabelle und mit den Zahlen ließ sich die Konstruktion verändern. Wollte ich mal angemerkt haben, damit ließen sich verblüffend viele Sachen beeinflussen.
Re: CAD SL [3] Lautsprecher-Gitter
Das ist ein interessanter Ansatz, nur die Stege zu konstruieren und mit den Kugeloberflächen zu schneiden. Damit bist du weiter gekommen als ich.eJunkie hat geschrieben: ↑So 21. Jan 2024, 01:46 So, das wars erst mal. Diesmal war es schon wirklich fummelig, dieses Modell ändert man nicht gerne. Ich glaube, es gibt bessere Wege und vor allem welche, die den Rechner nicht so quälen. Da könnte man etwas rumprobieren. Erst mal würde ich sagen: Ziel erreicht!
Ich habe versucht erst die Kalotte in der Part Design WB zu machen (das ging soweit ganz gut).
Dann das Muster in der Part WB (Hexagon gezeichnet, mit der Draft WB als Array wiederholt, das Draft Hexagon Array in der Part WB aufgepolstert. Sozusagen ein Stempel für die Löcher.
Es ging auch ziemlich performant. Im Gegensatz dazu ist im Sketcher ist die Rechnzeit wohl mit zunehmender Elementanzahl exponentiell ;(
Nur der Versuch in der Part WB von der Kalotte den "Stempel" mit den Boolschen Operatoren abzuziehen hat überhaupt nicht funktioniert
Re: CAD SL [3] Lautsprecher-Gitter
Jungs, ich bin dran:
Fehlt noch der Import der Grafik und ein Video.
Fehlt noch der Import der Grafik und ein Video.
Re: CAD SL [3] Lautsprecher-Gitter
Ich hatte heute Gelegenheit, das ganze an einem neueren Rechner auszuprobieren. Fazit: Was single thread performance angeht, ist meine alte Kiste nur unwesentlich schlechter. Ich hätte gedacht, da hätte sich mehr getan in der Zwischenzeit. Und auf mehreren Kernen kann FreeCAD genau so wenig rechnen wie auf der GPU (die wird aber zur Darstellung genutzt).
Also bringt ein Rechner mit x Kernen und dicker Graka für FreeCAD genau gar nix...
Also bringt ein Rechner mit x Kernen und dicker Graka für FreeCAD genau gar nix...
Zuletzt geändert von eJunkie am Di 23. Jan 2024, 01:50, insgesamt 1-mal geändert.
- ProgBernie
- Beiträge: 593
- Registriert: Fr 16. Sep 2022, 21:59
- Wohnort: Zwischen Hamburg und Haiti ^W Lübeck
Re: CAD SL [3] Lautsprecher-Gitter
Das scheint nur eingeschränkt zu stimmen, ich habe hier 8 Kerne (16 virt. Proz.) im Laptop und FreeCad kann den im angesprochenen 28x28-Array zu 25% auslasten, also 2 Kerne/4 Threads zu 100%.
Warum das mit dem Sketcher-Array nicht funzt ist mir auch unklar, aber bei vielen constraints wird das sehr langsam. Schon allein bei einem Quadrat und dann auf 28 in einer Reihe aufbohren wird es zäh (und es gibt dann immer einen überflüssigen constraint).
OpenSCAD ist da auch nicht gut, der rechnet auch nur auf einem Kern. Und bei ungünstiger Geometrie rechnet es sich auch einen Wolf. Lustigerweise funktioniert die gleiche Datei in FreeCad importiert oft blitzschnell und augenscheinlich ohne Fehler...
Re: CAD SL [3] Lautsprecher-Gitter
Also bei mir hats definitv nur auf einem Kern gerechnet... Hmm.
Was zu gehen scheint: Draft Workbech, Array und umschließendes Rechteck machen, beides in Part WB extrudieren. Dann in der Part WB mit einer boolschen Operation den "Stempel" aus dem großen Würfel ausschneiden, fertig ist das Gitter. Jetzt kann man in Part Design gehen, das Ergebnis der boolschen Operation auswählen und create body sagen. Die Operation wird dann ein "BaseFeature" und man kann ganz normal damit arbeiten, also Kugel ausschneiden usw. Ist umständlicher, aber lässt sich eine ganze Ecke schneller bearbeiten.
Die Vorgehensweise, ein Objekt anzuwählen, das in einer anderen WB ohne Body erzeugt wurde, und dann erst create Body sagen kannte ich nicht, habe ich im Laufe des Tutorials zufällig entdeckt. Normalerweise arbeite ich durchgehend in Part Design, da ich bisher auf Schriften usw. verzichtet habe. Diese Vorgehensweise funktioniert wie gesagt auch wunderbar um OpenSCAD Modelle in die Part Design WB zu bekommen. Ich habe auch sonst den Body zuerst angelegt und dann versucht das "fremde" Objekt da rein zu verschieben. Leider kann man nur ein Objekt zum "BaseFeature" machen
Was zu gehen scheint: Draft Workbech, Array und umschließendes Rechteck machen, beides in Part WB extrudieren. Dann in der Part WB mit einer boolschen Operation den "Stempel" aus dem großen Würfel ausschneiden, fertig ist das Gitter. Jetzt kann man in Part Design gehen, das Ergebnis der boolschen Operation auswählen und create body sagen. Die Operation wird dann ein "BaseFeature" und man kann ganz normal damit arbeiten, also Kugel ausschneiden usw. Ist umständlicher, aber lässt sich eine ganze Ecke schneller bearbeiten.
Die Vorgehensweise, ein Objekt anzuwählen, das in einer anderen WB ohne Body erzeugt wurde, und dann erst create Body sagen kannte ich nicht, habe ich im Laufe des Tutorials zufällig entdeckt. Normalerweise arbeite ich durchgehend in Part Design, da ich bisher auf Schriften usw. verzichtet habe. Diese Vorgehensweise funktioniert wie gesagt auch wunderbar um OpenSCAD Modelle in die Part Design WB zu bekommen. Ich habe auch sonst den Body zuerst angelegt und dann versucht das "fremde" Objekt da rein zu verschieben. Leider kann man nur ein Objekt zum "BaseFeature" machen
Re: CAD SL [3] Lautsprecher-Gitter
Sehr interessant, wie viele verschiedene Lösungsmöglichkeiten und Werkzeuge es gibt.
Hier ist noch eine mit einer anderen Werkbank, wie ich finde ein ausgezeichnetes YouTube Tutorial: FreeCAD Parametric Curved Hexagon Mesh Speaker Grill With A Single Hexagon | Lattice 2
Hier ist noch eine mit einer anderen Werkbank, wie ich finde ein ausgezeichnetes YouTube Tutorial: FreeCAD Parametric Curved Hexagon Mesh Speaker Grill With A Single Hexagon | Lattice 2
Re: CAD SL [3] Lautsprecher-Gitter
Ah danke für den Tipp, die Lattice2 kannte ich noch gar nicht. Der Channel ist übrigens klasse.
- ProgBernie
- Beiträge: 593
- Registriert: Fr 16. Sep 2022, 21:59
- Wohnort: Zwischen Hamburg und Haiti ^W Lübeck
Re: CAD SL [3] Lautsprecher-Gitter
https://wiki.freecad.org/Multithreading
"The Eigen3 library which is heavily used for the Sketcher also supports multi-threading."
Scheint abhängig von den Operationen zu sein.
Ich habe neulich zufällig eine Nut im Sketcher gemacht und die dann per Array multipliziert. Das funktionierte ohne größere Probleme, waren aber auch nur etwa 20 Elemente. Aber ich meine auch dort gab es genau eine doppelte Einschränkung.
Insgesamt finde ich diesen Faden hier und die parallel sehr interessant um verschiedene Arbeitsweisen und Programme kennenzulernen. Eine Sache fand ich erstaunlich kompliziert zu machen, da werde ich noch einen neuen Thread aufmachen um Anregungen zu besseren Arbeitsweisen zu bekommen.
Bernd
- ProgBernie
- Beiträge: 593
- Registriert: Fr 16. Sep 2022, 21:59
- Wohnort: Zwischen Hamburg und Haiti ^W Lübeck
Re: CAD SL [3] Lautsprecher-Gitter
Das Spreadsheet und die berechneten Maße darauf sind extrem wertvoll. Z.B. konstruiert man sich eine Box die man aus Holz bauen will und gibt die Materialdicke dort ins Spreadsheet. Wenn man das dann ändert, kann man das Holz was man gerade hat nehmen, ob 8 oder 10mm ist dann egal, alles kann man darauf basierend neu berechnen.
Leider funktioniert das in einer meiner beliebteren Workbenches nicht, der LaserCut Interlocking WB. Die hat auch noch weitere Bugs und Schwächen und der bisherige Maintainer scheint seit Jahren nichts mehr daran zu machen, ich überlege die zu forken und selber weiterzustricken. Es gibt bereits ein paar pull requests die einige Sachen beheben sollten.
Re: CAD SL [3] Lautsprecher-Gitter
Ich habe tatsächlich überlegt, ob ich das Thema Spreadsheet irgendwie mit einbauen soll, dachte dann aber das führt vielleicht zu weit wenn es darum geht die grundsätzlichen Dinge vorzustellen. Richtig sinnvoll wird es, wenn man zentrale Werte öfters referenzieren muss. Bei Modelländerungen kann FreeCAD sehr pissig werden, wenn man irgendwo einen Wert anpasst, an anderer Stelle aber nicht. Das kann dazu führen, dass sich Formen ändern weil z.B. Dinge nicht mehr verbunden sind oder ein pocket plötzlich in Bereiche schneidet in die es vorher nicht geschnitten hat. Und dann kollabiert das Modell wenn man Pech hat weil dann alle Flächen plötzlich anders heißen. Mit einer zentralen Definition lässt sich das zwar nicht immer vermeiden, aber es erhöht doch die Chancen, im Nachhinein ein Maß einfach ändern zu können.
Re: CAD SL [3] Lautsprecher-Gitter
Ja oder wenn man ein Gehäuse für ein ESP32 macht und den freien Platz rechts für Sensoren,... variabel gestalten willProgBernie hat geschrieben: ↑Di 23. Jan 2024, 12:37Das Spreadsheet und die berechneten Maße darauf sind extrem wertvoll. Z.B. konstruiert man sich eine Box die man aus Holz bauen will und gibt die Materialdicke dort ins Spreadsheet. Wenn man das dann ändert, kann man das Holz was man gerade hat nehmen, ob 8 oder 10mm ist dann egal, alles kann man darauf basierend neu berechnen.
- Später Gast
- Beiträge: 1706
- Registriert: Di 5. Apr 2016, 22:03
- Wohnort: Karlsruhe
- Kontaktdaten:
Re: CAD SL [3] Lautsprecher-Gitter
Hab jetzt den Faden aus Zeitmangel nicht gelesen, wollte aber folgendes Vorgehen nicht verschweigen:
Das Gitter wird vom Slicer erzeugt.
Macht man also eine flache Platte mit passenden Schraublöchern, und in der Mitte ein Knubbel/ Kugelabschnitt und fertig ist die Laube.
Im Slicer dann keinen Boden, aber genügend/ die passende Anzahl Wände für Rand und Schraublöcher. So hoch wie der Knubbel in der Mitte dicker als das Gitter ist, macht man dann top-layer und dann kann man sich ja überlegen, welches infill- Pattern das schönste ist, und wie dicht es sein soll.
Das Gitter selbst würde ich aus Stabilitätsgründen und weils blöd zu drucken ist flach lassen. Da hat man doch übelste Überhangwinkel. Hab das selbst schon genau so gemacht, hatte nur keinen mittigen Knubbel, sondern nen dickeren Ring am Rand.
Das Gitter wird vom Slicer erzeugt.
Macht man also eine flache Platte mit passenden Schraublöchern, und in der Mitte ein Knubbel/ Kugelabschnitt und fertig ist die Laube.
Im Slicer dann keinen Boden, aber genügend/ die passende Anzahl Wände für Rand und Schraublöcher. So hoch wie der Knubbel in der Mitte dicker als das Gitter ist, macht man dann top-layer und dann kann man sich ja überlegen, welches infill- Pattern das schönste ist, und wie dicht es sein soll.
Das Gitter selbst würde ich aus Stabilitätsgründen und weils blöd zu drucken ist flach lassen. Da hat man doch übelste Überhangwinkel. Hab das selbst schon genau so gemacht, hatte nur keinen mittigen Knubbel, sondern nen dickeren Ring am Rand.