91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么用OpenSCAD創建螺旋形結構物體

發布時間:2022-01-04 14:32:00 來源:億速云 閱讀:176 作者:iii 欄目:互聯網科技

這篇文章主要介紹“怎么用OpenSCAD創建螺旋形結構物體”,在日常操作中,相信很多人在怎么用OpenSCAD創建螺旋形結構物體問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么用OpenSCAD創建螺旋形結構物體”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

OpenSCAD不僅可以快速創建立方體、圓錐體、球體、橢球體、多邊形體等,還可以通過編程、循環等特性來創建螺旋體,如常見的螺栓、螺孔等,如下圖所示:

怎么用OpenSCAD創建螺旋形結構物體

下面給出建模的代碼:

module screw(type = 2, r1 = 15, r2 = 20, n = 7, h = 100, t = 8)
{
	linear_extrude(height = h, twist = 360*t/n, convexity = t)
	difference() {
		circle(r2);
		for (i = [0:n-1]) {
				if (type == 1) rotate(i*360/n) polygon([
						[ 2*r2, 0 ],
						[ r2, 0 ],
						[ r1*cos(180/n), r1*sin(180/n) ],
						[ r2*cos(360/n), r2*sin(360/n) ],
						[ 2*r2*cos(360/n), 2*r2*sin(360/n) ],
				]);
				if (type == 2) rotate(i*360/n) polygon([
						[ 2*r2, 0 ],
						[ r2, 0 ],
						[ r1*cos(90/n), r1*sin(90/n) ],
						[ r1*cos(180/n), r1*sin(180/n) ],
						[ r2*cos(270/n), r2*sin(270/n) ],
						[ 2*r2*cos(270/n), 2*r2*sin(270/n) ],
				]);
		}
	}
}

module nut(type = 2, r1 = 16, r2 = 21, r3 = 30, s = 6, n = 7, h = 100/5, t = 8/5)
{
	difference() {
		cylinder($fn = s, r = r3, h = h);
		translate([ 0, 0, -h/2 ]) screw(type, r1, r2, n, h*2, t*2);
	}
}

module spring(r1 = 100, r2 = 10, h = 100, hr = 12)
{
	stepsize = 1/16;
	module segment(i1, i2) {
		alpha1 = i1 * 360*r2/hr;
		alpha2 = i2 * 360*r2/hr;
		len1 = sin(acos(i1*2-1))*r2;
		len2 = sin(acos(i2*2-1))*r2;
		if (len1 < 0.01)
			polygon([
				[ cos(alpha1)*r1, sin(alpha1)*r1 ],
				[ cos(alpha2)*(r1-len2), sin(alpha2)*(r1-len2) ],
				[ cos(alpha2)*(r1+len2), sin(alpha2)*(r1+len2) ]
			]);
		if (len2 < 0.01)
			polygon([
				[ cos(alpha1)*(r1+len1), sin(alpha1)*(r1+len1) ],
				[ cos(alpha1)*(r1-len1), sin(alpha1)*(r1-len1) ],
				[ cos(alpha2)*r1, sin(alpha2)*r1 ],
			]);
		if (len1 >= 0.01 && len2 >= 0.01)
			polygon([
				[ cos(alpha1)*(r1+len1), sin(alpha1)*(r1+len1) ],
				[ cos(alpha1)*(r1-len1), sin(alpha1)*(r1-len1) ],
				[ cos(alpha2)*(r1-len2), sin(alpha2)*(r1-len2) ],
				[ cos(alpha2)*(r1+len2), sin(alpha2)*(r1+len2) ]
			]);
	}
	linear_extrude(height = 100, twist = 180*h/hr,
			$fn = (hr/r2)/stepsize, convexity = 5) {
		for (i = [ stepsize : stepsize : 1+stepsize/2 ])
			segment(i-stepsize, min(i, 1));
	}
}

translate([ -30, 0, 0 ])
screw();

translate([ 30, 0, 0 ])
nut();

spring();

    上面的幾何體生成代碼使用了module來進行幾何對象的封裝,這是新的OpenSCAD非常有用的一個特征。可以把零部件定義為一個Module,然后在使用時重復引用即可,非常便于創建具有大量的規則幾何形狀的物體。

到此,關于“怎么用OpenSCAD創建螺旋形結構物體”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

怀安县| 南漳县| 宁化县| 同江市| 浮梁县| 高尔夫| 永靖县| 福泉市| 九江县| 平凉市| 甘泉县| 进贤县| 涪陵区| 新竹县| 汤原县| 理塘县| 南乐县| 仪征市| 鄯善县| 平乐县| 汶川县| 青河县| 岳西县| 连城县| 安庆市| 吉安县| 江西省| 淄博市| 绍兴市| 香河县| 大方县| 水富县| 成武县| 乌海市| 大石桥市| 岫岩| 尉氏县| 张家川| 丰原市| 广宁县| 山阴县|