STL Dosyasını Python ile Parametrik Olarak Değiştirme
STL dosyaları 3D baskı ve modelleme işlerinde yaygın kullanılır. Bir modeli ölçeklemek, döndürmek ya da belirli bölgelerini değiştirmek gerektiğinde her seferinde tasarım yazılımını açmak yerine Python ile hızlıca işi halledebilirsin.
Bunun için numpy-stl kütüphanesi ideal. STL dosyasını okur, üçgen ağını (mesh) NumPy dizileri olarak sunar ve değiştirdikten sonra yeni dosya olarak kaydedersin.
Önce kütüphaneyi kur:
1pip install numpy-stlŞimdi STL dosyasını yükleyip, tüm köşeleri (vertices) 2 katına ölçekleyen bir örnek:
1from stl import mesh2import numpy as np34# STL dosyasını oku5model = mesh.Mesh.from_file('model.stl')67# Tüm köşeleri 2 katına ölçekle8model.vertices *= 2910# Yeni dosya olarak kaydet11model.save('model_scaled.stl')1213print("Dosya kaydedildi: model_scaled.stl")Beklenen çıktı: model_scaled.stl dosyası, orijinal modelin iki katı büyüklükte oluşturulur.
Daha karmaşık bir örnek: Z ekseninde 45 derece döndür ve belirli bir eksende hareket ettir:
1from stl import mesh2import numpy as np34model = mesh.Mesh.from_file('model.stl')56angle = np.radians(45)7rotation_matrix = np.array([8[np.cos(angle), -np.sin(angle), 0],9[np.sin(angle), np.cos(angle), 0],10[0, 0, 1]11])1213model.vertices = np.dot(model.vertices, rotation_matrix.T)1415model.vertices += [10, 0, 0]1617model.save('model_transformed.stl')18print("Dönüştürülmüş model kaydedildi.")Sık yapılan hata: Döndürme işleminden sonra normal vektörleri (yüzeylerin yönünü belirten değerler) güncellemeyi unutmak. STL dosyası hem köşeleri hem de normalleri içerir. numpy-stl kütüphanesi model.update_normals() metoduyla bunu otomatik yapar, ama bazı işlemlerden sonra elle çağırman gerekebilir. Özellikle 3D yazıcıya göndermeden önce kontrol et.
0 yorum