



I originally created my Rhino script in order to make extrusions of line work. The height of the extrusions is based on the layer on which the object is drawn. I initially used the script to create a couple of site models and some simple parts for a mill. I then moved on to using the script as a mapping tool. Extruding objects on an angle makes the line work appear as mesh. The further the extrusion the more dense the mesh. Basing the extrusion distances on data yields a new sort of way to visualize information. Because the mesh relies on density and transparency it is possible to easily overlay several layers of information.
-----------------------------------------------------------------------------------------------------------------------
SEE SCRIPT BELOW...
-----------------------------------------------------------------------------------------------------------------------
Option Explicit
'Script written by
'Script copyrighted by
'Script version Friday, March 14, 2008 12:43:00 PM
Call Main()
Sub Main()
'DECLARE VALUES
Dim arr1Start, arr1End
Dim objects
Dim strPath
Dim obj
Dim blnCap
Dim str1Layer
Dim str2Layer
Dim str3Layer
Dim str4Layer
Dim str5Layer
Dim str6Layer
Dim str7Layer
str1layer="01"'RELATE VALUE TO LAYER NUMBER
str2Layer="02"'RELATE VALUE TO LAYER NUMBER
str3Layer="03"'RELATE VALUE TO LAYER NUMBER
str4Layer="04"'RELATE VALUE TO LAYER NUMBER
str5Layer="05"'RELATE VALUE TO LAYER NUMBER
str6Layer="06"'RELATE VALUE TO LAYER NUMBER
str7Layer="07"'RELATE VALUE TO LAYER NUMBER
'BEGIN OPERATIONS
arr1Start=array(0,0,0)'CREATE AN ARRAY FROM THESE POINTS
arr1End=array(6,0,6)'TO THESE POINTS
objects=Rhino.ObjectsByLayer (str1Layer)'USING OBJECTS ON LAYER 2
For Each Obj In objects
strPath=Rhino.AddLine (arr1Start, arr1End)'TRACE ALL OBJECTS
Call Rhino.ExtrudeCurve (obj, strPath)'EXTRUDE EACH OBJECT TO ARRAY POINTS
Next
arr1Start=array(0,0,0)'CREATE AN ARRAY FROM THESE POINTS
arr1End=array(12,0,12)'TO THESE POINTS
objects=Rhino.ObjectsByLayer (str2Layer)'USING OBJECTS ON LAYER 2
For Each Obj In objects
strPath=Rhino.AddLine (arr1Start, arr1End)'TRACE ALL OBJECTS
Call Rhino.ExtrudeCurve (obj, strPath)'EXTRUDE EACH OBJECT TO NEW ARRAY POINTS
'THE ABOVE PROCESS CAN BE REPEATED AS MANY TIME AS
'THERE ARE DECLARED LAYER VALUES...
Next
Rhino.Command "_Cap"
'CAP ALL EXTRUSIONS
End Sub
'Script written by
'Script copyrighted by
'Script version Friday, March 14, 2008 12:43:00 PM
Call Main()
Sub Main()
'DECLARE VALUES
Dim arr1Start, arr1End
Dim objects
Dim strPath
Dim obj
Dim blnCap
Dim str1Layer
Dim str2Layer
Dim str3Layer
Dim str4Layer
Dim str5Layer
Dim str6Layer
Dim str7Layer
str1layer="01"'RELATE VALUE TO LAYER NUMBER
str2Layer="02"'RELATE VALUE TO LAYER NUMBER
str3Layer="03"'RELATE VALUE TO LAYER NUMBER
str4Layer="04"'RELATE VALUE TO LAYER NUMBER
str5Layer="05"'RELATE VALUE TO LAYER NUMBER
str6Layer="06"'RELATE VALUE TO LAYER NUMBER
str7Layer="07"'RELATE VALUE TO LAYER NUMBER
'BEGIN OPERATIONS
arr1Start=array(0,0,0)'CREATE AN ARRAY FROM THESE POINTS
arr1End=array(6,0,6)'TO THESE POINTS
objects=Rhino.ObjectsByLayer (str1Layer)'USING OBJECTS ON LAYER 2
For Each Obj In objects
strPath=Rhino.AddLine (arr1Start, arr1End)'TRACE ALL OBJECTS
Call Rhino.ExtrudeCurve (obj, strPath)'EXTRUDE EACH OBJECT TO ARRAY POINTS
Next
arr1Start=array(0,0,0)'CREATE AN ARRAY FROM THESE POINTS
arr1End=array(12,0,12)'TO THESE POINTS
objects=Rhino.ObjectsByLayer (str2Layer)'USING OBJECTS ON LAYER 2
For Each Obj In objects
strPath=Rhino.AddLine (arr1Start, arr1End)'TRACE ALL OBJECTS
Call Rhino.ExtrudeCurve (obj, strPath)'EXTRUDE EACH OBJECT TO NEW ARRAY POINTS
'THE ABOVE PROCESS CAN BE REPEATED AS MANY TIME AS
'THERE ARE DECLARED LAYER VALUES...
Next
Rhino.Command "_Cap"
'CAP ALL EXTRUSIONS
End Sub





2 comments:
Nice blog. I will keep reading. Please take the time to visit
my blog about betta fish http: betta fish
Post a Comment