OpenSCAD'de minkowski render'ı öldürüyor, hull veya BOSL2 ile daha hızlı yol var mı?

aysegul_resin0
491 4
0

Merhaba, atölyede FDM'i (A1) sadece ambalaj ve stand işleri için kullanıyorum. Son zamanlarda takı standlarını parametrik yapmak için OpenSCAD'e geçtim, ölçüleri değiştirip farklı yüzük ve kolye boyutlarına göre hızlıca stand çıkarabiliyorum.

Sorun şu: dış köşeleri yuvarlamak için cube'u bir sphere ile minkowski'ye sokuyorum. Preview fena değil ama F6 ile render aldığımda dakikalarca bekliyorum. Sphere'in $fn değerini düşürünce hızlanıyor ama bu sefer yüzeyde fasetler belli oluyor, stand vitrine konacağı için hoş durmuyor.

Şimdiye kadar denediklerim:

  • minkowski + sphere, $fn düşük: hızlı ama köşeler köşeli görünüyor
  • minkowski + sphere, $fn yüksek: güzel ama render çok uzun
  • köşelere 8 tane sphere koyup hull almak: çok daha hızlı, fakat içinde cep ve yuva olan parçalarda işe yaramıyor, hull her şeyi dolduruyor

BOSL2'deki cuboid'in rounding parametresinden bahsedildiğini gördüm ama henüz kurmadım. Kullanan var mı, minkowski'ye göre gerçekten fark ediyor mu? Bir de içi oyuk parçalarda hull mantığını parça parça uygulayıp sonra difference almak mantıklı mı, yoksa bu da bir yerde patlıyor mu?

Manifold backend'i açınca hızlandığını okudum, onu da denemedim açıkçası. Denemeden bilemezsin ama tecrübesi olan varsa önce onu dinlemek isterim.

Konuyu takip et

4 yorum

0
kerem_dsgn105

minkowski cidden render katili xd ben de grasshopper'a kaçmadan önce openscad'de vazo denemeleri yapıyodum, aynı acıyı çektim. bosl2 cuboid rounding bence efsane, köşeleri direkt hesaplıyo diye biliyorum, minkowski gibi her vertex'i dolaşmıyo. kurulumu da zor değil, library klasörüne atıp include ediyosun o kadar

manifold konusunda emin değilim ama bildiğim kadarıyla o daha çok preview tarafını hızlandırıyo, F6 render yine eski motorla gidiyo. yani bosl2'ye geçmek daha garanti gibi. bi deneyin

0
defne_cad276
Çözüldü

@kerem_dsgn manifold kısmında küçük bir düzeltme yapayım: açıkçası tam tersi, manifold backend'in asıl farkı F6 render'da. Preview zaten OpenCSG ile hızlı çalışıyor, yavaş olan kısım boolean işlemleri yapan eski motor. Manifold'u açınca o boolean'lar çok daha hızlı çözülüyor, minkowski de dahil. Stüdyoda parametrik ambalaj içleri için kullanıyorum, dakikalar süren render'lar bende saniyelere indi. Snapshot sürümlerde tercihlerden backend seçiliyor, normal sürümde göremeyebilirsin.

Bence şöyle:

  • Önce manifold'u aç, mevcut minkowski kodunu hiç değiştirmeden dene. Çoğu zaman bu tek başına yetiyor.
  • Yeni yazacağın parçalarda BOSL2 cuboid rounding kullan. Yuvarlatılmış kutuyu direkt polyhedron olarak üretiyor, minkowski'ye hiç girmediği için çok daha hafif. Sadece istediğin kenarları yuvarlamak için edges parametresi de var, stand tabanında alt kenarı keskin bırakabilirsin.
  • Hull + difference mantığı gayet sağlam: dış gövdeyi hull ile yuvarlat, cep ve yuvaları sonra difference ile çıkar. Patlamaz, hull'u cep içeren geometriye değil sadece dış kabuğa uyguladığın sürece sorun yok.

Bir de şunu ekleyeyim: faset meselesinde $fn yerine $fa ve $fs ile oynamak daha mantıklı. $fn her boyutta aynı segment sayısını veriyor, $fs ise küçük yarıçaplarda gereksiz yere yüzlerce yüz üretmiyor. Vitrin parçası için $fs'yi düşük tut, render süresi yine makul kalır.

edit: cepli parçada içteki köşeleri de yuvarlamak istersen BOSL2'de cep tarafını da rounding'li cuboid ile çıkarabilirsin, ayrı bir minkowski'ye gerek kalmıyor.

0
kerem_dsgn105

hmm tamam haklısın @defne_cad, ben karıştırmışım xd ozaman manifold açınca minkowski bile kurtarıyo demek. $fs olayını bilmiyodum cidden, not aldım

0
defne_cad276

Sorun değil :D Bu arada A1'de baskı alacaksan çok ince fasetler zaten layer line'ların arasında kayboluyor, $fs'yi aşırı düşürmeye gerek yok. Önce bir test parçası bas, vitrinde nasıl göründüğüne bak, sonra ayarı ona göre kısarsın.

Cevap yazmak için giriş yap