2014年7月10日木曜日

.gcode(Slic3r) を .3w(DaVinci1.0) に変換するソフト

2014-12-14追記
Da Vinci 2.0では動作せず、その後に正常動作しなくなる恐れがあります。

2015-01-25追記
本体ファームをRepetier-Firmware-0.92に変更したので、今後は動作テストはできません。
XYZware2.1.5.5・ファーム1.3.1より後で動作するかはわかりません。

2017-04-07追記
XYZware2.1..20.4以降では読み込めないという報告がありました。
2.1.19.2までは使えるそうなので、これを使う場合はこのバージョンまでにしておかなければなりません。
色々試してみましたが、新バージョンで読み込める形式を作る事はできませんでした。
申し訳ないです。

いろいろ実験していると、Slic3rで作成した.gcodeファイルをnotepad++で編集・エンコードの手順が面倒になってきました。(´・ω・`)
探せば、ソフト作ってる人もいるんだろうけど、探しきれなかったので自作・・・



vb.net 2013 expressで作成。.net4で出力しているので、XPでも動くかな?
動作は、Win7(x64)で確認しています。

まぁ、ファイルを指定してボタンを押すと.gcodeファイルを.3wに変換して出力するだけのソフトです。
無条件上書きなので注意してください。(´・ω・`)

Add filament lengthにチェックをつけておくと、Slic3rが計算したフィラメント使用長をダヴィンチ用のヘッダファイルに書き込みます。
チェックを入れてなかったら、0.00を出力します。

XYZware start after conversionにチェックを入れておくと、変換完了後にXYZwareを起動して、変換アプリを終了します。
XYZwareのインストール位置を、HKEY_CURRENT_USER\Software\XYZwareからとっているので、これが確認できないと、起動に失敗してしまいます。

Auto runにチェックを入れておくと、OPENボタンからのファイル選択・ファイルドロップ・引数でのファイル指定の場合に、自動で変換を開始します。
全てにチェックを付けて、.gcodeをこのソフトに関連付けておけば、エクスプローラから.gcodeをダブルクリックするだけでXYZwareで読み込まれます。

あと、Slic3rの設定ですが・・・・


Start G-codeに・・・
; layer_height = [layer_height]
だけいれておけばOKだと思います。(たぶん無くても動きますが・・・・)

ファイルの中身の確認とかまともに処理していませんし、たぶんバグもあるでしょう・・・・
全て自己責任でお願いします。
何か問題がありましたら、コメントでも入れてください。(´・ω・`)

16 件のコメント:

  1. こんばんわ^^

    こんなソフトがあったんですね。
    この記事も他のダヴィンチ関連の記事もとても参考になります^^

    自分もあと少しで2.0が出るこのタイミングでダヴィンチ1.0を購入しましたw

    元、2D・3D関係のデザイナーだったのでデータには困りませんが、実用品とかは少ししか作っておりません;

    、、、改造無しでフィラメントの残量リセット法を見つけたりと裏技発見に取り憑かれてますww


    ちょくちょく遊びに来たいと思います。
    今後共よろしくお願いいたします!

    返信削除
    返信
    1. 匿名ですみません
      フィラメントの残量リセットってどうやったらできますか?もしよろしかったら教えていただけませんか?

      削除
  2. 何度もすみません><

    このようなソフトが存在しているものと勘違いしてしまいました;
    すみません;

    なんと、変換ソフトを自作したのですね!
    とてもうれしいですねこれは。
    ありがたく使わせていただきます!

    コメント連投すみませんでした。

    返信削除
  3. >ShiriTataki 様

    コメントありがとうございます。
    ダヴィンチは、剛性とZの精度にちょっと問題がある感じがしますが、この低価格で割と安定してプリントできるいい機械だと思います。
    3Dデータを作ることができる方なら、かなり活用できるでしょうね。
    私は、3DCADは初めてなので、ちょっとずつ勉強している段階です。
    改造無しでフィラメントの残量リセット方法があるのは初めて知りました。あとで探してみます。(^^;

    変換ソフトは、3時間程度でテキトウに作ってうちの環境で使えた程度の物ですが、活用していただけれあ幸いです。
    バグがあったら教えてください。(^^;

    返信削除
  4. はじめまして、なぐぅ~様
    いつも参考にさせていただいております。
    ダヴィンチ1.0のプリンタ改造のページを制作しました。
    お金をかけずにどこまでやれるかというテーマでそこそこの印刷品質になりました。
    ダヴィンチユーザーの皆様に、参考にしていただければと思い紹介させていただきます。
    http://davincicustom.web.fc2.com/index.html

    返信削除
  5. はじめまして。
    普段、部品程度しか出力していないので見た目は気にしていまえんでしたが、改造すると結構良くなるんですね。
    色々参考にさせていただきます。
    ちなみに、私はテーブルのガラス板が動かないように、左と手前をカプトンテープで止めているだけです。

    返信削除
  6. Gcode-3Wを有難く使わせて戴いて居ります。
    1つ質問がありますので、ご回答頂ければ幸いです。
    2014年7月8日火曜日の記事「da Vinci 1.0 & Slic3r」で7行追加の件がありますが
    Slic3rの設定でHeaderにその7行を書き込んでから
    Gcode-3Wを使用して変換した方がベターなのでしょうか?
    うっかり、XYZのファームを更新したので、ナーヴァスなっております。
    宜しく、お願い致します。

    返信削除
  7. GCode-3Wは、必要なヘッダをプログラムで追加しますので、Slic3rに7行の設定をする必要はありません。
    ただ、
    ; layer_height = [layer_height]
    をslic3rに設定すると、必要なフィラメント長を、3Wのヘッダに追加できます。(ソフトの設定で無視もできます)
    ※指定しなくてもプリントする事ができます。

    何かわからない事があったら、またコメントください。

    返信削除
  8. 変換ソフト素晴らしいですね.
    使わせて頂きました.

    お伺いしたいのですが,3w形式の書式は
    xyzprintingが公開しているのでしょうか.
    どうやって変換プログラムを作成されたのか非常に興味があります.
    宜しければ教えていただけないでしょうか.

    よろしくお願い致します.

    返信削除
    返信
    1. 3w形式の詳細は公表されていませんが、過去に色々な方が試された事がネット上に書かれています。
      slic3rが出す.gcodeをBASE64でエンコードしてやればXYZwareで読み込めるとの事ですので、それを簡単にできるようにしたソフトを作成しました。
      ただ、実際には.3wの本当の中身は独自のバイナリファイルみたいで、今の所は謎です。
      BASE64エンコードのファイルは、読み込めますが本来の.3wとは構造が完全に違うようにみえますね。
      このファイルが読み込めるのは、メーカ側が作った裏技的なものな気がします。

      削除
    2. 素早いご回答,感謝します!

      実はda vinci 1.0proの購入を迷っている際に,
      本ページを発見しました.
      今後も拝見させて頂きます.
      ありがとうございました

      削除
  9. 愛用させていただいています。
    Xyz-wareが2.1.19.2までは読み込めたのですが、最新版では動作しませんでした。なのでXYZwareをバージョンアップしないで使ってます。情報でした。

    返信削除
    返信
    1. コメントありがとうございます。
      確かに最新版では読めなくなっているようです。
      ブログにバージョンの情報を追記させていただきました。
      どこまで動いてたかを書いていただきありがとうございました。

      削除
  10. 以前より、コンバーター有難く使わさせて頂いてます。
    XYZwareをバージョンアップで動作しないとのこと、当方は中古PCをスタンドアロン状態で使っていたので気付かなかった。
    ただ、スライスは最新のXYZwareバージョンでそれをUSBでスタンドアロンに持って行き旧バージョンwareでdaviniに送るというまどろっこしいことをしています。
    そこで気づいたのですが
    ヘッダー部分が以下の様に大幅に変わっています。
    ; filename = Task.3w
    ; print_time = 9079
    ; machine = daVinciF10
    ; total_layers = 315
    ; version = 16082617
    ; total_filament = 14308.7
    ; nozzle_diameter = 0.40
    ; layer_height = 0.30
    ; support_material = 1
    ; support_material_extruder = 1
    ; extruder_filament = 14308.7
    ; extruder = 1
    ; filamentid = 41,41,
    ; materialid = 0,
    ; fill_density = 0.10
    ; raft_layers = 0
    ; support_density = 0.17
    ; shells = 2
    ; speed = 45
    ; brim_width = 10
    ; dimension = 91.88:68.96:94.55
    ; Call_From_APP = 15062609
    ; speed_limit_open = 1
    ; Total computing time = 0 sec.
    ; threads = 1
    参考にならないかもしれませんが
    これらの項目をチェックしてみるのも一興かと・・・
    因みに
    当方はサポートを必要としない造形は適当なスライサーで吐き出された
    g-codeをメモ帳経由でdaVinciのSDカード内に元々あるSAMPLE01.gcodeなどに
    コピペして、念のために日時も元通りに設定しなおしてから
    SDをdavini本体に戻し、メニューのユーティリティ、対応するデモ名で
    造形してます。
    無意味な投稿かも知れませんが、何かの手掛かりになればと思います。

    返信削除
    返信
    1. コメントありがとうございます。
      書き込んで頂いたヘッダ部分をプログラムに書き足したところ、XYZwareで読み込む事ができるようになりました。
      ただ、実際にプリントできるかは、RepRapファームに書き換えたDaVinciでは確認せきません。
      できましたら、一度使ってもらって結果を教えてもらえれば幸いです。
      https://sites.google.com/site/nagufile/-gcode-to-3w/Gcode-3W.zip?attredirects=0&d=1

      削除
  11. XYZware ver.2.1.20.4で印刷出来ました。
    詳細は
    https://silicone-peach.amebaownd.com/

    返信削除