Category Archives: Scripting

Architectural Geometry Informed by Static and Dynamic Loading Conditions. 02

Different panelization options are generated via the code for the geometry with the assigned curve function:  F= sin (v)+cos (u). The script*  performed at RhinoScript platform. Because planar quadrilateral panels obtain advantage of having a lower node complexity and are feasible for manufacturing, planar quadrilateral panels are operated for the geometry. The code enables that the architectural designer can identify if the geometry contains any holes. If yes, then the shapes of them needs to be defined. The algorithm runs with the following procedural steps which the user needs to identify during the execution of the code:

  • Selecting the NURBS surface.
  • Defining the U and V values of the surface.
  • Specifying types of holes if exists any.
  • Introducing the shapes of the holes.
  • Defining the percentage of the holes within overall panels.
  • Deciding if the hole sizes vary or not.

*Special thanks to Fabio Mantuano.


Generative Design Through Coding 02


Option Explicit

‘Call sinusyuzeyi()
Sub sinusyuzeyi()
Dim cisim, nokta, i, noktaKoordinati
‘ girdiler: noktalar + cisim
cisim = Rhino.GetObject(“tekrarlanacak cisimleri seçiniz”)
nokta = Rhino.GetObjects(“cisimlerin atanacağı noktaları seçiniz”)
‘ tüm noktalar için döngü oluştur
For i = 0 To UBound(nokta)
‘ noktanın pozisyonu belirlenir
noktaKoordinati = Rhino.PointCoordinates(nokta(i))
‘ cismi belirlenen posizyona atama
Rhino.CopyObject cisim, Array(0,0,0), noktaKoordinati
End Sub

Generative Design Through Coding 01

This research offers to transform double-curved surfaces into components generated through algorithms based on McNeel Rhinoceros scripting platform. The extracted points of surfaces are transferred into a text document which can be manipulated by the user. Rhino script works in two stages, in which first the location of the text document is specified and then the components are applied. The intent is to generate a process, in which computational surface is transformed into a component based model.
all NoktaOkuma()
Sub NoktaOkuma()
‘ Aktarılacak dosyanın yeri belirtilir
Dim strFilter, strFileName
strFilter = “Text File (*.txt)
All Files (*.*)

“strFileName = Rhino.OpenFileName(“Noktaların bulunduğu dosyanın yerini belirtiniz”, strFilter)

If IsNull(strFileName) Then Exit Sub
‘ Dosya sistem cismi
Dim objFSO, objFile
Set objFSO = CreateObject(“Scripting.FileSystemObject”)
‘ Metin dosyasını açınız
On Error Resume Next
Set objFile = objFSO.OpenTextFile(strFileName, 1)
If Err Then
MsgBox Err.Description