CAD

openSCAD öğreticisi

openSCAD öğreticisi
Mekanik bir parça yapmak bir çizim gerektirir. Kağıtla başladı ve ilk CAD programları tamamen aynı stili kullandı. Her çizimin tanımlanması için çizimlerde standart kareler bile vardır. Tüm bunlar, büyük şirketlerde üretime başladığınızda faydalıdır. Ancak yeni bir mekanik parça yapmaya başladığınızda başka yöntemler isteyebilirsiniz.

3D CAD yöntemleri, tüm parçayı olduğu gibi görmenizi sağlar. Ayrıca bükebilir ve çevirebilirsiniz. Gelişmiş yazılımda hareketi simüle edebilirsiniz. Her durumda, parçaları bir grafik arayüz kullanarak çizersiniz. Bu, kutular ve silindirler yapmak için harikadır, ancak daha karmaşık şekiller yapmak istediğinizde matematiksel yöntemlere ihtiyacınız olabilir.

Herhangi bir malzemeyi komutlarla tanımlamanın standart bir yolunu girin.

openSCAD'i bu kadar özel yapan nedir??

openSCAD'de işaretçiniz veya kaleminizle hiçbir şey çizmezsiniz. Tüm parçayı komutlar ve fonksiyonlarla kodlarsınız. Bu, makine mühendisleri için garip, ancak programcılar için başka bir durumunuz var. Kişisel tercihinizin yanı sıra hassasiyet avantajına da sahipsiniz. Kod ile tasarladığınızda, kodda oradaki hassasiyete sahipsiniz.

openSCAD'in en güçlü özelliği ikili işlemlerdir. Parçaları bir araya getirmek veya malzemeyi kesmek için ikili operatörleri kullanabilirsiniz. Silindiri küpten geri çekerek merkezinde delik olan bir küp yapmak kolaydır. Bu işlemlerden bazıları diğer CAD yazılımlarında mevcuttur, ancak bunları openSCAD'de kullanmak doğaldır.

proje ihtiyaçlarınız nelerdir?

Peçeteye tasarımınızı koyduktan sonra, tam bir tasarım yapmaya çalıştığınızda neler olduğunu görmeniz gerektiğini düşünebilirsiniz. Endişelenme; kod yazarken bakmanız için bir önizleme penceresi var. Temel fikirleri anladıktan sonra, projeniz için en uygun olup olmadığını bileceksiniz.

Kısacası karmaşık şekillere sahip küçük parçalar oluşturmak istiyorsanız openSCAD'i denemelisiniz. Tam ekipman ve mekanik sistemler için daha gelişmiş grafik uygulamaları kullanmak istiyorsunuz. Bunu söyledikten sonra, hepsi bir zevk meselesi. Sadece kodla karmaşık şekiller yapabilirsiniz, bütün bir arabayı kodlamayı düşünür müsünüz??

yükleme

Çoğu dağıtım için standart depolarınızda bulunan OpenSCAD, bir çırpıda ve AppImage kullanılarak da kurulabilir. İlginçtir ki, vidalar, dişliler ve genel şekiller içeren ikinci bir paketiniz de vardır. En yeni paket, openscad-nightly snap'te.

sudo apt opencad kurulumu
sudo ek kurulum openscad-gecelik

Ayrı bir paket olarak gelen vidaları kullanmak istiyorsanız, dağıtımınızın depolarını kullanın.

sudo apt install openscad-mcad

Dahil edilen parçaların kullanılması, daha ayrıntılı olarak ele alınan başka bir konudur.

Birkaç standart şekil

CAD komut dosyası yazmanın ilkeleri, birkaç standart geometrik şekle sahip olmanızdır. Bu şekilleri kullanır ve onları daha karmaşık şekillerde birleştirirsiniz. 2D için standart şekiller daire, kare ve çokgendir. 3B için bir küre, küp, silindir ve polihedronunuz var. Bunlardan bazılarını inşa etmek ve diğerlerini kesmek için kullanarak çok karmaşık şekiller oluşturabilirsiniz.

2B metin oluşturan bir metin işlevi de vardır. Daha sonraki işlemler için çizimler oluşturmanız gerektiğinde, projeksiyon komutunu kullanabilirsiniz. Bu komut, bir çizime aktarabilmeniz için bir 3B şekli bir düzlem boyunca keser. Ayrıca import komutunu kullanarak diğer programlardan şekiller ve hatta resimler ekleyebilirsiniz. Bu aynı zamanda 3B şekillerle de çalışır.

Ek olarak, mevcut nesnelerden şekilleri ekstrüde edebilirsiniz.

Dönüşümler

Varsayılan olarak, tüm parçaları tüm boyutlarda ızgaranın merkez noktasında oluşturursunuz. Bu hepsini üst üste getirir. Birkaç şekle sahip olduğunuzda, bunların doğru noktaya yerleştirilmesini ve döndürülmesini istersiniz. Bu işlevler basit olanlardır, çevir nesneyi başka bir yere koyar. Döndür komutu, nesneyi veya alt nesneleri döndürür. Ayrıca, verilen aks çevresinde yansıtılan nesnenin bir kopyasını oluşturan ayna işlevine de sahipsiniz.

Diğer dönüşümlerin açıklamak için örneklere ihtiyacı var. Kısacası, gövde birçok şeklin dış hatlarını oluşturur. İki daire ile deneyin ve bunları gövde () ile birleştirin. Veya aşağıdaki kod.

çevir([-10,0,0])
gövde()
silindir(30, 5, 1);
küp(9);
küre(12);

Minkowski işlemi genellikle kenarları oluşturmak için kullanılır; yuvarlak olmasını istiyorsan küre kullan.

Boole işlemleri

Sadece kareler, silindirler ve küreler ile birçok parça oluşturulamaz. Yapabileceğiniz ilk şey, birçok şekli birleştirmek ve tek bir şekle kesmektir. Bunu yapmak için boole operatörlerini kullanırsınız. Bunlar birlik, farklılık ve kesişimdir.

Birlik()
küp([35, 5, 2], merkez = doğru);
silindir(h = 2, r = 5, merkez = doğru);

Yukarıdaki kodda, ortasında bir ampul bulunan tek bir parça elde edersiniz. Bir tüp yapmak için, bir silindir ile diğeri arasındaki farkı alırsınız.

fark()
silindir(h = 15, r1 = 30, r2 = 30, merkez= doğru);
silindir(h = 15, r1 = 25, r2 = 25, merkez = doğru) ;

Devam ettikçe, bunları ve daha fazlasını kullanacaksınız. İşte bir kavşak örneği.

kavşak()

döndür([45,0.0])
silindir( h = 40, r = 4, merkez = doğru);
çevir(5,5,5)
silindir( h = 40, r = 6, merkez = doğru);

Kavşak sadece üst üste binen şeyleri bırakır; bu yöntemi kullanarak birçok şekil oluşturabilirsiniz.

Döngüler için

Tasarımlarınızın çoğu aynı parçaya birçok kez sahip olacak, bir veranda düşünün. Genellikle aralarında boşluk olan birkaç tahtadan yapılırlar. Bu durumda, bir tahta yaparsınız ve sadece bir for döngüsü ile üzerlerinde yinelenirsiniz.

boşluk = 8;
plank_width = (bed_width / 4) - boşluk;
num_planks = 4;
for(plank_x_pos = [0:1:num_planks - 1])

translate([plank_width*plank_x_pos + boşluk * plank_x_pos,0,0])
küp([plank_width,4,200]);

For döngüsü olmasaydı, küpü yazar ve ifadeleri dört kez çevirirdiniz. Ayrıca bir sonraki tahtanın ne kadar uzağa gideceğini hesaplamanız gerekirdi. Sadece dört parçayla bile bu çözüm çok daha kolay görünüyor. Örnekte, ayarlanması gereken değişkenleri de görebilirsiniz. Tüm değişkenler derleme zamanında ayarlanır, diğer programlama dillerinde değerler olarak düşünürseniz hata ayıklama sorunlarıyla karşılaşabileceğiniz için bu önemlidir. Daha sonra göreceğiniz gibi, tüm verandayı bir modül de yapabilirsiniz.

Matematik

openSCAD'de bulunan birkaç matematiksel fonksiyona sahipsiniz. Desteklenen özellikler çoğu trigonometrik fonksiyonlar, farklı şekillerde yuvarlama ve logaritmik fonksiyondur. Aşağıda bir örnek görebilirsiniz.

için(i=[0:36])
çevir([i*10,0,0])
silindir(r=5,h=cos(i*10)*50+60);

Yukarıdaki fonksiyon, farklı yükseklikteki uzun bir düz silindir sırası oluşturur. Ana işlevler trigonometriye bağlıdır. Ancak rastgele, yuvarlama işlevleri ve standart operatörlerle hemen hemen her şeyi oluşturabilirsiniz. Vektörler, matrisler ve karekök desteği de vardır. Bu işlevlerle bile, gerçekten çok uzağa gidebilirsiniz. Ancak, hayal edebileceğiniz her şeyi kapsamazlar; bunun yerine, işlevler oluşturabilirsiniz.

Modüller ve Fonksiyonlar

openSCAD kurulumuna dahil edilmiş birçok modülünüz var. Ancak, diğer kütüphaneleri de indirebilirsiniz. Dağıtımınızda muhtemelen openscad-mcad olarak da adlandırılan MCAD'i bulabilirsiniz. Ubuntu altında yüklemek için.

$ sudo apt install openscad-mcad

Bu paketin içinde hem modülleri hem de işlevleri bulacaksınız. Herhangi bir projeye başlamadan önce kütüphaneler ve modüller arayın. Zaten bir vida kitaplığı var ve bu sadece başlangıç. Tasarımınızın bir parçası eksik? Kendi modüllerinizi yapın; onları yeni parçalar yapmak için kullanıyorsun. Parametreleri kullandığınızda, onlardan birçok versiyon yapabilirsiniz. Modül oluşturmanın en iyi yolu, tasarımı ayrı bir dosya haline getirmek, neyin dinamik olması gerektiğini bulmak ve parçanın etrafına 'modül' eklemektir.

Bir modülü kullanmak için onu adıyla çağırırsınız. Birçok modül ayrı dosyalarda geldiğinden, dosyanızın başına bir include ifadesi koymalısınız. "Include" ifadesi ile "use" ifadesi arasındaki farka dikkat edin. Bir dosyadaki her şeyin yürütülmesini istiyorsanız, onu "ekleyin", yalnızca modüllerin ve işlevlerin tanımlanmasını istiyorsanız dosyayı "kullanın". Modülleri kullanabildiğinizden emin olmak için, onları modelinizin geçerli dizinine veya arama yollarından birine koymalısınız.

Önce indirip kullanabileceğiniz birkaç tanesine bakalım.

Vidalar

Önceki bölümdeki pakette birçok şey bulabilirsiniz. Bir grup vidadır! Bunları uygulamaya yükleyerek ve modülü arayarak deneyebilirsiniz. MCAD Kitaplığında birçok vida bulabilirsiniz. Diğer kaynaklardan başka birçok koleksiyon var. Bir vida kullanmak için ihtiyacınız olan modül için include ifadesini içeren bir dosya oluşturun. Artık modülü kullanmak istediğiniz her yerde modülün adını kullanarak vidanızı oluşturabilirsiniz.

Dahil etmek ;
top_groove(12, 40, 2);

Bu bir topa sığabilecek bir vida. Ayrıca bulabilirsiniz fındık_and_bolts_scad, hangi metrik vidaları ve cıvataları tanımlar. Tasarımcılar, cıvataları bulabileceğiniz bir web sitesi kullandılar ve kullanmanız için bir yöntem oluşturdular. Başka bir örnek, bir cıvata için bir delik.

Dahil etmek
fark()
küp([12,16,20],merkez = doğru);
çevir([0,0,-3])
cıvataDeliği(8, uzunluk = 300);

Yukarıdaki kod, M8 cıvatası için yeterince büyük bir delik oluşturur, bu örnek bir küp oluşturur ve iki boyutta iki silindiri keser. Bu çok karmaşık değil, ancak diğer bileşenleri kullandığınızda karmaşıklık hızla artıyor. Parametrik kutulara vidaları ekleyin ve bir kitaplığın nasıl yardımcı olduğunu görebilirsiniz.

araba yapmak

Herhangi bir karmaşıklıktaki herhangi bir yapıyı yapmak için, her seferinde bir parça yapmanız gerekecektir. Daha sonra bunları birbirleriyle birleştirirsiniz. Daha önce de belirttiğimiz gibi modülleri ve işlevleri kullanabilirsiniz. Başlamanın en iyi yolu, değişkenleri nerede ayarlamanız gerektiğine karar vermektir. Basit bir araba için yüksekliğe, dingil mesafesine ve uzunluğa ihtiyacınız var. Değerleri tek bir yerde ayarlamanız ve parçaları tasarımın etrafına sığdırmak için kullanmanız gerekir. Daha fazla değere ihtiyacınız olabilir, ancak başladığınızda hepsini koymayın. Yeni bir projeye başladığınızda, tüm parçalara sahip olmayacaksınız, bu yüzden bazı şeyleri değiştirmeye hazır olun.

dingil mesafesi = 150;
araba uzunluğu = dingil mesafesi * 1.2;
araba genişliği = 50;
tekerlek çapı = 25;
süspansiyon yüksekliği = (tekerlek çapı/2) + 5;
çevir([tekerlek mesafesi/2, araba genişliği,0])
döndür([90,0,0])
silindir(r = tekerlek yarıçapı, 10, merkez = doğru);
çevir([tekerlek mesafesi/2,-(araba genişliği),0])
döndür([90,0,0])
silindir(r = tekerlek yarıçapı, 10, merkez = doğru);

Kod, ilk iki tekerleğin kodunu gösterir. Biraz düşünürseniz, muhtemelen arka tekerlekleri yapabilirsiniz. Her şeyin gittiği yüzey olan pulu eklemek için, sadece bir küp ekleyin. Kodda koyduğunuz değişkenleri kullanın.

çevir([0, 0, süspansiyon yüksekliği])
küp([araba uzunluğu, araba genişliği,10], merkez = doğru);

Bu pul, tekerleklerle aynı yükseklikte olmasına rağmen, biz de bunu süspansiyon yükseklik değeri ile hallettik. Çevrilmiş ifade, hemen ardından gelenleri etkiler. Satır sonunda noktalı virgül olmadığına dikkat edin. İçerideki ifadeler uzadığında, etrafında küme parantezleri kullanırsınız.

Şimdi, aksları ve süspansiyonu eklemeniz gerekiyor. Akslar, tekerleklerin arasına giren basit silindirler olabilir. Döndür ve çevir kullanarak tekerlekleri yaptığınız gibi yerleştirirsiniz. Aslında en iyisi aynı değerleri kullanmaktır.

çevir([tekerlek/2,0,0])
döndür([90,0,0])
silindir(r = tekerlek yarıçapı * 0.25 , h = (kart genişliği * 2) + 15, merkez = doğru);

Buradaki kod ön aksı yerine yerleştiriyor. Arka aks, anlamanız için size okuyucuyu bırakıyorum. Süspansiyonu birçok şekilde çözebiliriz. Bu durumda, basit tutacağız.

// Süspansiyon
translate([dingil mesafesi/2, 0, süspansiyon yüksekliği ])
döndür([90,0,0])

fark()
silindir(r = süspansiyon yüksekliği, 10, merkez = doğru);
silindir(r = süspansiyon yüksekliği - 5, 11, merkez = doğru);
küp([102, süspansiyon yüksekliği/6, 12], merkez = doğru);

çevir([süspansiyon yüksekliği, 0, 0])
silindir(r = süspansiyon yüksekliği/3, h = 12, merkez =doğru);
çevir([-suspensionheight, 0, 0])
silindir(r = süspansiyon yüksekliği/3, h = 12, merkez =doğru);

Bu kod çok kaba bir süspansiyon oluşturur; sadece silindir kullanır, bu yüzden kullanmaya başladığınızda en iyisi olmayacaktır. İlkellerden tasarımlar yaratmanın bir yolunu gösteriyor; silindir, küp ve iyi, bu model için bu kadar. İlerledikçe, her parçayı bir modül yapacak ve bu parçaları yerleştireceksiniz.

Sepet kodu https://github adresinde mevcuttur.com/matstage/Taşıma! Daha fazla gelişme daha sonra gelebilir.

Kütüphaneler

Daha önceki kısımda sadece çevreler kullandınız. Yalnızca bu ilkelleri kullanan herhangi bir tasarım, tüm uygulamalar için en iyisi olmayacaktır. İyi görünümlü ve verimli tasarımlar oluşturmanız gerekiyor. Çözüm matematiktir! Bunu eklemek için diğer kişilerin kitaplıklarını kullanarak başlamalısınız.

Toplulukta akıllı insanlar tarafından inşa edilmiş çok sayıda kütüphane var. İnşa eden insanlar, sorunlarını çözen ve daha sonra bunu herkesle nezaketle paylaşan kullanıcılardır. Herkese teşekkürler! İyi bir örnek dotSCAD'dir; süspansiyon örneği için bir Bézier eğrisi bulabilirsiniz.

Başka bir yazılıma aktarma

İyi bir tasarıma sahip olduğunuzda, onu başka bir yazılımda kullanmak isteyebilirsiniz. stl, dwg ve diğer birçok formata dışa aktarabilirsiniz. 3D baskı meraklılarınız, stl dosyalarını doğrudan dilimleyici programlarınızda kullanabilir.

alternatifler

Bir başka heyecan verici alternatif ise ImplicitCAD. Bu yazılım çok geliştirme aşamasında. Komut satırını çalıştırmanız gerekiyor ve sisteminizde Haskell gerekiyor. Çoğu standart yüklemede Haskell yoktur!

Sonuç

İlk bakışta, openSCAD kullanmak çok zor. Öğrenme eğrisini geçmek biraz zor olabilir, ancak birçok kullanıcı için buna değer. Projeye katkı sağlayacak projeler sayesinde. Bir git komutunun sonunda kullanabileceğiniz birçok özelliğiniz vardır. Sadece kod aracılığıyla mekanik tasarımlar oluşturmanın temellerini öğrenmek, şekiller hakkında düşünme şeklinizi değiştirir. Bu, diğer projelerinizi yapmak için nokta ve tıklamayı kullanmaya devam edecek olsanız bile faydalıdır.

  • https://www.Openscad.kuruluş/belgeler.html?sürüm=2019.05
  • http://edutechwiki.tek.ch/tr/OpenScad_beginners_tutorial
  • https://www.Openscad.kuruluş/hile sayfası/dizin.html
Linux için En İyi Gamepad Eşleme Uygulamaları
Tipik bir klavye ve fare giriş sistemi yerine bir gamepad ile Linux'ta oyun oynamayı seviyorsanız, sizin için bazı faydalı uygulamalar var. Çoğu PC oy...
Linux Oyuncuları için Faydalı Araçlar
Linux'ta oyun oynamayı seviyorsanız, oyun deneyimini geliştirmek için Wine, Lutris ve OBS Studio gibi uygulamaları ve yardımcı programları kullanmış o...
Daha Önce Bir Linux Sürümü Olmayan Linux için HD Remastered Oyunlar
Birçok oyun geliştiricisi ve yayıncısı, franchise'ın ömrünü uzatmak için eski oyunların HD remaster'ı ile geliyor, lütfen modern donanımla uyumluluk i...