Pencetakan 3D: Mengelola Beberapa Profil Pencetakan

Saya tahu orang-orang yang memiliki printer 3D yang tidak lebih dari peralatan. Mereka membelinya, mereka mencetaknya, dan mereka tidak mengubah banyak hal. Itu tidak menggambarkan saya dan, saya kira, itu juga tidak menggambarkan Anda. Ini memang menyebabkan masalah, ketika datang ke alat pengiris. Anda harus terus mengubah profil dan memodifikasinya. Mungkin sulit untuk menjaga semuanya tetap lurus. Misalnya, jika Anda memiliki profil untuk nozel yang berbeda, Anda dapat membuat pilihan: simpan satu profil dan edit bagian yang berubah, atau simpan beberapa profil dan perubahan umum apa pun harus disebarkan ke profil lain.

Sebagian alasan saya ingin mengelola banyak profil berkaitan dengan objek misteri ini…

Saya sudah lama ingin membuat sistem yang memungkinkan saya memiliki profil dasar dan kemudian hanya menggunakan profil tertentu yang mengubah beberapa item di garis dasar. Ternyata, saya tidak perlu melakukannya. Prusa Slicer dan garpunya, SuperSlicer, sudah memiliki kemampuan. Keduanya, tentu saja, didasarkan pada Slic3r, tetapi bahasa skripnya berbeda dan apa yang saya lakukan memang memerlukan skrip kode-G. Masalahnya adalah, kemampuan ini tidak didokumentasikan dengan baik dan GUI tidak benar-benar mendukungnya secara langsung, yang memerlukan sedikit pengesampingan. Saya akan menunjukkan kepada Anda bagaimana saya mengatur sesuatu dan di mana batasannya. Jika Anda ingin mencobanya, saya sangat menyarankan Anda membuat cadangan direktori konfigurasi Anda atau beralih ke yang baru.

Omong-omong, kedua program mengambil argumen baris perintah –datadir yang memungkinkan Anda meletakkan file konfigurasi di tempat yang Anda inginkan. Jika Anda seperti saya dan menggunakan pemotong dari komputer yang berbeda, ini adalah cara yang bagus untuk meletakkan file di drive bersama atau menggunakan sesuatu seperti Syncthing untuk menyinkronkan beberapa salinan di seluruh jaringan.

Bundel Itu

Preset atau profil biasanya disimpan dalam file .ini yang memiliki format yang sangat sederhana. Nama setiap preset ada dalam tanda kurung siku, bersama dengan pengidentifikasi jenis preset itu. Misalnya, Anda mungkin memiliki:

[print:myprinter]layer_height = 0,3

Ini tidak bagus, karena satu preset hidup dalam satu file. Anda tentu saja dapat melacak banyak sekali file ini dan membuatnya dengan cepat. Itu adalah pikiran pertama saya. Namun, pemotong memungkinkan Anda mengekspor dan mengimpor bundel konfigurasi yang mengisi banyak profil sekaligus.

Sepintas, itu mungkin tidak tampak seperti masalah besar karena Anda bisa saja meng-zip banyak file ini ke dalam arsip. Tapi ada dua hal yang menguntungkan kita. Pertama, Anda dapat menyembunyikan entri tertentu dalam satu bundel. Kedua, Anda dapat memiliki satu entri mewarisi item dari preset lain dalam bundel yang sama.

Artinya adalah Anda dapat mengekspor konfigurasi Anda sebagai bundel dan kemudian mengatur ulang semuanya sehingga Anda memiliki semua pengaturan umum Anda di satu tempat dan kemudian mewarisi sebagian besar pengaturan tersebut dari item tertentu. Misalnya, Anda mungkin memiliki tipe filamen PLA dasar. Kemudian jenis PLA untuk “Merek X” yang menimpa hanya beberapa item. Terakhir, Anda akan memiliki “Merek Merah X PLA” khusus yang hanya perlu mengatur warna dan — jika Anda memiliki banyak ekstruder — mungkin faktor pigmen yang mengontrol berapa banyak filamen yang dibersihkan di antara warna.

Sebagai contoh:

[filament:PLA Brand X Red]mewarisi = *PLA_Brand_X*]filament_colour = #FF0000 filament_wipe_advanced_pigment = 0,7

Entri Tersembunyi

Perhatikan tanda bintang di sekitar pengenal PLA_Brand_X? Itu memberitahu pemotong untuk tidak menampilkan entri ini kepada pengguna. Faktanya, saat impor, pemotong hanya menggunakan ini untuk mengisi file ini untuk item tertentu. Ini memungkinkan Anda untuk tidak memiliki banyak entri yang tidak berarti hanya untuk menahan default Anda.

Namun, kelemahannya adalah setelah Anda mengimpor, tidak ada koneksi umum lagi antara preset dan “kelas dasar.” Jika Anda membuat perubahan, itu hanya mengubah preset saat ini. Namun, Anda dapat menyiasatinya dengan beberapa cara.

Jadi ketika saya menyebutkan mengekspor konfigurasi yang ada sebagai bundel, Anda akan membuat entri baru untuk hal-hal seperti “print:*default*” untuk menampung semua hal umum. Perhatikan bahwa Anda tidak menginginkan spasi setelah titik dua, tetapi jangan tanya mengapa saya tahu itu.

Script Umum

Hotend pada pelat pemasangan yang dapat diganti dengan cepat

Ada satu masalah lagi. Salah satu alasan saya tertarik dengan ini adalah karena saya memiliki sistem yang memungkinkan saya menukar hotend dengan cepat. Terkadang saya menggunakan hot end switching, dan terkadang saya menggunakan hotend yang lebih konvensional seperti Dragon. Masalahnya adalah bahwa ujung panas memiliki faktor ekstrusi, kalibrasi termistor, dan ukuran nosel yang berbeda. Beberapa di antaranya mudah ditangani dengan bundel konfigurasi. Apa yang kurang mudah, adalah memiliki satu skrip startup dan shutdown terpadu atau mengirim kode khusus untuk mengatur kalibrasi termistor, misalnya.

Sebuah hot end pencampuran, misalnya, membutuhkan startup yang jauh lebih kompleks daripada E3DV6 normal. Namun, keduanya membutuhkan penyesuaian tempat tidur dan pemanasan suhu. Saat ini saya memiliki enam rasa ekstruder dan saya tidak ingin membuat perubahan paralel dalam enam skrip yang berbeda.

Jawabannya adalah dengan menggunakan skrip. Sayangnya, bahasa skrip yang disediakan oleh pemotong cukup terbatas, jadi Anda tidak dapat mengatur variabel untuk digunakan nanti, misalnya. Tetapi Anda dapat membaca “placeholder” (variabel sistem) untuk mempelajari hal-hal seperti ketinggian lapisan pertama atau suhu yang diinginkan. Anda mungkin pernah melihat ini digunakan di gcode startup sebelumnya untuk mencegah Anda harus memiliki skrip start-up yang berbeda untuk bahan atau ukuran nozzle yang berbeda.

Namun, Anda juga dapat mempelajari nama preset printer dan mencari ekspresi regulernya. Saya telah memanfaatkannya dengan memberi nama setiap profil apa pun yang saya inginkan tetapi memiliki !1! atau !2! atau nomor lain muncul dalam nama. Dengan cara itu, saya dapat dengan mudah menulis kode yang mengubah parameter berdasarkan profil mana yang menggunakannya. Sebagai contoh:

{if printer_preset=~/.*~!3!.*/ } M305 P0 B4981 M301 E0 P22.7 I2.4 D53.8 {endif}

Sebuah hotend inti keramik dipasang

Jelas, ada bit kode yang serupa untuk setiap ID hotend. Nama-nama printer terlihat seperti: NF-!3! atau E3D-!0!. Anda mungkin lebih suka karakter dan skema yang berbeda. Anda dapat, tentu saja, hanya mencari nama persisnya jika Anda mau dan melewatkan pengkodean numerik. Namun, skema ini memungkinkan saya untuk memiliki beberapa profil untuk hotend yang sama dan masih mengambil parameter umum terlepas dari nama persisnya. Yaitu, NF-!3! dan NF-HF!3! keduanya mendapatkan kode awal dan akhir yang sama.

Satu masalah dengan skrip, juga, adalah semuanya berada dalam satu baris dengan \n dikodekan untuk menampilkan bungkus baris. Cara saya mengatasi ini adalah saya menyimpan file yang dikontrol versi dengan setiap skrip startup. Ketika saya perlu membuat perubahan, saya memasukkannya ke dalam preset apa pun yang kebetulan saya miliki dan menyimpannya baik sebagai nama sementara atau kadang-kadang saya hanya menyimpannya karena saya akan tetap menulisnya (yang akan Anda dengar , di bawah). Kemudian saya membuka file .ini yang sesuai dan menyalin baris untuk dimasukkan ke dalam bundel. Ada banyak cara lain yang bisa Anda lakukan.

Sebagai fitur tambahan, setiap skrip dimulai dengan nomor versi dan tanggal sehingga saya dapat dengan mudah melihat bahwa perubahan saya telah dibuat dan saya dapat dengan mudah kembali menggunakan git tanpa terlalu bingung.

Pemutusan GUI

Masalah terakhir adalah GUI. Seperti yang saya sebutkan sebelumnya, mengimpor bundel menghancurkan hubungan antara preset. Saya telah menemukan beberapa aturan sederhana yang membantu mengelola kegilaan. Saya mengelola versi bundel dan file terkait dengan git, tetapi itu bukan obat mujarab karena file individual berubah.

  • Jangan pernah mengubah profil yang diimpor dan menyimpannya. Anda bisa, tentu saja, tetapi itu akan membingungkan Anda.
  • Jika Anda mengubah profil yang diimpor, simpan dengan nama baru yang serupa (saya menambahkan -exp untuk eksperimental ke nama).
  • Saat Anda memutuskan ingin membuat perubahan pada salah satu preset standar atau menambahkannya secara permanen, gunakan pemotong untuk menunjukkan kepada Anda perbedaan antara preset dan yang menurut Anda akan menjadi kelas dasar yang baik.
  • Edit bundel untuk mencerminkan perubahan yang ingin Anda pertahankan. Beberapa perubahan tidak layak disimpan dan ingatlah untuk menyetel kunci “mewarisi” ke kelas dasar.
  • Impor ulang bundel. Hapus semua prasetel tambahan yang Anda buat di langkah 2.
  • Jika Anda membuat kesalahan, impor akan memperingatkan Anda. Satu masalah umum adalah bahwa GUI suka menggunakan huruf besar seperti nama-nama pola pengisi. Namun, dalam file, semuanya huruf kecil.

    Setelah Anda melakukan impor, Anda harus baik-baik saja. Satu hal yang harus diperhatikan adalah bahwa [physical_printer] tag memiliki semua preset yang ingin Anda atur, jadi Anda tidak perlu mengedit printer fisik untuk mengaitkannya kembali dengan profil baru.

    Jika Anda benar-benar ingin melakukan penggantian alat, lihat [Joshua’s] Yobel. Jika Anda tidak menggunakan alat pengiris yang kompatibel, Anda dapat mempelajari lebih lanjut tentang PrusaSlicer dan Super Slicer.