Circle From Normal
Çember..
Option Explicit
Sub CircleFromNormal()
Dim arrCenter, dblRadius
Dim ptOn1, ptOn2, crvDomain
Dim vecN, strCMD
Dim idLast, idNew
idLast = Rhino.FirstObject(vbFalse, vbTrue)
If IsNull(idLast) Then idLast = "Nothing"
Rhino.Command "-_Circle", vbFalse
If Rhino.LastCommandResult <> 0 Then Exit Sub
idNew = Rhino.FirstObject
If idNew = idLast Then Exit Sub
idLast = idNew
If Not Rhino.IsCircle(idNew) Then Exit Sub
arrCenter = Rhino.CircleCenterPoint(idNew)
dblRadius = Rhino.CircleRadius(idNew)
crvDomain = Rhino.CurveDomain(idNew)
ptOn1 = Rhino.EvaluateCurve(idNew, crvDomain(0))
ptOn2 = Rhino.EvaluateCurve(idNew, crvDomain(0) + (crvDomain(1)-crvDomain(0))/4)
vecN = CrossVector(Array(ptOn1(0)-arrCenter(0), _
ptOn1(1)-arrCenter(1), _
ptOn1(2)-arrCenter(2)), _
Array(ptOn2(0)-arrCenter(0), _
ptOn2(1)-arrCenter(1), _
ptOn2(2)-arrCenter(2)))
vecN(0) = vecN(0) + arrCenter(0)
vecN(1) = vecN(1) + arrCenter(1)
vecN(2) = vecN(2) + arrCenter(2)
Rhino.UnselectAllObjects
Rhino.SelectObject idNew
strCMD = "-_Orient _Copy=No _Scale=No" & _
" w" & Rhino.Pt2Str(arrCenter) & _
" w" & Rhino.Pt2Str(vecN) & _
" w" & Rhino.Pt2Str(arrCenter)
Rhino.Command strCMD, vbFalse
If Rhino.LastCommandResult <> 0 Then
Rhino.DeleteObject idNew
Exit Sub
End If
strCMD = "-_Scale _Copy=No" & _
" w" & Rhino.Pt2Str(arrCenter) & _
" w" & Rhino.Pt2Str(ptOn1)
Rhino.Command strCMD, vbFalse
End Sub
CircleFromNormal
Function CrossVector(vec1, vec2)
Dim ptCross(2)
ptCross(0) = ((vec1(1))*(vec2(2)) - (vec1(2))*(vec2(1)))
ptCross(1) = ((vec1(2))*(vec2(0)) - (vec1(0))*(vec2(2)))
ptCross(2) = ((vec1(0))*(vec2(1)) - (vec1(1))*(vec2(0)))
CrossVector = ptCross
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