🏗️ cad3d - 3D CAD ve Modelleme
3D katı modelleme, CSG operasyonları ve teknik çizim
📦 118 Fonksiyon
📝 1599 Satır
💾 52.8 KB
📋 Genel Bakış
cad3d modülü, 3D katı modelleme, CSG (Constructive Solid Geometry) operasyonları ve parametrik tasarım için araçlar sağlar. STL, OBJ, STEP formatlarını destekler.
📦 Temel Şekiller
- cad3d.Küp() - Küp/dikdörtgen prizma
- cad3d.Küre() - Küre
- cad3d.Silindir() - Silindir
- cad3d.Koni() - Koni
- cad3d.Torus() - Halka
🔧 CSG Operasyonları
- cad3d.birleştir() - Union (iki şekli birleştirme)
- cad3d.çıkar() - Difference (bir şekilden çıkarma)
- cad3d.kesişim() - Intersection (kesişim)
🔄 Dönüşümler
- cad3d.öteleme() - Taşıma
- cad3d.döndürme() - Döndürme
- cad3d.ölçekleme() - Ölçeklendirme
- cad3d.aynalama() - Simetri
📐 İleri Düzey
- cad3d.ekstrüzyon() - 2D'den 3D oluşturma
- cad3d.döndürerek_oluştur() - Revolution
- cad3d.süpürme() - Sweep
- cad3d.loft() - Kesitler arası geçiş
💾 Dosya İşlemleri
- cad3d.stl_dışa_aktar() - STL dosyası oluşturma
- cad3d.obj_dışa_aktar() - OBJ dosyası
- cad3d.step_dışa_aktar() - STEP dosyası
💡 Kullanım Örnekleri
Basit Mekanik Parça
kullan cad3d
// Ana gövde (dikdörtgen prizma)
değer gövde = cad3d.Küp(
genişlik: 50.0,
derinlik: 30.0,
yükseklik: 10.0
)
// Delikler için silindirler
değer delik1 = cad3d.Silindir(
yarıçap: 4.0,
yükseklik: 12.0
).öteleme(-15.0, 0.0, -1.0)
değer delik2 = cad3d.Silindir(
yarıçap: 4.0,
yükseklik: 12.0
).öteleme(15.0, 0.0, -1.0)
// Delikleri gövdeden çıkar
değer parça = gövde
.çıkar(delik1)
.çıkar(delik2)
// STL dosyası olarak kaydet
cad3d.stl_dışa_aktar(parça, "mekanik_parça.stl")
yazdır("✓ Parça oluşturuldu: mekanik_parça.stl")
Parametrik Vida Tasarımı
kullan cad3d
kullan math
fonksiyon vida_oluştur(
çap: Gerçek,
uzunluk: Gerçek,
adım: Gerçek,
kafa_çapı: Gerçek
) -> cad3d.Katı {
// Vida gövdesi
değer gövde = cad3d.Silindir(
yarıçap: çap / 2.0,
yükseklik: uzunluk
)
// Vida başı (altıgen)
değer başı = cad3d.Silindir(
yarıçap: kafa_çapı / 2.0,
yükseklik: çap * 0.7,
kenar_sayısı: 6
).öteleme(0.0, 0.0, uzunluk)
// Allen (altıgen yuva)
değer yuva = cad3d.Silindir(
yarıçap: kafa_çapı / 4.0,
yükseklik: çap * 0.5,
kenar_sayısı: 6
).öteleme(0.0, 0.0, uzunluk + çap * 0.3)
// Parçaları birleştir ve yuvayı çıkar
değer vida = gövde
.birleştir(başı)
.çıkar(yuva)
dön vida
}
// M6 vida oluştur
değer m6_vida = vida_oluştur(
çap: 6.0,
uzunluk: 40.0,
adım: 1.0,
kafa_çapı: 10.0
)
cad3d.stl_dışa_aktar(m6_vida, "m6_vida.stl")
yazdır("✓ M6 vida oluşturuldu")
Kutu Tasarımı (Kapak ile)
kullan cad3d
fonksiyon kutu_tasarla(
genişlik: Gerçek,
derinlik: Gerçek,
yükseklik: Gerçek,
duvar_kalınlığı: Gerçek
) -> (cad3d.Katı, cad3d.Katı) {
// Dış kutu
değer dış = cad3d.Küp(genişlik, derinlik, yükseklik)
// İç boşluk
değer iç = cad3d.Küp(
genişlik - 2.0 * duvar_kalınlığı,
derinlik - 2.0 * duvar_kalınlığı,
yükseklik - duvar_kalınlığı
).öteleme(0.0, 0.0, duvar_kalınlığı)
// Alt kutu (içi oyuk)
değer alt_kutu = dış.çıkar(iç)
// Kapak
değer kapak_yükseklik = duvar_kalınlığı * 3.0
değer kapak_dış = cad3d.Küp(genişlik, derinlik, kapak_yükseklik)
// Kapak iç kısmı (kutuya oturacak)
değer kapak_iç = cad3d.Küp(
genişlik - 2.0 * duvar_kalınlığı - 0.2, // 0.2mm tolerans
derinlik - 2.0 * duvar_kalınlığı - 0.2,
kapak_yükseklik - duvar_kalınlığı
).öteleme(0.0, 0.0, duvar_kalınlığı)
değer kapak = kapak_dış.çıkar(kapak_iç)
// Kapağı kutunun üstüne yerleştir
kapak = kapak.öteleme(0.0, 0.0, yükseklik)
dön (alt_kutu, kapak)
}
// 100x80x50mm kutu oluştur
değer (kutu, kapak) = kutu_tasarla(
genişlik: 100.0,
derinlik: 80.0,
yükseklik: 50.0,
duvar_kalınlığı: 2.0
)
// Ayrı dosyalar olarak kaydet
cad3d.stl_dışa_aktar(kutu, "kutu_alt.stl")
cad3d.stl_dışa_aktar(kapak, "kutu_kapak.stl")
yazdır("✓ Kutu ve kapak oluşturuldu")
yazdır(" - kutu_alt.stl")
yazdır(" - kutu_kapak.stl")
🎯 İyi Uygulamalar
- 3D yazıcı için duvar kalınlığı en az 2mm olmalı
- Hareketli parçalar için 0.2-0.5mm tolerans bırakın
- Karmaşık modelleri basit şekillere bölün
- Boolean operasyonlar sonrası mesh kalitesini kontrol edin
- STL export'ta yeterli çözünürlük kullanın
- Parametrik tasarım için fonksiyonlar oluşturun