Qualche giorno fa, per testare delle curve di sezione ed alcuni comandi ho scritto un semplice Rhinoscript che crea delle circonferenze lungo l'isoparametrica centrale di una superficie.
Ovviamente se avete EasyJewels3D potete trasformare i cerchi in pietre, mapparli sulla superficie e modificare il tutto come spiegato in questo post.
Lo script non è niente di particolare ma ho pensato che poteva essere interessante condividerlo.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Option Explicit | |
'Script written by <Aurelio Perugini> | |
'Script copyrighted by <Aurelio Perugini> | |
'Script version Monday, 21 September 2015 11:54:04 | |
'Revisione № | |
Call CirclesOnCentralIsocurve() | |
Sub CirclesOnCentralIsocurve() | |
Dim BaseSurface, SrfParameters, arrNormalized,CirclesPlane,i,subdivision,endpath,diameter | |
'subdivision = 20 | |
subdivision = Rhino.GetReal("Circles Number", 10, 1) | |
diameter = Rhino.GetReal("Circles Diameter", 1.4, 0.4) | |
diameter = diameter / 2 | |
BaseSurface = Rhino.GetObject("Select surface") | |
Rhino.EnableRedraw(False) | |
If Rhino.IsSurface(BaseSurface) Then | |
If rhino.IsSurfaceClosed(BaseSurface) Then | |
endpath = 0 | |
Else | |
endpath = 1 | |
End If | |
For i = endpath To subdivision | |
arrNormalized = Array(1 / subdivision * i, 0.5) | |
SrfParameters = Rhino.SurfaceParameter(BaseSurface, arrNormalized) | |
CirclesPlane = Rhino.SurfaceFrame(BaseSurface, SrfParameters) | |
Call rhino.AddCircle(CirclesPlane, diameter) | |
Next | |
Else | |
rhino.Print"Sorry, this script work only with one surface" | |
Rhino.EnableRedraw(True) | |
Exit Sub | |
End If | |
Rhino.EnableRedraw(True) | |
End Sub |
0 commenti:
Posta un commento