Hallo,
ich entwerfe z.Z. ein 3D Modell für KiCad. Das mache ich mit OpenSCAD.
Ohne Schrift funktioniert .csg Export, .csg Import in FreeCad, FreeCad
.step Export ohne Probleme.
Jetzt wollte ich noch einen Schriftzug eingravieren und damit gibt es
mit FreeCad ein Problem.
Kann mir jemand helfen?
OpenSCAD Script auf den Fehler reduziert. 1 | // nach FreeCad als .csg expotieren
| 2 | // Farbpalette https://www.visibone.com/color/chart_847.gif
| 3 | // $fn=200; // Fragmente >= 200
| 4 |
| 5 | module GravurSchrift () {
| 6 | translate([0,0,3.4])
| 7 | linear_extrude(1)
| 8 | text("www.mikrocontroller.net", size=0.75, halign="center");
| 9 | }
| 10 |
| 11 | module Grundkoerper () {
| 12 | color( "#229999" ) {
| 13 | translate([0, 0, 0]) cylinder(h=3.5, d=15);
| 14 | }
| 15 | }
| 16 |
| 17 | // Grundkörper und Gravur
| 18 | difference() {
| 19 | Grundkoerper();
| 20 | color( "#00CCCC" ) GravurSchrift();
| 21 | }
|
Hast Du Dir mal die erzeugten *.csg-Dateien angesehen?
Die sehen irgendwie ziemlich ähnlich aus wie der OpenScad-Quelltext.
1 | difference() {
| 2 | group() {
| 3 | color([0.133333, 0.6, 0.6, 1]) {
| 4 | multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) {
| 5 | cylinder($fn = 0, $fa = 12, $fs = 2, h = 3.5, r1 = 7.5, r2 = 7.5, center = false);
| 6 | }
| 7 | }
| 8 | }
| 9 | color([0, 0.8, 0.8, 1]) {
| 10 | group() {
| 11 | multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 3.4], [0, 0, 0, 1]]) {
| 12 | linear_extrude(height = 1, $fn = 0, $fa = 12, $fs = 2) {
| 13 | text(text = "www.mikrocontroller.net", size = 0.75, spacing = 1, font = "", direction = "ltr", language = "en", script = "Latn", halign = "center", valign = "default", $fn = 0, $fa = 12, $fs = 2);
| 14 | }
| 15 | }
| 16 | }
| 17 | }
| 18 | }
|
Vielleicht versteht ja der KiCad-Importeur die linear_extrude- oder die
text-Anweisung nicht.
Hallo,
wenn ich mein Eingangsposting lese habe ich mich ungünstig ausgedrückt.
Sorry. Das Problem hat nichts mit KiCad zu tun. KiCad ist nur das
Endziel, wenn ich aus FreeCad heraus eine .step erzeugt haben sollte.
FreeCad hat ein Problem wenn Schrift enthalten ist die .csg korrekt
einzulesen.
Vielleicht habe ich ja auch etwas zu oberflächlich gelesen.
Tausche in meiner Antwort daher "KiCad" durch "FreeCad" aus:
Vielleicht versteht ja der FreeCad-Importeur die linear_extrude- oder
die
text-Anweisung nicht.
Du könntest also versuchen, OpenScad was anderes als Text extrudieren zu
lassen:
1 | module GravurSchrift () {
| 2 | translate([0,0,3.4])
| 3 | linear_extrude(1)
| 4 | // text("www.mikrocontroller.net", size=0.75, halign="center");
| 5 | square(3);
| 6 | }
|
Da kommt dann das hier raus:
1 | difference() {
| 2 | group() {
| 3 | color([0.133333, 0.6, 0.6, 1]) {
| 4 | multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) {
| 5 | cylinder($fn = 0, $fa = 12, $fs = 2, h = 3.5, r1 = 7.5, r2 = 7.5, center = false);
| 6 | }
| 7 | }
| 8 | }
| 9 | color([0, 0.8, 0.8, 1]) {
| 10 | group() {
| 11 | multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 3.4], [0, 0, 0, 1]]) {
| 12 | linear_extrude(height = 1, $fn = 0, $fa = 12, $fs = 2) {
| 13 | square(size = [3, 3], center = false);
| 14 | }
| 15 | }
| 16 | }
| 17 | }
| 18 | }
|
Wenn FreeCad das verdaut, liegt das Problem nicht bei "linear_extrude",
sondern bei "text".
Du müsstest den Text also in etwas anderes umwandeln, bevor Du ihn
extrudierst, damit wirklich die Vektoren in der *.csg-Datei landen, und
nicht einfach der Text durchgereicht wird.
Immer lustig, wie die Leute hier munter anfangen mit Herumraten, ohne zu
wissen, worin das Problem oder der Fehler überhaupt besteht.
Jens G. schrieb:
> Immer lustig
Und was ist Dein Vorschlag?
Ich habe versucht, das Problem einzugrenzen. Du nicht.
Hallo,
habe das mit dem Quader probiert. Guter Tipp. Da meckert erstmal FreeCad
nicht rum. In OpenSCAD ist der Quader noch versenkt sichtbar. In FreeCad
sehe ich nicht richtig ob das versenkt ist, es steht jedenfalls nichts
raus. Aber dann als .step in KiCad geladen steht der Quader plötzlich um
das Maß raus was eigentlich versenkt sein soll. Also irgendwie hat es
mit dem extruieren ein Luder. Ich habe aktuell keine Idee wie man den
Text anders erstellen könnte.
Jens G. schrieb:
> Immer lustig, wie die Leute hier munter anfangen mit Herumraten, ohne zu
> wissen, worin das Problem oder der Fehler überhaupt besteht.
Hallo,
beleuchte uns bitte mit deiner Erkenntnis?
Das mit dem Text gegen Quader tauschen war nicht verkehrt. Nennt sich
Ausschlussverfahren. Abgesehen davon gibt es noch mehr komische Effekte.
c ... original in OpenSCAD
b ... was KiCad sichtbar ist
Hier fehlen Lücken zwischen Leds, doppelte rote Makierung, Quader die
eigentlich nicht sichtbar sein sollen, Aussparungen der durchgehenden
Led Pins nicht tief genug.
a ... älterer Stand, da ist soweit noch alles in Ordnung
Dazu kommt noch ein Effekt, dass der Fehler von b manchmal nicht
auftritt. Leider nicht reproduzierbar. In FreeCad stimmt das noch was
ich sehe, in .step exportiert manchmal fehlerhaft, was ich dann in KiCad
sehe.
Wenn du eine wichtige Info hast, raus damit.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
|