步驟1:螺旋樣條線
此步驟中使用的腳本是 SpiralSpline 和 SpiralSweepSolids ,可在此處找到https://github.com/sterlingcrispin/Fusion360API/
SpiralSpline .py
第一個草圖是通過點創建API樣本從Sketch樣條線改編而來的,其想法是從像樣條線這樣的簡單元素開始,并開始增加一些復雜性。
第6行:
導入數學庫以獲得三角函數
import math
作為與提供的API示例的第一個偏差,我嵌套了 points.add 函數在for循環中,該函數使用三角函數在XY平面上的圓上創建點,然后簡單地在Z方向上前進以形成螺旋樣條。
for i in range(10):
# from 0 to TWOPI radians as i increases
p = (i/9) * math.pi * 2
points.add(adsk.core.Point3D.create( math.cos(p), math.sin(p) , i ))
# Create a spline along those points
spline = sketch.sketchCurves.sketchFittedSplines.add(points)
下一步將其環繞,以創建一系列隨強度變化的螺旋樣條,
for j in range(10):
for i in range(10):
# from 0 to TWOPI radians as i increases
p = (i/9) * math.pi * 2
# scaled in intensity by each spline
p = p * (j/9)
# so the splines aren‘t on top of one another
xstep = j * 2
points.add(adsk.core.Point3D.create( math.cos(p) + xstep , math.sin(p) , i ))
# Create a spline along those points
spline = sketch.sketchCurves.sketchFittedSplines.add(points)
#delete any old points so the splines don’t become connected
points = adsk.core.ObjectCollection.create()
步驟2:將樣條掃入實體
SpiralSweepSolids.py
在此螺旋形樣條曲線集合的基礎上,此草圖在每個樣條線的開頭創建一個圓,并沿該樣條線向下掃掠以創建新實體
# Create a circle at the beginning of the spline
circles = sketch.sketchCurves.sketchCircles
circle1 = circles.addByCenterRadius(points[0], j/(tubeCount-2) + 0.1)
# Create a sweep input
prof = sketch.profiles.item(j)
path = rootComp.features.createPath(spline)
sweeps = rootComp.features.sweepFeatures
sweepInput = sweeps.createInput(prof,path, adsk.fusion.FeatureOperations.NewBodyFeatureOperation)
步驟3:重構和播放
SpiralSweepSolidsAlt.py
這時,我停止清理一些變量,例如 xstep,length 一個d radius ,因此可以分別調整它們并探究代碼的當前參數空間。還有一個名為 taper 的新變量,隨著管數的增加,螺旋線會向下傾斜。與其繼續在此指令中內嵌代碼,不如我切換到diffchecker.com的屏幕快照,該屏幕快照將僅顯示已更改的內容。像以前所有這些代碼都可以在我的github上找到一樣。
其中一些圖像還使用了代碼運行后手動完成的操作,例如對稱形式的 Create》 Mirror 。
步驟4:倒角和草圖平面
SpiralSweepXY.py
與之前的代碼一樣,可從https://github.com/sterlingcrispin/Fusion360API獲得
問題:
我想在第一組樣條中運行第二組樣條線,以創建一種編織網格,通過創建網格可以輕松實現zX平面上的第二個草圖,但是這些形狀的交點看起來很粗糙。對邊緣進行倒角似乎是一個很好的解決方案,但是“掃掠”功能導致形狀嚴重變形并使倒角失敗。
解決方案:
Fusion360 API中包含的 Pipe.py 示例中的代碼,并創建了垂直于樣條線(面向樣條線的方向)的草圖平面。我真的很喜歡此函數的輸出,它看起來更像Fusion360中的 Create》 Pipe 功能。
SweepNormalToSpline 是第一個函數,給定樣條曲線,半徑和文檔的根組件,該函數創建一個面向樣條線方向的新構造平面,繪制指定半徑的圓,將圓向下掃到樣條線,并返回一個掃描對象供您使用。再次從 Pipe.py 大量借用了這段代碼,但是我發現將其創建為函數確實很有幫助。
ChamferSweep 是第二個函數,非常簡單明了,它遍歷掃掠的每個面,然后遍歷每個邊緣,創建一組邊緣,然后將其倒角。編寫此類內容時,打開Fusion360 API參考有助于查找確切的倒角命令作為參數(邊的對象集合)以及如何從掃掠中獲取那些邊(嵌套循環)
我發現的另一個有用的提示是將設計設置為“直接設計類型” ,該記錄將停止記錄時間軸中的每個動作,這大大加快了腳本計算時間,而我沒有
步驟5:重構和播放
在這一點上我感覺像代碼真的開始變得有趣起來,因此我更改了控制基本形式的變量,例如長度,管數,樣條線段和半徑,以了解到目前為止,什么樣的形式會從參數空間中出來。如果您正在閱讀并繼續學習,建議您做同樣的事情,看看可以找到什么以及對您而言有趣的東西。
我開始注意到這種弧形拔罐形狀,這讓我想到了碗或花瓶。
步驟6:查找表格
SpiralSweepBowl.py
在對代碼進行實驗后,我以為可以形成一個碗并編輯原始樣條代碼以形成一個空腔,但是我認為它清楚地表明該腳本是
第7步:3D打印或渲染!
我使用Fusion360和Nylon-6-6材質設置在本地制作了這些渲染圖。如果您想對此表格進行3D打印,我會將其從93mm放大到150mm或您喜歡的任何尺寸。您可以在建模模式下使用 Modify》 Combine 工具將所有管組合到一個實體中進行3D打印,然后將其導出為STL
責任編輯:wv
-
軟件
+關注
關注
69文章
5155瀏覽量
89244
發布評論請先 登錄
評論