CAD

tutorial openSCAD

tutorial openSCAD
Membuat bagian mekanis membutuhkan gambar. Itu dimulai dengan kertas, dan program CAD pertama menggunakan gaya yang persis sama. Bahkan ada kotak standar pada gambar sehingga setiap gambar diidentifikasi. Semua ini berguna ketika Anda mulai berproduksi di perusahaan besar. Namun, ketika Anda mulai membuat bagian mekanis baru, Anda mungkin menginginkan metode lain.

Metode CAD 3D memungkinkan Anda melihat keseluruhan bagian apa adanya. Anda juga dapat memutar dan memutarnya. Dalam perangkat lunak canggih, Anda juga dapat mensimulasikan gerakan. Dalam semua kasus, Anda menggambar potongan menggunakan antarmuka grafis. Ini bagus untuk membuat kotak dan silinder, tetapi jika Anda ingin membuat bentuk yang lebih rumit, Anda mungkin memerlukan metode matematika.

Masukkan cara standar untuk mendeskripsikan materi apa pun dengan perintah.

Apa yang membuat openSCAD begitu istimewa?

Di openSCAD, Anda tidak menggambar apa pun dengan pointer atau pena Anda. Anda mengkodekan seluruh bagian dengan perintah dan fungsi. Ini canggung untuk insinyur mesin, tetapi untuk programmer, Anda memiliki situasi lain. Terlepas dari preferensi pribadi, Anda juga memiliki keunggulan presisi. Saat Anda mendesainnya dengan kode, Anda memiliki presisi di dalam kode.

Fitur paling kuat dari openSCAD adalah operasi biner. Anda dapat menggunakan operator biner untuk menyatukan atau memotong material. Sangat mudah untuk membuat kubus dengan lubang di tengah dengan menarik kembali silinder dari kubus. Beberapa dari operasi ini tersedia di perangkat lunak CAD lain, tetapi secara alami menggunakannya di openSCAD.

Apa kebutuhan proyek Anda??

Setelah Anda meletakkan desain Anda di atas serbet, Anda mungkin berpikir bahwa Anda perlu melihat apa yang terjadi ketika Anda mencoba membuatnya menjadi desain penuh. Jangan khawatir; ada jendela pratinjau untuk Anda lihat saat Anda membuat kode. Setelah Anda memahami ide-ide dasar, Anda akan tahu apakah itu yang paling cocok untuk proyek Anda.

Singkatnya, jika Anda ingin membuat potongan kecil yang memiliki bentuk kompleks, Anda harus mencoba openSCAD. Untuk peralatan lengkap dan sistem mekanis, Anda ingin menggunakan aplikasi grafis yang lebih canggih. Karena itu, itu semua masalah selera. Anda dapat membuat bentuk yang rumit hanya dengan kode, maukah Anda mempertimbangkan untuk mengkodekan seluruh mobil??

Menginstal

OpenSCAD, tersedia di repositori standar Anda untuk sebagian besar distribusi, juga dapat diinstal menggunakan snap dan AppImage. Yang menarik adalah Anda juga memiliki paket kedua yang mencakup sekrup, roda gigi, dan bentuk umum. Paket terbaru ada di openscad-nightly snap.

sudo apt install openscad
sudo snap install openscad-nightly

Jika Anda ingin menggunakan sekrup yang disertakan sebagai paket terpisah, gunakan repositori distribusi Anda.

sudo apt install openscad-mcad

Menggunakan bagian yang disertakan adalah masalah lain, dibahas lebih jauh ke bawah.

Beberapa bentuk standar

Prinsip-prinsip skrip CAD adalah Anda memiliki beberapa bentuk geometris standar. Anda menggunakan bentuk-bentuk ini dan menggabungkannya menjadi bentuk yang lebih kompleks. Bentuk standarnya adalah lingkaran, persegi, dan poligon untuk 2D. Untuk 3D, Anda memiliki bola, kubus, silinder, dan polihedron. Dengan menggunakan beberapa di antaranya untuk membangun dan yang lain untuk memotong, Anda dapat membuat bentuk yang sangat kompleks.

Ada juga fungsi teks yang membuat teks 2D. Saat Anda perlu membuat gambar untuk diproses lebih lanjut, Anda dapat menggunakan perintah proyeksi. Perintah ini memotong bentuk 3D di sepanjang bidang sehingga Anda dapat mentransfernya ke gambar. Anda juga dapat menambahkan bentuk dari program lain atau bahkan gambar, menggunakan perintah impor. Ini juga berfungsi dengan bentuk 3D.

Selain itu, Anda dapat mengekstrusi bentuk dari objek yang ada.

Transformasi

Secara default, Anda membuat semua bagian di titik tengah kisi di semua dimensi. Ini membuat mereka semua tumpang tindih. Setelah Anda memiliki sejumlah bentuk, Anda ingin menempatkannya di tempat yang tepat dan diputar. Fungsi-fungsi ini adalah yang sederhana, menerjemahkan menempatkan objek di tempat lain. Perintah putar memutar objek atau objek anak. Anda juga memiliki fungsi cermin, yang membuat salinan objek yang dicerminkan di sekitar poros yang diberikan.

Transformasi lain membutuhkan contoh untuk dijelaskan. Singkatnya, lambung menciptakan garis luar dari berbagai bentuk. Coba dengan dua lingkaran dan gabungkan dengan hull(). Atau kode di bawah ini.

terjemahkan([-10,0,0])
lambung kapal()
silinder (30, 5, 1);
kubus (9);
bola (12);

Operasi Minkowski biasanya digunakan untuk membuat tepi; kalau mau dibulatkan pakai bola.

Operasi Boolean

Banyak potongan tidak dapat dibuat hanya dengan kotak, silinder, dan bola. Hal pertama yang dapat Anda lakukan adalah menggabungkan dan memotong banyak bentuk menjadi satu bentuk. Anda menggunakan operator boolean untuk melakukan ini. Mereka adalah persatuan, perbedaan, dan persimpangan.

Persatuan()
kubus([35, 5, 2], pusat = benar);
silinder(h = 2, r = 5, pusat = benar );

Dalam kode di atas Anda mendapatkan satu bagian yang memiliki bohlam di tengahnya. Untuk membuat tabung, Anda mengambil perbedaan antara satu silinder dan yang lain.

perbedaan()
silinder(h = 15, r1 = 30, r2 = 30, pusat= benar );
silinder(h = 15, r1 = 25, r2 = 25, pusat = benar) ;

Saat kami melanjutkan, Anda akan menggunakan ini dan banyak lagi. Berikut adalah contoh persimpangan intersection.

persimpangan()

putar ([45,0.0])
silinder( h = 40, r = 4, pusat = benar);
terjemahkan(5,5,5)
silinder( h = 40, r = 6, pusat = benar);

Persimpangan hanya menyisakan hal-hal yang tumpang tindih; Anda dapat membuat banyak bentuk menggunakan metode ini.

Untuk Loop

Banyak desain Anda akan memiliki bagian yang sama berkali-kali, pertimbangkan teras. Mereka biasanya terbuat dari beberapa papan dengan celah di antara mereka. Dalam hal ini, Anda membuat satu papan dan hanya mengulanginya dengan loop for.

celah = 8;
plank_width = (bed_width / 4) - celah;
jumlah_papan = 4;
untuk(plank_x_pos = [0:1:num_planks - 1])

translate([plank_width*plank_x_pos + gap * plank_x_pos,0,0])
kubus([lebar_papan,4.200]);

Tanpa for loop, Anda akan menulis kubus dan menerjemahkan pernyataan empat kali. Anda juga harus menghitung seberapa jauh papan berikutnya akan pergi. Bahkan dengan hanya empat potong, solusi ini terlihat jauh lebih mudah. Dalam contoh, Anda juga dapat melihat variabel yang perlu disetel. Semua variabel diatur pada waktu kompilasi, ini penting karena Anda mungkin mengalami masalah debug jika Anda menganggapnya sebagai nilai dalam bahasa pemrograman lain. Seperti yang akan Anda lihat nanti, Anda juga dapat menjadikan seluruh teras sebagai modul.

Matematika

Termasuk dalam openSCAD, Anda memiliki beberapa fungsi matematika yang tersedia. Fitur yang didukung adalah sebagian besar fungsi trigonometri, pembulatan dengan cara yang berbeda dan fungsi logaritmik. Anda dapat melihat contoh di bawah ini.

untuk(i=[0:36])
terjemahkan([i*10,0,0])
silinder(r=5,h=cos(i*10)*50+60);

Fungsi di atas membuat deretan silinder lurus panjang dengan ketinggian berbeda. Fungsi utama terhubung ke trigonometri. Namun, dengan fungsi pembulatan acak dan operator standar, Anda dapat membuat hampir semuanya. Ada juga dukungan untuk vektor, matriks, dan akar kuadrat. Bahkan dengan fungsi-fungsi ini, Anda bisa menjadi sangat jauh. Namun, mereka tidak mencakup semua yang dapat Anda bayangkan; sebagai gantinya, Anda dapat membuat fungsi.

Modul & Fungsi

Anda memiliki banyak modul yang disertakan dalam instalasi openSCAD. Namun, Anda juga dapat mengunduh perpustakaan lain. Dalam distribusi Anda, Anda mungkin menemukan MCAD, juga disebut openscad-mcad. Untuk menginstal di bawah Ubuntu.

$ sudo apt install openscad-mcad

Di dalam paket ini, Anda menemukan modul dan fungsi. Sebelum Anda memulai proyek apa pun, carilah pustaka dan modul. Sudah ada perpustakaan sekrup, dan itu baru permulaan. Kehilangan bagian dari desain Anda? Buat modul Anda sendiri; Anda menggunakannya untuk membuat potongan baru. Saat Anda menggunakan parameter, Anda dapat membuat banyak versi darinya. Cara terbaik untuk membuat modul adalah membuat desain sebagai file terpisah, mencari tahu apa yang perlu dinamis, dan menambahkan 'modul' di sekitar bagian.

Untuk menggunakan modul, Anda menyebutnya dengan namanya. Karena banyak modul datang dalam file terpisah, Anda harus meletakkan pernyataan include di bagian atas file Anda. Perhatikan perbedaan antara pernyataan “sertakan” dan pernyataan “gunakan”. Jika Anda ingin semua yang ada dalam file dieksekusi, Anda "menyertakan", jika Anda hanya ingin modul dan fungsi didefinisikan, "gunakan" file. Untuk memastikan Anda dapat menggunakan modul, Anda harus meletakkannya di direktori model Anda saat ini atau salah satu jalur pencarian.

Pertama, mari kita lihat beberapa yang dapat Anda unduh dan gunakan.

Sekrup

Dalam paket dari bagian sebelumnya, Anda dapat menemukan banyak hal. Satu kelompok adalah sekrup! Anda dapat mencobanya dengan memuatnya ke dalam aplikasi dan memanggil modul. Di Perpustakaan MCAD, Anda dapat menemukan banyak sekrup. Masih banyak koleksi lain dari sumber lain. Untuk menggunakan sekrup, buat file yang berisi pernyataan include untuk modul yang Anda butuhkan. Sekarang, di mana pun Anda ingin menggunakan modul, Anda dapat menggunakan nama modul untuk membuat sekrup Anda.

termasuk ;
ball_groove(12, 40, 2);

Ini adalah sekrup yang dapat memuat bola. Anda juga dapat menemukan nut_and_bolts_scad, yang mendefinisikan sekrup dan baut metrik. Perancang menggunakan situs web tempat Anda dapat menemukan baut dan membuat metode untuk Anda gunakan. Contoh lain adalah lubang untuk baut.

termasuk
perbedaan()
kubus([12,16,20],pusat = benar);
terjemahkan([0,0,-3])
lubang baut(8, panjang = 300);

Kode di atas membuat lubang yang cukup besar untuk baut M8, contoh ini membuat kubus dan memotong dua silinder dua ukuran. Itu tidak terlalu rumit, tetapi kerumitannya dengan cepat bertambah ketika Anda menggunakan komponen lain. Tambahkan sekrup ke kotak parametrik, dan Anda dapat melihat bagaimana perpustakaan membantu.

Membuat gerobak

Untuk membuat konstruksi apa pun dengan kerumitan apa pun, Anda harus membuat satu per satu. Kemudian, Anda menggabungkannya satu sama lain. Seperti yang telah kami sebutkan sebelumnya, Anda dapat menggunakan modul dan fungsi. Cara terbaik untuk memulai adalah memutuskan di mana Anda perlu mengatur variabel. Untuk gerobak sederhana, Anda membutuhkan tinggi, jarak sumbu roda, dan panjang. Anda perlu mengatur nilai di satu tempat dan menggunakannya untuk membuat bagian-bagiannya pas di sekitar desain. Anda mungkin membutuhkan lebih banyak nilai, tetapi jangan letakkan semuanya saat Anda memulai. Saat Anda memulai proyek baru, Anda tidak akan menyiapkan semua bagian, jadi bersiaplah untuk mengubah keadaan.

jarak sumbu roda = 150;
panjang gerobak = jarak sumbu roda * 1.2;
lebar keranjang = 50;
diameter roda = 25;
tinggi suspensi = (diameter roda/2) + 5;
terjemahkan ([jarak roda/2, lebar kereta, 0])
putar([90,0,0])
silinder(r = radius roda, 10, pusat = benar);
translate([wheelbase/2,-(lebar gerobak),0])
putar([90,0,0])
silinder(r = radius roda, 10, pusat = benar);

Kode menunjukkan kode untuk dua roda pertama. Jika Anda memikirkannya sedikit, Anda mungkin bisa membuat roda belakang. Untuk menambahkan serpihan, permukaan tempat semua barang berada, Anda cukup menambahkan kubus. Gunakan variabel yang Anda masukkan ke dalam kode.

terjemahkan([0, 0, tinggi suspensi])
kubus([panjang kereta, lebar kereta,10], pusat = true);

Peluru ini memiliki ketinggian yang sama dengan roda, jadi kami menanganinya dengan nilai ketinggian suspensi. Pernyataan yang diterjemahkan memengaruhi apa yang langsung setelahnya. Perhatikan bahwa tidak ada titik koma di akhir baris. Ketika pernyataan di dalam menjadi panjang, Anda menggunakan kurung kurawal di sekitarnya.

Sekarang, Anda perlu menambahkan as dan suspensi. As dapat berupa silinder sederhana yang berada di antara roda. Anda menempatkannya dengan cara yang sama seperti Anda melakukan roda menggunakan memutar dan menerjemahkan. Faktanya, yang terbaik adalah menggunakan nilai yang sama.

terjemahkan([jarak roda/2,0,0])
putar([90,0,0])
silinder(r = radius roda * 0.25 , h = (lebar keranjang * 2) + 15, pusat = benar);

Kode di sini menempatkan as roda depan pada tempatnya. Gandar belakang, saya meninggalkan Anda pembaca untuk mencari tahu. Kami dapat menyelesaikan penangguhan dengan banyak cara. Dalam hal ini, kami akan membuatnya tetap sederhana.

// Penangguhan
translate([wheelbase/2, 0, suspensionheight ])
putar([90,0,0])

perbedaan()
silinder(r = tinggi suspensi, 10, pusat = benar );
silinder(r = tinggi suspensi - 5, 11, pusat = benar );
cube([102, suspensionheight/6, 12], center = true);

terjemahkan([tinggi suspensi, 0, 0])
silinder(r = tinggi suspensi/3, h = 12, pusat = benar);
terjemahkan([-suspensionheight, 0, 0])
silinder(r = tinggi suspensi/3, h = 12, pusat = benar);

Kode ini menciptakan suspensi yang sangat kasar; itu hanya menggunakan silinder, jadi tidak akan menjadi yang terbaik saat Anda mulai menggunakannya. Itu menggambarkan satu cara membuat desain dari primitif; silinder, kubus, dan yah, itu saja untuk model ini. Saat Anda maju, Anda akan membuat setiap bagian menjadi modul dan menempatkan bagian-bagian itu.

Kode untuk keranjang tersedia di https://github.com/matstage/Carriage! Perkembangan lebih lanjut mungkin datang kemudian.

Perpustakaan

Di bagian sebelumnya, Anda hanya menggunakan lingkaran. Desain apa pun yang hanya menggunakan primitif itu tidak akan menjadi yang terbaik untuk semua aplikasi. Anda perlu membuat desain yang bagus dan efisien efficient. Solusinya adalah matematika! Untuk menambahkan ini, Anda harus mulai dengan menggunakan perpustakaan orang lain.

Ada banyak perpustakaan yang dibangun oleh orang-orang pintar di komunitas. Orang-orang yang membangun adalah pengguna yang memecahkan masalah mereka dan kemudian dengan ramah membaginya dengan orang lain. Terima kasih semuanya! Contoh yang bagus adalah dotSCAD; untuk contoh suspensi, Anda dapat menemukan kurva Bézier.

Mengekspor ke perangkat lunak lain

Setelah Anda memiliki desain yang layak, Anda mungkin ingin menggunakannya di perangkat lunak lain. Anda dapat mengekspor ke stl, dwg, dan sejumlah format lainnya. Penggemar pencetakan 3D Anda dapat menggunakan file stl langsung di program pemotong Anda.

Alternatif

Alternatif menarik lainnya adalah ImplicitCAD. Perangkat lunak ini sangat banyak dalam pengembangan. Anda harus menjalankan baris perintahnya, dan itu membutuhkan Haskell di sistem Anda. Kebanyakan instalasi standar tidak memiliki Haskell!

Kesimpulan

Sekilas, menggunakan openSCAD sangat sulit. Melewati kurva pembelajaran adalah sedikit perjuangan, tetapi itu sangat berharga bagi banyak pengguna. Terima kasih kepada proyek untuk berkontribusi pada proyek. Anda memiliki banyak fitur yang tersedia di akhir perintah git. Dengan memahami dasar-dasar pembuatan desain mekanis melalui kode, cara Anda berpikir tentang bentuk akan berubah. Ini bermanfaat bahkan jika Anda akan terus menggunakan titik dan klik untuk membuat proyek Anda yang lain.

  • https://www.opencad.org/dokumentasi.html?versi=2019.05
  • http://edutechwiki.bersatu.ch/en/OpenScad_beginners_tutorial
  • https://www.opencad.org/lembar curang/indeks.html
Cara Mengembangkan Game di Linux
Satu dekade yang lalu, tidak banyak pengguna Linux yang memprediksi bahwa sistem operasi favorit mereka suatu hari nanti akan menjadi platform game po...
Port Sumber Terbuka dari Mesin Game Komersial
Rekreasi mesin game gratis, open source, dan lintas platform dapat digunakan untuk bermain lama serta beberapa judul game yang cukup baru. Artikel ini...
Game Baris Perintah Terbaik untuk Linux
Baris perintah bukan hanya sekutu terbesar Anda saat menggunakan Linux-ini juga dapat menjadi sumber hiburan karena Anda dapat menggunakannya untuk me...