

代碼如下:
主程式
Private Sub RunScript(ByVal x As Line, ByVal y As Integer, ByRef A As Object)
Dim lines01 As New List(Of Line)
lines01.Add(x)
For i As Integer = 1 To y
lines01 = koch(lines01) '問題1. Error (BC30311): 型別“System.Collections.Generic.List(Of Rhino.Geometry.Line)”的值無法轉換為“Rhino.Geometry.Line”。
Next
A = lines01
End Sub
子程式
Function koch(ln As Line) As List (Of Line)
Dim pl As Plane = plane.unset
Dim pt01,pt02,pt03,pt04,pt05 As Point3d
Dim vec01,vec02 As Vector3d
Dim line01, line02,line03,line04 As Line
Dim newLines As New List (Of Line)
If ln.TryGetPlane(pl) Then
pt01 = ln.From
pt05 = ln.To
vec01 = pt05 - pt01
pt02 = pt01 + vec01 / 3
pt04 = pt01 + vec01 * 2 / 3
vec02 = vec01 / 3
vec02.rotate(60 * math.PI / 180, pl.ZAxis)
pt03 = pt02 + vec02
line01.From = pt01: line01.To = pt02:newLines.Add(line01)
line02.From = pt02: line02.To = pt03:newLines.Add(line02)
line03.From = pt03: line03.To = pt04:newLines.Add(line03)
line04.From = pt04: line04.To = pt05:newLines.Add(line04)
End If
Return newlines
End Function
求各位大神解答!!謝謝
uj5u.com熱心網友回復:
koch(ln As Line)但是你在呼叫的時候
lines01 = koch(lines01) 卻傳入了一個List
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/25144.html
標籤:VB基礎類
上一篇:VB小白,求大神解讀。
下一篇:賽歐點吧
