read details below or proceed to official POINT CROWD WEBSITE >>

With McNeel’s beta release of Rhinoceros 5.0, RhinoScript is moving to a new syntax: Python. The new, more intuitive interface for manipulating Rhino from the inside gives users without prior programming experience the opportunity to quickly and easily create a wide variety of complex systems. In this three day workshop, we will introduce RhinoScript for all leveles of experience, including the basics of programming in Python as well as the working knowledge of how Rhino represents geometrical objects such as points, curves, surfaces and even text. We will then move into techniques for automating modeling tasks and generating algorithmic forms. This class is primarily for architects but anyone with a knowledge of Rhino is welcome.

The PointCrowd workshop was developed by Ari Kardasis and Masoud Akbarzadeh at MIT’s Design and Computation group as a way of bringing design scripting to the larger community. The curriculum is centered around developing practicable skills by having students work through each step of the process in code, learning first hand and in real-time. As designers, the teachers at PointCrowd understand the benefits and drawbacks of integrating scripting into the design process and this workshop highlights these differences in order to make the best use of the tool at hand.

Ari Kardasis

Ari is a member of the Computation and Design Group at The Massachusetts Institute of Technology. He received a Masters of Architecture from Princeton University where he participated expanding the computational profile of the school and completed a thesis focusing on the nature of information in architecture. He has a degree in mathematics from Brown University.

He blogs his work and interests at


Masoud Akbarzadeh

Masoud is a member of the Computation and Design Group and Master of Architecture at The Massachusetts Institute of Technology. He recieved his Master of Science in Earthquake Engineering from Iran University of Science and Tehcnology.

/////  schedule

Tuesday, June 8

The first day of PointCrowd is designed to provide a fast paced and rigorous introduction to Python and RhinoScript for users with no programming experience. By the end of the day, students will be able to write a complete program that queries the user for objects and manipulates them based on the principles of vector mathematics.

9:00 – Welcome and introduction An overview of the coming days.

9:30 – Hello World Familiarizing yourself with the Python editor in Rhino.

10:30 – Programming Essentials Variables, assignment, flow control, syntax, comments.

1:00 – Lunch

2:00 – Rhino Essentials Getting objects from the user and adding objects to Rhino space.

4:30 – Mathematics of Space Introducing vectors, coordinates and the logic of geometry.

5:30 – Wrap up and assignment Overview of the days events and a description of how best to advance your knowledge before tomorrow’s session.


Wednesday, June 9

On day two, we will delve into the specifics of RhinoScript commands and the nature of objects in Rhino. Students will learn the fundamental commands for manipulating and creating points, curves and surfaces from the scripting environment provided by Python. We will build on the logical operations from day one to manipulate complex geometry in sophisticated ways.

9:00 – Rhino Objects Understanding string identifiers and the ‘what’ command for inspection.

10:30 – NURBS Rhino’s representation of curved geometry and the mathematics involved in implementing it.

11:30 – Curves Using the wide array of available RhinoScript commands to manipulate and analyze curves and to understand their parameterization.

1:00 – Lunch

2:00 – Surfaces UV- coordinates, trimming, surface propagation and intersection as well as a sample of the available RhinoScript commands.

4:00 – Further Geometry A survey of what RhinoScript is capable of including commands like BoundingBox and Orient.


Friday, June 10

On the third day, we will provide the final tools that a student will need to make RhinoScript useful in day- to-day practice including algorithms for automation and advanced generative techniques. The afternoon will be spent in a working session, advancing individual student projects under the direct guidance of the instructors.

9:00 – Automation Making your modeling tasks easier with short scripts that can save time and make the design process more dynamic and facile.

10:00 – Generative Techniques Introducing attractors, cellular automata, mass/spring systems and other form generating algorithms. Students can begin to think about projects that they will be dealing with in the afternoon working session.

1:00 – Lunch

2:00 – Projects Students will be given an opportunity to advance their own projects from practice or the concepts learned in the course. This last half day of the course is meant to advance the individual needs of the class members. See: for past projects.