3D列印技術之切片引擎(4)

2021-09-08 13:16:51 字數 2134 閱讀 5452

【此系列文章基於熔融沉積( fused depostion modeling, fdm )成形工藝】

這一篇文章我講一下多邊列印的問題,多邊列印是切片引擎的一項關鍵的技術。

圖1 雙邊列印

首先。它能夠保證列印實體表面免受內部填充的衝擊,保證外觀的真實度;其次,在上層在相對於下層傾斜較大時。多邊列印能夠非常好的起到支撐的作用,避免上層塌陷。

但是,眼下來說,我的多邊列印還不夠普適,對一些不規範的模型,以及模型中非常尖銳的特徵效果並不好,對絕大部分的較為平滑的模型是全然沒有問題的。

以下就簡單說一下它的原理:如果邊界中的隨意相鄰的向量ab和bc,這裡要找的是點d(角abc中心線上的一點),看下圖:

找出邊界環中每個相鄰向量的d點。工作就基本完畢了。

所以原理非常easy,僅僅只是是非常多瑣碎的細節須要處理好,比方說向量bd的方向問題。b點和d點的歐氏距離等等,不能再說了。再說就有誤導人之嫌。事實上這段時間細想。我的切片引擎的這些想法並無優秀可言。但是還是想把那段時間的工作記錄下來。僅此而已。閒話說幾句。這段時間在做與測繪相關的演算法,本來覺得能夠寫成博文與大家分享的東西,結果硬是變成了核心期刊上的**了,哎,僅僅是覺得那個東西離**水平的創新還有不小的距離啊,看來,國內的**質量……。呵呵。以下呈上**,當中getinnerboundary函式有些不夠規範。用了goto跳轉,並且一些細節也不是最科學,當初主要是趕進度,為了適應公司的建模能力不足。

void getangularbisector(float3 &bisector,float3 point,float3 leftpoint,float3 rightpoint)

else

if(v1[0]==v2[0])

else

}else

else

if(v1[0]==v2[0])

else

}else

}}void getinnerpoint(float3 &innerpoint,float3 point,float3 leftpoint,float3 rightpoint,float margin)

}void getinnerpoint(phasor *innerphasor,phasor *phasor,phasor*leftphasor,phasor *rightphasor,float margin,int fillmaterial)

void getinnerboundary(phasor *&innerphasors,phasor *phasors,int phasor_num,vector

> &closedset

,float lineheight,int fillmaterial,bool *innerboundarystatus)

for(indexmain=0;indexmain!=closedset.size();++indexmain)

else

phasorindexright=closedset[indexmain][(index+1)%closedset[indexmain].size()];

getinnerpoint(innerphasors+phasorindex

,phasors+phasorindex

,phasors+phasorindexleft

,phasors+phasorindexright

,margin,fillmaterial);

for(int i=0;i!=phasor_num;++i)

if(get_vector_distance2(innerphasors[phasorindex].beginpoint,phasors[phasorindex].beginpoint)>

get_vector_distance2(innerphasors[phasorindex].beginpoint,phasors[i].beginpoint))

}if(count>closedset[indexmain].size()/5+1)}}

}

3D列印技術之切片引擎(4)

此系列文章基於熔融沉積 fused depostion modeling,fdm 成形工藝 這一篇文章我講一下多邊列印的問題,多邊列印是切片引擎的一項關鍵的技術。圖1 雙邊列印 首先,它可以保證列印實體表面免受內部填充的衝擊,保證外觀的真實度 其次,在上層在相對於下層傾斜較大時,多邊列印可以很好的起...

3D列印技術之切片引擎(5)

此系列文章基於熔融沉積 fused depostion modeling,fdm 成形工藝 從這一篇文章開始,就開始說填充。在3d列印切片技術中,填充演算法是最核心的部分。3d列印技術的經常使用的指標包含 列印速度,穩固性,柔韌性,逼真度,密度 關係著使用列印材料的多少 都與填充演算法有著直接的關係...

3D列印技術之切片引擎(5)

此系列文章基於熔融沉積 fused depostion modeling,fdm 成形工藝 從這一篇文章開始,就開始說填充。在3d列印切片技術中,填充演算法是最核心的部分。3d列印技術的經常使用的指標包含 列印速度,穩固性,柔韌性,逼真度,密度 關係著使用列印材料的多少 都與填充演算法有著直接的關係...