完善主體資料,免費(fèi)贈(zèng)送VIP會(huì)員!
* 主體類(lèi)型
* 企業(yè)名稱(chēng)
* 信用代碼
* 所在行業(yè)
* 企業(yè)規(guī)模
* 所在職位
* 姓名
* 所在行業(yè)
* 學(xué)歷
* 工作性質(zhì)
請(qǐng)先選擇行業(yè)
您還可以選擇以下福利:
行業(yè)福利,領(lǐng)完即止!

下載app免費(fèi)領(lǐng)取會(huì)員

NULL

ad.jpg

Dynamo中如何繪制螺旋箍筋狀的螺旋線

發(fā)布于:2019-02-25 14:51:11

來(lái)福

更多

1、首先創(chuàng)建一個(gè)空列表“listPoints”,用于儲(chǔ)存各個(gè)點(diǎn)。

2、創(chuàng)建四個(gè)參數(shù)。

        “n”表示螺旋箍筋的圈數(shù),從點(diǎn)A到點(diǎn)B表示一圈,第二圈從點(diǎn)B開(kāi)始再向上;

        “r” 表示第一個(gè)點(diǎn)開(kāi)始的半徑,即從點(diǎn)A到中心點(diǎn)的距離;

        “h”表示每一圈的高度,即點(diǎn)A至點(diǎn)B的垂直距離;

        “angle”表示螺旋線在立面里展開(kāi)的角度。

        例如,想要得到點(diǎn)A上方的點(diǎn),就得考慮該點(diǎn)并不是在點(diǎn)A正上方,而是往外偏移一定的距離,該距離通過(guò)展開(kāi)的角度來(lái)控制。

3、定義第一個(gè)循環(huán),該循環(huán)定義螺旋的圈數(shù)。判斷元素是否介于區(qū)間[0,n],n是之前設(shè)置的圈數(shù)參數(shù),即表示每一圈執(zhí)行一次該循環(huán)。

4、定義第二個(gè)循環(huán),該循環(huán)定義點(diǎn)坐標(biāo)的三個(gè)分量。需要注意的是,從第一個(gè)點(diǎn)到第八個(gè)點(diǎn)在高度上是漸變的,但是在平面上對(duì)應(yīng)的半徑是一致的。

        要確定X和Y分量,首先要確定平面的半徑“r”,得到半徑以后通過(guò)余弦函數(shù)即得到X分量,通過(guò)正弦函數(shù)即得到Y(jié)分量。

        確定半徑的過(guò)程中,公式“h*tan(angle)”求得往外擴(kuò)展一圈在平面的投影距離,公式“(j + i*8)”表示“i”每次往外擴(kuò)展一圈,“j”都要從0到8為其擴(kuò)展取九次值,其中“i*8”表示每一圈共八段。

        “pi”表示180度,“2*pi”即360度。

        拿出一個(gè)點(diǎn)作為計(jì)算。例如,第二圈的起點(diǎn)?!癷 = 1”表示第二圈,“j = 0”表示第一點(diǎn),立面擴(kuò)展角度“angle”取“pi / 6”即30度。因此,X分量會(huì)等于“(1000 + (0 + 1*8)*500*tan(30)/8)*cos(0*2*pi/8) = 1288.675”。

        確定Z分量時(shí),先將每一圈的高度方向等分為八段,再通過(guò)乘法將等分的每一小段進(jìn)行累積。

        在第二個(gè)循環(huán)內(nèi)部將結(jié)果填入列表“l(fā)istPoints”,點(diǎn)將會(huì)依據(jù)順序填入空列表中。最后將列表“l(fā)istPoints”輸出。

附圖:

5、將Python Script的輸出端OUT連入節(jié)點(diǎn)ReferencePoint.ByPoint,該節(jié)點(diǎn)可將輸入的點(diǎn)轉(zhuǎn)換為參照點(diǎn)。

6、最后通過(guò)節(jié)點(diǎn)CurveByPoints.ByReferencePoints連接上一步生成的參照點(diǎn)生成Revit中的模型線。

本文版權(quán)歸腿腿教學(xué)網(wǎng)及原創(chuàng)作者所有,未經(jīng)授權(quán),謝絕轉(zhuǎn)載。

未標(biāo)題-1.jpg

上一篇:Revit樓梯案例分析下-樓梯繪制方法解析

下一篇:Navisworks怎么在整體模型中設(shè)置顯示陰影?