Follow Path.
Curve üzerinde dizin oluşturma..
Option Explicit
Sub SelfDividingPolyline()
Dim crvMaster, crvStamp
Dim Depth, Steps, s
Dim vertices, copies(), i
crvMaster = Rhino.GetObject("Select a curve to grow along...", 4, vbTrue, vbTrue)
If IsNull(crvMaster) Then Exit Sub
crvStamp = Rhino.GetObject("Select an open path curve for recursive stamping...", 4, vbFalse, vbFalse)
If IsNull(crvStamp) Then Exit Sub
If Rhino.IsCurveClosed(crvStamp) Then Exit Sub
If Not Rhino.IsPolyline(crvMaster) Or Not Rhino.IsPolyline(crvStamp) Then
Steps = Rhino.GetInteger("Specify a number of steps for smooth paths...", 3, 2, 100)
If IsNull(Steps) Then Exit Sub
End If
Depth = Rhino.GetInteger("To what depths are you willing to go?", 4, 1, 100)
If IsNull(Depth) Then Exit Sub
For s = 1 To Depth
vertices = PointsOnCurveSpecial(crvMaster, Steps)
If IsNull(vertices) Then Exit Sub
For i = 0 To UBound(vertices)-1
ReDim Preserve copies(i)
copies(i) = Rhino.OrientObject(crvStamp, Array(Rhino.CurveStartPoint(crvStamp), Rhino.CurveEndPoint(crvStamp)), _
Array(vertices(i), vertices(i+1)), 3)
Next
crvMaster = Rhino.JoinCurves(copies, vbTrue)(0)
Next
End Sub
SelfDividingPolyline
Function PointsOnCurveSpecial(strCurveID, amount)
Dim divPt
If Rhino.IsPolyline(strCurveID) Then
divPt = Rhino.PolylineVertices(strCurveID)
ElseIf Rhino.IsCurve(strCurveID) Then
divPt = Rhino.DivideCurve(strCurveID, amount)
Else
divPt = Null
End If
PointsOnCurveSpecial = divPt
End Function
Ekleyen: Mad_Max
Kapalı
Eklediğim Dersler
Ders Kategorileri
Yeni Dersler (Tutorials)
- Armor Modelleme
Ekleyen: Dereli - Ücretsiz Zbrush Dersi.
Ekleyen: BurakB - Corona Render ile Salon Görselleştirme
Ekleyen: barcelona1988 - Tek Bir Resimle Nasıl Sinematik Görüntü Ala Biliriz?
Ekleyen: PixlandPictures - After Effects - Script kullanmadan karakter rigleme
Ekleyen: PixlandPictures - 3dsmax landscape_ Making of Part1
Ekleyen: altıneldiven - Oyun yapımı dersleri 5 - Unity3D Sahne Duzeni
Ekleyen: drekon