Apakah ada praktik "terbaik" atau setidaknya "umum" untuk menangani tunjangan dalam kode OpenSCAD?

8

Saya merancang beberapa mekanisme dengan OpenSCAD, dan salah satu parameter yang perlu penyesuaian antara printer / filamen adalah kelonggaran antar potongan yang perlu dirakit bersama (misalnya, jika saya ingin "pin diameter 5 mm" untuk mengikat dua potong bersama-sama, berapa banyak lebih besar dari 5 mm akan lubang / berapa banyak lebih kecil dari 5 mm akan pin harus)

Saat ini saya mendekati masalah dengan menetapkan variabel global allowancedan menggunakannya secara manual dalam kode, seperti:

module pin(radius) {
    cylinder(r = radius + allowance)
}

module hole(radius) {
    cylinder(r = radius - allowance)
}

Saya tidak punya pengalaman dunia nyata dengan desain, jadi saya ingin tahu apakah ada praktik terbaik umum atau pengkodean untuk memperhitungkan tunjangan saat merancang bagian seperti misalnya:

  • modul spesifik yang akan digunakan,
  • nama konvensional untuk variabel
  • teknik spesifik yang akan digunakan (penskalaan? vektor?)
  • konvensi (seperti hanya menggunakan toleransi pada pengikat, bukan objek yang diikat)
  • ...?

Untuk memperjelas: Saya tidak mencari saran tentang cara merencanakan dimensi desain saya. Sebaliknya, saya mencari saran tentang bagaimana mengatur kode OpenSCAD menghasilkan mereka.

Mac
sumber
1
Saya curiga OpenSCAD terlalu relung untuk mengadakan konvensi semacam itu. Apa yang Anda lakukan sangat mirip dengan praktik saya sendiri.
Mick

Jawaban:

5

Ini membantu untuk memahami berbagai aspek dimensi, sehingga Anda dapat menggunakan terminologi dengan benar. Ini akan membantu Anda mendefinisikan variabel Anda di OpenSCAD dengan nama yang benar. (Toleransi adalah istilah yang salah untuk digunakan.) Dan setelah Anda memiliki nama yang benar, Anda akan mengerti bagaimana menentukan dimensi dalam OpenSCAD.

  • Toleransi adalah jumlah penyimpangan acak atau variasi yang diizinkan untuk dimensi tertentu.
  • Tunjangan adalah perbedaan yang direncanakan antara nilai nominal atau referensi dan nilai tepat.
  • Jarak adalah ruang yang disengaja antara dua bagian.
  • Gangguan adalah tumpang tindih yang disengaja antara dua bagian.

Dua istilah lainnya

  • Ketepatan adalah variasi dimensi maksimum antar bagian. Mesin tidak dapat memproduksi komponen dengan toleransi yang lebih ketat daripada akurasinya.
  • Presisi adalah ukuran langkah yang mampu dilakukan mesin Anda. Ini sering dikacaukan dengan akurasi.

Dalam kasus Anda, Anda perlu menentukan kelonggaran untuk membuat izin Anda inginkan.

Untuk merancang pin 5 mm dan lubang 5 mm, Anda harus memahami akurasi mesin Anda. Printer dapat mencetak pin lebih besar dari 5 mm atau lebih kecil dari 5 mm. Atau bisa mencetak lubang lebih besar dari 5 mm atau lebih kecil dari 5 mm. Anda harus mencetak beberapa pin dan lubang dan mengukur perbedaan antara apa yang Anda definisikan dan apa yang Anda cetak. Perbedaan antara pengukuran terbesar dan terkecil yang Anda lakukan adalah akurasi alat berat Anda. Dan pastikan untuk memeriksa akurasi dalam dimensi X, Y, dan Z Anda; printer Anda mungkin memiliki perbedaan di antara mereka yang akan berdampak pada kebulatan bagian-bagiannya.

Katakanlah akurasi pengukuran printer Anda adalah ± 0,2 mm.

Kemudian, kami pindah ke pembersihan. Apa kesenjangan minimum antara bagian yang Anda cari, dan berapa maksimum yang dapat Anda terima?

Katakanlah Anda menginginkan jarak minimal 0,2 mm antara pin dan lubang, tetapi tidak lebih dari 1,0 mm. Karena akurasi Anda ± 0,2 mm, pin Anda akan 5,0 ± 0,2 mm, oleh karena itu lubangnya harus 5,6 mm ± 0,2 mm. Kondisi toleransi minimum adalah lubang berukuran minimum (5,4 mm) dan pin berukuran maksimum (5,2 mm); toleransi maksimum adalah lubang berukuran maksimum (5,8 mm) dan pin berukuran minimum (4,8 mm).

Perhatikan bahwa jarak 1,0 mm mungkin terlalu ceroboh untuk aplikasi Anda. Anda mungkin berpikir untuk memperketat toleransi hingga 0,05 mm untuk mengurangi jarak bebas. Tetapi jika printer Anda tidak dapat menghasilkan bagian yang memenuhi toleransi yang Anda tentukan, Anda perlu menemukan cara berbeda untuk membuat atau menyelesaikan bagian tersebut.

John Deters
sumber
Terima kasih telah memberikan saya kosa kata bahasa Inggris yang tepat untuk berkomunikasi dengan desainer lain secara efektif! Saya memperbarui pertanyaan saya sesuai. Namun pertanyaan saya secara khusus tentang pengorganisasian kode OpenSCAD , bukan tentang teori dan praktik tunjangan (yang sudah saya pahami, meskipun mengabaikan istilah bahasa Inggris yang tepat). :) Bolehkah saya menyarankan Anda membuat pertanyaan gaya wiki (opsi saat Anda mengedit pertanyaan) seperti "Apa perbedaan antara uang saku dan toleransi?" dan pindahkan teks Anda ke sana? Ini adalah informasi yang sangat berguna, tetapi itu bukan jawaban untuk pertanyaan saya, sayangnya!
mac
... dan tentu saja saya akan menjadi orang pertama yang menyatakan bahwa ... beri tahu saya di komentar jika Anda melakukannya! :)
mac
2

Saya tidak mengetahui standar di Openscad tetapi saya dapat membagikan apa yang telah saya lakukan di masa lalu.

cutoutActualDiameter = 10;
cutoutDiameterClearance = 0.1;
cutoutDiameter = cutoutActualDiameter + cutoutDiameterClearance;

Saya tahu ini verbose tetapi sayangnya dalam pengalaman saya itu merupakan keharusan jika Anda ingin kode Anda dapat dipertahankan di Openscad. Manfaat dari hal ini adalah bahwa sampai Anda perlu izin ditambahkan, Anda dapat menggunakan variabel cutoutDiameterdan kemudian jika dan ketika Anda perlu izin ditambahkan Anda dapat mengganti nama variabel itu dan Anda tidak perlu mengubah kode mana pun di mana variabel dikonsumsi.

Akan sangat senang mendengar bagaimana orang lain mengelola ini.

Nick Dancer
sumber
1
Jadi, apakah Anda mengatakan bahwa alih-alih menggunakan variabel untuk semua tunjangan Anda membuat variabel ad-hoc untuk setiap dimensi di bagian Anda? Jika tidak, dapatkah Anda mengklarifikasi apa perbedaan antara pendekatan Anda dan yang dijelaskan dalam pertanyaan itu sendiri? Terima kasih! :)
mac
@ Mac itu benar. Anda masih bisa menggunakan pola ini dengan variabel toleransi yang lebih global dan Anda akan memiliki fleksibilitas untuk menggunakannya di mana Anda bisa atau menjadi granular yang Anda butuhkan. Beberapa hal mungkin perlu pas ketat. Yang lain harus memberi.
Nick Dancer
-2

Nah, toleransi akan tergantung pada bahan yang akan digunakan untuk pembuatan bagian yang diperlukan dan juga ke mana bagian akan pergi dan cocok. Ingat semua bagian memerlukan izin agar pas dengan benar.

Beberapa tahun yang lalu (10 tahun) saya bekerja sebagai Insinyur Kualitas dan beberapa Insinyur Desain mengeluh tentang pin Dupont tidak pas pada PCB sehingga mereka mengatakan kepada saya bahwa saya perlu memaksa manufaktur PCB untuk meningkatkan lubang ke toleransi yang lebih tinggi. Yang mana yang harus saya tanyakan kepadanya pertama-tama ukuran pin dan memberi tahu saya 0,70 mm dan ukuran lubang 0,80 dan maksimum 0,90 - hmmm dan ukuran maksimum pin? Saya bertanya, dan mereka mengatakan kepada saya dengan bangga 0.78mm sehingga bagian itu akan pas. - Oh, jadi satu pin persegi 0,78mm akan muat pada satu lubang 0,9mm, tapi bagaimana dengan dimensi diagonal? jika pin pada dimensi yang lebih tinggi dekat dengan 1.2mm.

Bayangkan apa yang terjadi kemudian, rekayasa mengubah dan memodifikasi desain lain karena toleransi yang tidak tepat. perangkat lunak pro-insinyur tidak dapat menghitung apa yang dibutuhkan oleh perancang.

Bahan memiliki susut, kelengkungan, dan kondisi lain yang perlu diketahui seperti kelenturan dan kekerasan dan beberapa data ini ada pada bahan spesifikasi atau spesifikasi bagian.

Fernando Baltazar
sumber
1
Ini tidak menjawab pertanyaan dengan cara apa pun.
tjb1
@ tjb1 Ini membuat Anda berpikir untuk mempertimbangkan toleransi bahkan jika Anda menggunakan perangkat lunak cad terbaik.
Fernando Baltazar
1
Pertanyaannya adalah bertanya bagaimana menerapkan toleransi di dalam OpenSCAD saat pengkodean, bukan bagaimana toleransi berlaku pada bagian nyata.
tjb1
@ tjb1 Jadi, pengguna tidak akan pernah berencana untuk menggunakan bagian nyata?
Fernando Baltazar
1
Terlepas apakah itu toleransi atau kelonggaran, pertanyaannya adalah tentang bagaimana menerapkannya dalam kode di dalam OpenSCAD yang menghasilkan model, lihat poin-poin utama dari pertanyaan tersebut. StackExchange bukan forum dan jawaban Anda sebagian besar adalah cerita tentang pekerjaan sebelumnya, tetapi bukan jawaban untuk pertanyaan itu.
tjb1