G-Code Export direkt aus Sketchup

  • Moin!


    So, nun mal wieder etwas zurück an die Community...
    Wie ich schon bei der Vorstellung erwähnt habe, verwende ich gerne Sketchup.


    Als Software-Entwickler mag ich Programme, die gut zusammenspielen, ohne zig Umwege. Sketchup kann man selber erweitern: Man kann Scripte programmieren (in Ruby) und darin fast alles machen, was man sich wünscht.
    Daher habe ich jetzt mal wieder meine alten Skripte (von 2008...) angeschaut und zwei neue geschrieben:
    path2gcode und gcodeattribs. Zum Runterladen zu finden auf meiner Homepage.


    Ursprung war, Bohrungen in einem 3D-Modell zu definieren: Dabei ist ja primär mal die genaue Koordinate wichtig wo die Bohrung sitzt, und auch die Tiefe, also wie tief man bohren will
    Das konnte ich mit den Tools, die ich vorgefunden habe nicht forumulieren: Primär hatte ich Pycam benutzt um SVG und STL Dateien umzuwandeln.


    Ich hatte dabei folgende Idee: Wenn ich ein Linie im Raum platziere (in Sketchup), hat diese schon einige der Informationen. Grundsätzlich kann man jedem Ding "=Entity" in Sketchup aber auch noch beliebige eigene Attribute mitgeben. Diese bleiben im Modell gespeichert, gehören quasi dann dazu. Daher kann man diesen Linien auch noch ein Tool setzen, eine Geschwindigkeit usw.


    Der zweite Schritt war dann: Warum nach einer Geraden aufhören? Man kann ja ganze Sequenzen von Linien ablaufen, und daraus eine längere G-Code Datei machen. Das bedeutet nun also, man kann im Prinzip mit Sketchup Fräsbahnen im Raum zeichnen, und mein Skript speichert diese als G-Code Datei ab.
    Jetzt bin ich kein Crack in G-Code (auch keiner in Ruby), aber es funktioniert grundsätzlich.


    Mein Plan ist, dass ich (und hoffentlich andere) Skripte schreiben, die eben solche Bahnen erzeugen. Das wäre dann CAM in Sketchup.


    Eine erste Verbesserung habe ich vor einigen Stunden schon eingebaut:
    Die Linienpfade können sich natürlich überschneiden. Sketchup fügt dann einen neuen Punkt ein. Also sieht mein Skript an einem Punkt zum Beispiel vier Geraden. Welcher Weg ist nun richtig? Die Attribute waren für mich hier auch wieder die Lösung: Man "schreibt" es an die Linien ran.
    Dafür gibt es ein "Entry" und ein "Exit" Attribut. Eine Linie wird über "Exit" verlassen, und wenn es ein "Entry" mit dem gleichen Wert gibt. geht es dort weiter.
    Das ist jetzt vielleicht nicht so toll beim Erzeugen (zeichnen), aber primär war mir zuerst der Export wichtig. Dieser ist "dumm" und soll das auch bleiben: Er macht nur, was man ihm sagt.
    Daher stellt er auch keine Fragen (ausser dem Dateinamen), denn diese Informationen wären dann ja nicht im Modell gespeichert.
    Das ist der größte Unterschied zu den andere G-Code Skripten die ich gefunden habe :-)


    Langer Rede kurzer Sinn:
    Man kann mit Sketchup echte 3D Bahnen im Raum erzeugen, mit meinem Script exportieren und dann die Maschine abfahren lassen.


    Wenn hier ansatzweise Interesse besteht diskutiere ich gerne weitere Verbesserungen oder Anpassungen.


    Ciao,


    Uli

  • Hallo Uli


    Interessante Sache. Hier sind doch einige die mit Sketchup am Gange sind.
    Lass dich da mal nicht abhalten. Vielleicht kannst du ja mal irgendwann ein Bildschirmvideo zeigen, in dem man den ganzen Ablauf mal sieht.
    Also mal kurz gesagt:
    * Import oder Laden einer z.B. STL Datei
    * Selektieren der Bahnen
    * Fräsjob bestimmen
    * Fräsbahnen generieren
    * Ausgabe des G-Code

  • Hallo Uli!


    Ich verwende Sketchup, hasse und liebe es zugleich und arbeite auch gelegentlich mit Plugins (Z.B. involute gear generator, roundcorner, dxf von Guitarlist, etc,), die Du ja sicher alles kennst. Aber eventuell kennst Du die CAMs dafür noch nicht? Es gibt Einige, zB:


    http://www.becausewecan.org/Sk…penSource_Free_CAM_plugin
    http://sketchucam.jimdo.com/gallery/videos/


    Ich habe diese allerdings nie probiert, kann also über deren Qualität nichts sagen.


    Lg, Heini

  • Moin!


    Natürlich kenne ich nicht alle Plugins.
    Aber diese CAM Plugins kenne ich:
    Also jetzt auch nicht besser als aus dem Video, denn installiert habe ich sie nicht.


    Das Prinzip ist aber ein wenig anders als ich mir das denke.
    "Mein" G-Code Export ist strunz-doof: Exportiere die Koordinaten (und Attribute, um so den Fräsablauf zu steuern), sonst nichts.
    Keine Fragen, keine Parameter...
    Diese sind nämlich vorher "beantwortet" worden, gestellt wurden sie von anderen Scripten oder wurden vom User manuell erzeugt.


    Ob das sinnvoll ist, kann ich ja noch nicht recht sagen: Ein erstes Teil ist jedenfalls schneller fertig geworden als mit Pycam: Das rechnete noch, als ich mein Script fertig hatte und die Bahn in Sketchup. Allerdings habe ich auch den Vorteil einem Tool gegenüber, das ich nicht auf Dreieckslisten schaue, sondern eigentlich bereits eine Vorstellung habe, was rauskommen soll.


    Tatsächlich geht die eigentliche Arbeit daher natürlich in die Erzeugung der Pfade rein, bzw. in die Scripts dafür.
    Das hat aber noch zwei Vorteile, die ich gerne erwähnen möchte:
    - Man kann natürlich auch andere Formate erzeugen
    - Wenn ein CAM Skript Fehler erzeugt (und das soll ja vorkommen), kann man diese korrigieren: Das Ergebnis bleibt ja im Modell.


    Ciao,
    Uli

  • Auch von mir vielen Dank für all die neuen Infos.


    CAM direkt in Sketchup ... das wird ja immer besser :)


    Viele Grüße
    Sebastian

    Viele Grüße
    Sebastian



    Wer andern eine Bratwurst brät der braucht ein Bratwurstbratgerät!