OpenSCAD:

OpenSCAD katı 3D CAD nesneleri oluşturmak için kullanılan ücretsiz ve açık kaynak bir yazılımdır. OpenSCAD, betik dilini kullanarak parametrik modellerin oluşturulmasını sağlayan sağlam bir 3B modelleyicidir. Modeller, yapıcı katı geometri adı verilen bir teknik kullanılarak oluşturulur. Bu tekniğe göre, neredeyse her türlü karmaşık modeli oluşturmak için basit nesneler dönüştürülebilir ve birleştirilebilir.

Linux / UNIX, MS Windows ve Mac OS X işletim sistemlerinde kullanılabilir. Uygulamayı https://openscad.org adresinden indirebilirsiniz.

Bu uygulamayı diğer alternatiflerinden ayıran en büyük özellik çizim, tasarım ve modellerinizi kodlarla çalışarak yapmaktır. Fareden uzak çalışmayı sevenler için ideal uygulamalardan birisidir. Ben şahsen birçok CAD yazılımlarını kullanan birisi olarak OpenSCAD’a ayrı bir ilgi duyuyorum ve modelleme yaparken sıkılmadan muhteşem bir keyif ile çalışıyorum. Ancak bunun yazılımcı olmam ile bir alakası varmıdır bilemiyorum bunu da en güzel siz değerli kullanıcılar OpenSCAD uygulamasını deneyerek karar verebilirsiniz.

Sizleri bilmem ama bana kodlarla çalışmak daha pratik geldi. Hem bahse konu uygulama bilgisayarımı diğer CAD yazılımları gibi kasmıyor hem bana göre birçok kolaylık sunuyor. Kendi fonksiyon ve modellerinizi bir class mantığında hazırlayabiliyor ve başka model çalışmalarınızda mevcut çalışmaları tekrar tekrar modellemenize gerek kalmadan çalışmanızın içerisinden çağırıp kullanabiliyorsunuz. Bunlarla ilgili yazımızın ilerleyen aşamalarında sizlere detaylı bilgi vereceğim. Aynı zamanda modellemelerinizde parametreleri kullanarak bir çalışmanın farklı parametre değerlerine bağlı şekillerini tekrar herhangi bir çizim yada çalışma yapmadan görebiliyorsunuz.

Burada bazı temel OpenSCAD bilgilerini size aktarmaya çalişacağım;

OpenSCAD Editor

OpenSCAD Editor

Dikkat etmeniz gereken ilk şey, OpenSCAD penceresinin iki sütuna bölünmüş olmasıdır. Sol sütun, modellerinizi oluşturmak için OpenSCAD komut dosyası dilini yazacağınız bir metin düzenleyicidir. Oluşturacağınız herhangi bir model bu metin düzenleyicide “yazılacak”. Sağ sütunun üst kısmı, modellerinizin bulunacağı “sanal” 3B alandır. Şu anda orada bulmanız gereken tek şey açıklamalı X, Y ve Z referans eksenleridir. Sağ sütunun alt kısmı, siz modellerinizi oluştururken OpenSCAD’in herhangi bir hata mesajını veya diğer bilgileri yazdıracağı konsoldur. Dikkat etmeniz gereken son bir şey, metin düzenleyicinin üzerinde ve referans eksenlerinin altında bir eylem çubuğunun varlığıdır.

Temel Komutlar:

cube(10);

1- cube(10); : Yandaki komutu editöre yazdığımızda kenar uzunluğu 10mm olan mükemmel bir küp olacak. Kodu yazdıktan sonra referans eksenlerinin altındaki eylem çubuğundaki önizleme simgesine tıklamanız gerekiyor.
Bu komut bize verdiğimiz ölçüde bir küp yapabildiği gibi diğer parametrelerini kullanarak herhangi bir boyutta (genişlik,derinlik,yükseklik)te dörtgen ve dikdörtgen prizmalar elde etmemize olanak sağlar. Komutu tek parametre ile kullandığımızda verilen birim değerde küp oluşturur. Üç parametre ile kullandığımızda (genişlik, derinlik, yükseklik) verilen birim değerlerde prizma oluşturur. Dördüncü parametre (,center = true) ise x,y,z ekseninde hazırlanan modelin 0 noktasında ortalanması veya eksenlerin pozitif veya negatif yönünde kaydırılması içindir.

cube([10,20,30]); Bu komutla genişliği 10,derinliği 20 yüksekliği 30 birim olan bir prizma oluşturmuş olduk.

cube([10,20,30]);

cube([10,20,30], center = true);  Burada da center parametresinin modelin eksenler üzerindeki etkisini görelim.

center = true

center = true

Hazırlanan nesnenin x,y,z, ekseninde nasıl ortalandığını yukarıdaki ekran görüntüsünde görüyorsunuz.

2- translate (): İkinci  komutumuz translate() dir. Bu komut, bir nesne çizilmesi için yazılan komut veya komut bloğunun önüne yazılarak hazırlanan nesnenin x,y,z ekseninde istenilen birim uzaklığa taşınmasını sağlar, örnek olarak translate([20,30,50])cube(10); şeklindeki kullanımda 10 birim hazırlanmış küp nesnesini x ekseninde 20 birim, y ekseninde 30 birim ve z ekseninde 50 birim olarak taşır.

OpenSCADE Translate

translate([20,30,50])cube(10);

Nesnenin 0 (sıfır)  noktasından nekadar uzaklaştığını sizlerde farketmişsinizdir.

3- union(){} : union() komutu ise hazırlanan birden çok nesnenin bir bütün gibi birleştirilmesini sağlar.

union(){
translate([0,0,20])cube(10,center = true);//Küp
cube([10,20,30],center = true ); // Dörtgen Prizma
}

union()

union(){
translate([0,0,20])cube(10,center = true);//Küp
cube([10,20,30],center = true ); // Dörtgen Prizma
}

Yukarıdaki  kod bloğunda z ekseninde 20 birim taşınmış bir 10 birim küp ile 20,30,50 birim hazırlanmış bir prizmayı birleştirmiş ve artık union bloğunun arasındaki bu iki nesneyi tek parça olarak kullanabilirsiniz.

4- difference(){} : İki veya daha fazla nesnenin farkını alınmış bir nesne oluşturur. difference(){} bloğunun içerisindeki ilk nesne veya nesne union() ile birleştirilmiş nesne bloğundan  diğer nesne veya nesne bloklarını çıkarır kalan nesneyi bize suna. Aşağıdaki resimleri incelediğinizde diference() komutunu daha iyi anlayacağınızı düşünüyorum.

difference()

cube([10,20,30],center = true ); // Dörtgen Prizma
cube(15,center = true);//Küp

difference()

difference(){
cube([10,20,30],center = true ); // Dörtgen Prizma
cube(15,center = true);//Küp
}

5- intersection(){} : Bu komut ise bir veya birden çok nesnenin kesişimini alır kalanını yok eder kesişimini bir nesne olarak sunar.

difference()

cube([10,20,30],center = true ); // Dörtgen Prizma
cube(15,center = true);//Küp

intersection()

intersection(){
cube([10,20,30],center = true ); // Dörtgen Prizma
cube(15,center = true);//Küp
}

Şu ana kadar cube(), translate(), union(), diffrence(), intersection() komutlarını örnekleriyle sizlere sunmaya çalıştım. bir başka bölümde OpenSCAD’in  diğer komutlarından sizlere sunmaya çalışacağım. Bir sonraki paylaşımda görüşmek üzere çalışmalarınızda başarılar diliyorum.