CAD

tutorial openSCAD

tutorial openSCAD
Membuat bahagian mekanikal memerlukan lukisan. Ia bermula dengan kertas, dan program CAD pertama menggunakan gaya yang sama. Malah terdapat petak-petak piawai pada gambar sehingga setiap lukisan dapat dikenal pasti. Semua ini berguna apabila anda memulakan pengeluaran di syarikat besar. Walau bagaimanapun, apabila anda mula membuat sekeping mekanikal baru, anda mungkin memerlukan kaedah lain.

Kaedah CAD 3D membolehkan anda melihat keseluruhannya. Anda juga boleh memutar dan memutarnya. Dalam perisian canggih, anda juga dapat mensimulasikan pergerakan. Dalam semua kes, anda melukis kepingan menggunakan antara muka grafik. Ini bagus untuk membuat kotak dan silinder, tetapi apabila anda ingin membuat bentuk yang lebih kompleks, anda mungkin memerlukan kaedah matematik.

Masukkan cara standard untuk menerangkan sebarang bahan dengan arahan.

Apa yang menjadikan openSCAD begitu istimewa?

Di openSCAD, anda tidak menarik apa-apa dengan penunjuk atau pen anda. Anda kodkan keseluruhan bahagian dengan arahan dan fungsi. Ini janggal bagi jurutera mekanikal, tetapi bagi pengaturcara, anda menghadapi situasi lain. Selain pilihan peribadi, anda juga mempunyai kelebihan ketepatan. Apabila anda merancangnya dengan kod, anda mempunyai ketepatan dalam kod tersebut.

Ciri openSCAD yang paling kuat adalah operasi binari. Anda boleh menggunakan operator binari untuk menyatukan atau memotong bahan. Mudah membuat kubus dengan lubang di tengahnya dengan menarik silinder dari kubus. Sebilangan operasi ini terdapat dalam perisian CAD yang lain, tetapi wajar untuk menggunakannya di openSCAD.

Apakah keperluan projek anda?

Selepas anda meletakkan reka bentuk pada serbet, anda mungkin berfikir bahawa anda perlu melihat apa yang sedang berlaku ketika anda mencuba menjadikannya reka bentuk penuh. Jangan bimbang; terdapat tetingkap pratonton untuk anda lihat semasa anda membuat kod. Sebaik sahaja anda memahami idea asas, anda akan mengetahui apakah ia paling sesuai untuk projek anda.

Ringkasnya, jika anda ingin membuat potongan kecil yang mempunyai bentuk yang kompleks, anda harus mencuba openSCAD. Untuk peralatan lengkap dan sistem mekanikal, anda ingin menggunakan aplikasi grafik yang lebih maju. Walaupun begitu, itu semua adalah selera. Anda boleh membuat bentuk yang rumit dengan hanya kod, adakah anda mempertimbangkan untuk membuat keseluruhan kereta?

Memasang

OpenSCAD, tersedia di repositori standard anda untuk sebilangan besar pengedaran, juga boleh dipasang menggunakan snap dan AppImage. Menariknya ialah anda juga mempunyai pakej kedua yang merangkumi skru, roda gigi, dan bentuk generik. Pakej terbaru terdapat dalam sekejap openscad-nightly.

sudo apt install openscad
sudo snap install openscad-nightly

Sekiranya anda ingin menggunakan skru yang disertakan sebagai bungkusan yang berasingan, gunakan repositori pengedaran anda.

sudo apt install openscad-mcad

Menggunakan bahagian yang disertakan adalah perkara lain, dibahas lebih jauh.

Beberapa bentuk standard

Prinsip skrip CAD adalah bahawa anda mempunyai beberapa bentuk geometri standard. Anda menggunakan bentuk ini dan menggabungkannya menjadi bentuk yang lebih kompleks. Bentuk piawai adalah bulatan, persegi, dan poligon untuk 2D. Untuk 3D, anda mempunyai sfera, kubus, silinder, dan polyhedron. Dengan menggunakan beberapa ini untuk membina dan yang lain untuk dipotong, anda dapat membuat bentuk yang sangat kompleks.

Terdapat juga fungsi teks yang membuat teks 2D. Apabila anda perlu membuat gambar untuk proses selanjutnya, anda boleh menggunakan arahan unjuran. Perintah ini memotong bentuk 3D di sepanjang satah sehingga anda dapat memindahkannya ke lukisan. Anda juga dapat menambahkan bentuk dari program lain atau bahkan gambar, menggunakan perintah import. Ini juga berfungsi dengan bentuk 3D.

Di samping itu, anda boleh mengeluarkan bentuk dari objek yang ada.

Transformasi

Secara lalai, anda membuat semua kepingan pada titik tengah grid dalam semua dimensi. Ini menjadikan mereka semua bertindih. Sebaik sahaja anda mempunyai sebilangan bentuk, anda mahu meletakkannya di tempat yang betul dan dipusingkan. Fungsi-fungsi ini adalah yang mudah, terjemahan meletakkan objek di tempat lain. Perintah putar memutar objek atau objek anak. Anda juga mempunyai fungsi cermin, yang membuat salinan objek yang dicerminkan di sekitar gandar yang diberikan.

Transformasi lain memerlukan contoh untuk dijelaskan. Ringkasnya, lambung membuat garis luar dengan pelbagai bentuk. Cuba dengan dua bulatan dan gabungkan dengan lambung (). Atau kod di bawah.

terjemahkan ([- 10,0,0])
lambung ()
silinder (30, 5, 1);
kiub (9);
sfera (12);

Operasi Minkowski biasanya digunakan untuk membuat tepi; jika anda mahu mereka bulat, gunakan sfera.

Operasi Boolean

Banyak kepingan tidak dapat dibuat hanya dengan kotak, silinder, dan sfera. Perkara pertama yang boleh anda lakukan adalah menggabungkan dan memotong banyak bentuk menjadi satu bentuk. Anda menggunakan operator boolean untuk melakukan ini. Mereka adalah kesatuan, perbezaan, dan persimpangan.

kesatuan ()
kubus ([35, 5, 2], tengah = benar);
silinder (h = 2, r = 5, tengah = benar);

Dalam kod di atas anda mendapat satu bahagian yang mempunyai mentol di bahagian tengahnya. Untuk membuat tiub, anda mengambil perbezaan antara satu silinder dengan yang lain.

beza()
silinder (h = 15, r1 = 30, r2 = 30, tengah = benar);
silinder (h = 15, r1 = 25, r2 = 25, tengah = benar);

Semasa kita bergerak, anda akan menggunakan ini dan banyak lagi. Berikut adalah contoh persimpangan.

persimpangan ()

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

Persimpangan hanya meninggalkan barang yang bertindih; anda boleh membuat banyak bentuk menggunakan kaedah ini.

Untuk Gelung

Banyak reka bentuk anda akan mempunyai bahagian yang sama berkali-kali, pertimbangkan teres. Mereka biasanya diperbuat daripada beberapa papan dengan jurang di antara mereka. Dalam kes ini, anda membuat satu papan dan mengulanginya dengan gelung untuk.

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

terjemahkan ([plank_width * plank_x_pos + gap * plank_x_pos, 0,0])
kubus ([lebar_papan, 4,200]);

Tanpa gelung untuk, anda akan menulis kiub dan menterjemahkan pernyataan sebanyak empat kali. Anda juga mesti mengira sejauh mana papan seterusnya akan pergi. Walaupun hanya dengan empat keping, penyelesaian ini kelihatan lebih mudah. Dalam contohnya, anda juga dapat melihat pemboleh ubah yang perlu ditetapkan. Semua pemboleh ubah ditetapkan pada waktu kompilasi, ini penting kerana anda mungkin menghadapi masalah penyahpepijatan jika anda menganggapnya sebagai nilai dalam bahasa pengaturcaraan lain. Seperti yang akan anda lihat kemudian, anda juga boleh menjadikan keseluruhan teras sebagai modul.

Matematik

Termasuk dalam openSCAD, anda mempunyai beberapa fungsi matematik yang tersedia. Ciri yang disokong adalah kebanyakan fungsi trigonometri, pembundaran dengan cara yang berbeza dan fungsi logaritmik. Anda boleh melihat contoh di bawah.

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

Fungsi di atas menghasilkan barisan silinder lurus panjang dengan ketinggian berbeza. Fungsi utama disambungkan ke trigonometri. Walau bagaimanapun, dengan fungsi bulat secara rawak dan pengendali standard, anda boleh membuat semuanya. Terdapat juga sokongan untuk vektor, matriks, dan punca kuasa dua. Walaupun dengan fungsi ini, anda boleh mencapai tahap yang jauh. Walau bagaimanapun, mereka tidak merangkumi semua yang anda bayangkan; sebaliknya, anda boleh membuat fungsi.

Modul & Fungsi

Anda mempunyai banyak modul yang disertakan dalam pemasangan openSCAD. Walau bagaimanapun, anda juga boleh memuat turun perpustakaan lain. Dalam pengedaran anda, anda mungkin menjumpai MCAD, juga disebut openscad-mcad. Untuk memasang di bawah Ubuntu.

$ sudo apt install openscad-mcad

Di dalam pakej ini, anda dapati modul dan fungsi. Sebelum memulakan sebarang projek, cari perpustakaan dan modul. Sudah ada perpustakaan sekrup, dan itu baru permulaan. Hilang sebahagian rancangan anda? Buat modul anda sendiri; anda menggunakannya untuk membuat kepingan baru. Apabila anda menggunakan parameter, anda dapat membuat banyak versi daripadanya. Cara terbaik untuk membuat modul adalah dengan menjadikan reka bentuk sebagai fail yang terpisah, mengetahui apa yang perlu dinamik, dan menambahkan 'modul' di sekitar karya.

Untuk menggunakan modul, anda memanggilnya dengan namanya. Oleh kerana banyak modul terdapat dalam fail yang berasingan, anda mesti meletakkan pernyataan termasuk di bahagian atas fail anda. Perhatikan perbezaan antara pernyataan "sertakan" dan pernyataan "penggunaan". Jika anda ingin semua yang ada di dalam file dijalankan, Anda "sertakan" itu, jika anda ingin modul dan fungsi yang ditentukan sahaja, "gunakan" fail. Untuk memastikan anda dapat menggunakan modul, anda mesti memasukkannya ke dalam direktori model anda sekarang atau salah satu jalan carian.

Pertama, mari kita lihat beberapa yang boleh anda muat turun dan gunakan.

Skru

Dalam pakej dari bahagian sebelumnya, anda boleh menemui banyak perkara. Satu kumpulan adalah skru! Anda boleh mencubanya dengan memasukkannya ke dalam aplikasi dan memanggil modul. Di Perpustakaan MCAD, anda boleh menemui banyak skru. Terdapat banyak koleksi lain dari sumber lain. Untuk menggunakan skru, buat fail yang mengandungi pernyataan termasuk untuk modul yang anda perlukan. Sekarang, di mana sahaja anda mahu menggunakan modul, anda boleh menggunakan nama modul untuk membuat skru anda.

merangkumi ;
bola_groove (12, 40, 2);

Ini adalah skru yang boleh memuatkan bola. Anda juga boleh mencari kacang_dan_bolts_scad, yang mentakrifkan skru dan baut metrik. Pereka menggunakan laman web di mana anda dapat mencari baut dan membuat kaedah untuk anda gunakan. Contoh lain ialah lubang untuk bolt.

merangkumi
beza()
kubus ([12,16,20], tengah = benar);
terjemahkan ([0,0, -3])
boltHole (8, panjang = 300);

Kod di atas membuat lubang yang cukup besar untuk bolt M8, contoh ini membuat kubus dan memotong dua silinder dengan dua ukuran. Itu tidak terlalu rumit, tetapi kerumitan dengan cepat bertambah apabila anda menggunakan komponen lain. Tambahkan skru ke kotak parametrik, dan anda dapat melihat bagaimana perpustakaan membantu.

Membuat troli

Untuk membuat apa-apa kerumitan, anda perlu membuat satu bahagian pada satu masa. Kemudian, anda menggabungkannya antara satu sama lain. Seperti yang telah kami sebutkan sebelumnya, anda dapat menggunakan modul dan fungsi. Cara terbaik untuk memulakan adalah dengan menentukan di mana anda perlu menetapkan pemboleh ubah. Untuk troli sederhana, anda memerlukan ketinggian, jarak roda, dan panjang. Anda perlu menetapkan nilai di satu tempat dan menggunakannya untuk membuat bahagian sesuai dengan reka bentuk. Anda mungkin memerlukan lebih banyak nilai, tetapi jangan meletakkan semuanya ketika anda memulakannya. Apabila anda memulakan projek baru, anda tidak akan menyediakan semua bahagian, jadi bersiaplah untuk mengubah keadaan.

jarak roda = 150;
panjang kereta = jarak roda * 1.2;
lebar jalur = 50;
wheeldiameter = 25;
suspensiheight = (wheeldiameter / 2) + 5;
terjemahkan ([jarak roda / 2, lebar jalur, 0])
putar ([90,0,0])
silinder (r = roda roda, 10, tengah = benar);
terjemahkan ([wheelbase / 2, - (lebar jalur), 0])
putar ([90,0,0])
silinder (r = roda roda, 10, tengah = benar);

Kod menunjukkan kod untuk dua roda pertama. Sekiranya anda memikirkannya sedikit, anda mungkin boleh membuat roda belakang. Untuk menambahkan serpihan, permukaan tempat semua barang masuk, anda hanya perlu menambahkan kiub. Gunakan pemboleh ubah yang anda masukkan dalam kod.

terjemahkan ([0, 0, suspensiheight])
kiub ([panjang lebar, lebar jalur, 10], tengah = benar);

Flak ini berada pada ketinggian yang sama seperti roda, jadi kami menjaganya dengan nilai ketinggian suspensi. Pernyataan yang diterjemahkan itu mempengaruhi apa yang berlaku langsung selepasnya. Perhatikan bahawa tidak ada titik koma di hujung garis. Apabila penyataan di dalamnya menjadi panjang, anda menggunakan pendakap keriting di sekelilingnya.

Sekarang, anda perlu menambah gandar dan gantung. Gandar boleh berbentuk silinder sederhana yang berada di antara roda. Anda meletakkannya dengan cara yang sama seperti roda menggunakan putar dan terjemahkan. Sebenarnya, yang terbaik adalah menggunakan nilai yang sama.

terjemahkan ([wheelbase / 2,0,0])
putar ([90,0,0])
silinder (r = roda roda * 0.25, h = (lebar jalur * 2) + 15, tengah = benar);

Kod di sini meletakkan gandar depan di tempatnya. Gandar belakang, saya meninggalkan anda pembaca untuk mengetahui. Kami dapat menyelesaikan penangguhan dengan pelbagai cara. Dalam kes ini, kami akan memastikannya mudah.

// Penggantungan
terjemahkan ([jarak roda / 2, 0, ketinggian suspensi])
putar ([90,0,0])

beza()
silinder (r = tinggi suspensi, 10, tengah = benar);
silinder (r = tinggi suspensi - 5, 11, tengah = benar);
kubus ([102, ketinggian suspensi / 6, 12], tengah = benar);

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

Kod ini membuat penggantungan yang sangat kasar; ia hanya menggunakan silinder, jadi ia tidak akan menjadi yang terbaik apabila anda mula menggunakannya. Ia menggambarkan satu cara membuat reka bentuk dari primitif; silinder, kubus, dan baik, itu sahaja untuk model ini. Semasa anda maju, anda akan menjadikan setiap bahagian sebagai modul dan meletakkan potongan tersebut.

Kod untuk troli boleh didapati di https: // github.com / matstage / Kereta! Perkembangan selanjutnya mungkin akan datang kemudian.

Perpustakaan

Pada bahagian sebelumnya, anda hanya menggunakan bulatan. Sebarang reka bentuk yang hanya menggunakan primitif tidak akan menjadi yang terbaik untuk semua aplikasi. Anda perlu membuat reka bentuk yang cantik dan cekap. Penyelesaiannya ialah matematik! Untuk menambahkannya, anda harus bermula dengan menggunakan perpustakaan orang lain.

Terdapat sebilangan besar perpustakaan yang dibina oleh orang pintar dalam komuniti. Orang yang membina adalah pengguna yang menyelesaikan masalah mereka dan kemudian membagikannya dengan ramah kepada orang lain. Terima kasih kepada anda semua! Contoh yang baik ialah dotSCAD; untuk contoh penggantungan, anda boleh mendapatkan keluk Bézier.

Mengeksport ke perisian lain

Setelah anda mempunyai reka bentuk yang baik, anda mungkin ingin menggunakannya dalam perisian lain. Anda boleh mengeksport ke stl, dwg, dan sebilangan besar format lain. Peminat percetakan 3D anda boleh menggunakan fail stl secara langsung dalam program slicer anda.

Alternatif

Alternatif lain yang menarik ialah ImplicitCAD. Perisian ini banyak dikembangkan. Anda harus menjalankan baris perintahnya, dan ia memerlukan Haskell pada sistem anda. Sebilangan besar pemasangan standard tidak mempunyai Haskell!

Kesimpulannya

Pada mulanya, sekilas menggunakan openSCAD. Melepasi kurva pembelajaran agak sukar, tetapi sangat berbaloi untuk banyak pengguna. Terima kasih kepada projek-projek yang menyumbang kepada projek tersebut. Anda mempunyai banyak ciri yang tersedia di akhir arahan git. Hanya dengan mengetahui asas-asas membuat reka bentuk mekanikal melalui kod mengubah cara anda berfikir tentang bentuk. Ini bermanfaat walaupun anda akan terus menggunakan titik dan klik untuk membuat projek anda yang lain.

  • https: // www.openscad.org / dokumentasi.html?versi = 2019.05
  • http: // edutechwiki.tidak berwarna.ch / en / OpenScad_beginners_tutorial
  • https: // www.openscad.org / lembaran cheats / indeks.html
Cara Menunjukkan Kaunter FPS dalam Permainan Linux
Permainan Linux mendapat dorongan utama ketika Valve mengumumkan sokongan Linux untuk klien Steam dan permainan mereka pada tahun 2012. Sejak itu, ban...
Cara memuat turun dan Mainkan Sid Meier's Civilization VI di Linux
Pengenalan permainan Civilization 6 adalah konsep moden mengenai konsep klasik yang diperkenalkan dalam siri permainan Age of Empires. Idea itu cukup ...
Cara Memasang dan Memainkan Doom di Linux
Pengenalan Doom Seri Doom berasal dari tahun 90an selepas pembebasan Doom yang asal. Ini adalah hit seketika dan sejak saat itu dan seterusnya siri pe...