Forum: PC Hard- und Software OpenSCAD .csg und FreeCad Import - Fehler


von Veit D. (devil-elec)


Lesenswert?

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
}

von Harald K. (kirnbichler)


Lesenswert?

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.

von Veit D. (devil-elec)


Angehängte Dateien:

Lesenswert?

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.

von Harald K. (kirnbichler)


Lesenswert?

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.

von Jens G. (jensig)


Lesenswert?

Immer lustig, wie die Leute hier munter anfangen mit Herumraten, ohne zu 
wissen, worin das Problem oder der Fehler überhaupt besteht.

von Harald K. (kirnbichler)


Lesenswert?

Jens G. schrieb:
> Immer lustig

Und was ist Dein Vorschlag?

Ich habe versucht, das Problem einzugrenzen. Du nicht.

von Veit D. (devil-elec)


Lesenswert?

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.

von Veit D. (devil-elec)


Angehängte Dateien:

Lesenswert?

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.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.