[]
Python ile 3D Modelleme Sorunu
Elimdeki alüminyum ekstrüzyon profilleri çizimlerini STL dosyasına çevirip, daha sonra bu STL dosyasını yükleyip 3D modelleme yapmak için aşağıdaki Python kodunu kullanıyorum ve modeli html dosyası olarak üretiyorum. Ancak, bu kodu kullanarak elde ettiğim 3D modelde pürüzsüz bir görünüm elde edemiyorum. Aynı STL dosyasını imageto2stl.com veya 3dfindit.com gibi sitelere yüklediğimde ise, çok daha kaliteli ve pürüzsüz bir 3D model görüntülenebiliyor.
Bu konuda yapılabilecek bir şey var mıdır acaba? Kendi kodumda mı sorun vardır? Yardımcı olabilirseniz çok sevinirim.
Teşekkürler.
"
import trimesh
import plotly.graph_objects as go
import numpy as np
# STL dosyasını yükle
file_path = '/mnt/data/stl_dosyam.stl'
mesh = trimesh.load(file_path)
# UP eksenini Y ekseni olarak ayarlamak için mesh'i döndürüyoruz
rotation_matrix = trimesh.transformations.rotation_matrix(
angle=np.radians(90), direction=[1, 0, 0], point=mesh.centroid
)
mesh.apply_transform(rotation_matrix)
# Dönüştürülmüş verteksleri ve yüzeyleri mesh'ten çıkar
vertices = mesh.vertices
faces = mesh.faces
# Yüzey rengi tanımla
surface_color = '#B0B0B0' # mat naturel eloksallı alüminyum rengi
# Dönüştürülmüş vertekslerle mesh3d objesi oluştur
mesh3d = go.Mesh3d(
x=vertices[:, 0],
y=vertices[:, 1],
z=vertices[:, 2],
i=faces[:, 0],
j=faces[:, 1],
k=faces[:, 2],
color=surface_color,
opacity=1.0,
flatshading=True,
showlegend=False
)
# Dönüştürülmüş vertekslerle figürü oluştur
fig = go.Figure(data=[mesh3d])
# Layout'u eksenleri, ızgaraları ve arka plan elemanlarını kaldıracak şekilde güncelle
fig.update_layout(
scene=dict(
xaxis=dict(visible=False),
yaxis=dict(visible=False),
zaxis=dict(visible=False)
),
scene_aspectmode='data',
paper_bgcolor='rgba(0,0,0,0)',
margin=dict(l=0, r=0, b=0, t=0)
)
# Figürü HTML dosyası olarak kaydet
html_file_path = '/mnt/data/3d_model_visualization.html'
fig.write_html(html_file_path)
html_file_path
"
ayrıca, benim ürettiğim görüntü ve bahsetiğim sitelerdeki 3d görüntüleyici ile elde ettiğim görüntünün karşılaştırması: prnt.sc
Bu konuda yapılabilecek bir şey var mıdır acaba? Kendi kodumda mı sorun vardır? Yardımcı olabilirseniz çok sevinirim.
Teşekkürler.
"
import trimesh
import plotly.graph_objects as go
import numpy as np
# STL dosyasını yükle
file_path = '/mnt/data/stl_dosyam.stl'
mesh = trimesh.load(file_path)
# UP eksenini Y ekseni olarak ayarlamak için mesh'i döndürüyoruz
rotation_matrix = trimesh.transformations.rotation_matrix(
angle=np.radians(90), direction=[1, 0, 0], point=mesh.centroid
)
mesh.apply_transform(rotation_matrix)
# Dönüştürülmüş verteksleri ve yüzeyleri mesh'ten çıkar
vertices = mesh.vertices
faces = mesh.faces
# Yüzey rengi tanımla
surface_color = '#B0B0B0' # mat naturel eloksallı alüminyum rengi
# Dönüştürülmüş vertekslerle mesh3d objesi oluştur
mesh3d = go.Mesh3d(
x=vertices[:, 0],
y=vertices[:, 1],
z=vertices[:, 2],
i=faces[:, 0],
j=faces[:, 1],
k=faces[:, 2],
color=surface_color,
opacity=1.0,
flatshading=True,
showlegend=False
)
# Dönüştürülmüş vertekslerle figürü oluştur
fig = go.Figure(data=[mesh3d])
# Layout'u eksenleri, ızgaraları ve arka plan elemanlarını kaldıracak şekilde güncelle
fig.update_layout(
scene=dict(
xaxis=dict(visible=False),
yaxis=dict(visible=False),
zaxis=dict(visible=False)
),
scene_aspectmode='data',
paper_bgcolor='rgba(0,0,0,0)',
margin=dict(l=0, r=0, b=0, t=0)
)
# Figürü HTML dosyası olarak kaydet
html_file_path = '/mnt/data/3d_model_visualization.html'
fig.write_html(html_file_path)
html_file_path
"
ayrıca, benim ürettiğim görüntü ve bahsetiğim sitelerdeki 3d görüntüleyici ile elde ettiğim görüntünün karşılaştırması: prnt.sc
1