The interpreter project 

Set up

  gray line


About me

About shape grammars


gray line

The interpreter project

Set up

Create a grammar

Run a grammar

Get out of trouble

gray line

The Yingzao fashi project

gray line
Contact me

i (at) andrew (dot) li

gray line


Before you start

You need Rhinoceros3d version 5 (Windows) or 6 (Mac or Windows) or 7 (Mac or Windows). I haven’t tested version 7 (Mac) yet, but it’s probably okay. A full licensed version is best, of course; the interpreter may not work with an evaluation version.

For a Mac
  1. Download the library and instructions.
    1. ‘mac-package-v190713’. This is the library; it contains both the front and back ends. Download it here.

    2. ‘Sortal-documentation’. These are the instructions; download them here. (Thank you for writing them, Lilianka Julián!)

  2. Follow the instructions for installing the library. Note that ‘mac-package-v190713’ contains 30 items (29 mentioned in the instructions plus ‘’). Copy all 30 items.

  3. Save an archive copy of each in a safe place.

For a Windows machine
  1. Download the two libraries.

    1. ‘sortal_3D 180904 oAPI’. This is the back end library; download it here.

    2. ‘package v190713’. This is the front end library; download it here.

    3. Save an archive copy of each in a safe place.

  2. Install the back end library.

    1. Locate the folder named Lib. Where it is depends on which version of Rhino you are using. For version 6 (64-bit), the path name is:

        C:\Program Files\Rhino 6\Plug-ins\IronPython\Lib.

      For the 32-bit version, substitute:

        Program Files (x86).

      For version 5 or version 7, substitute:

        Rhino 5


        Rhino 7.
    2. In the back end library, locate the folder named site-packages:

        sortal_3D 180904 oAPI\sortal-setup\site-packages.

      In the Lib folder, locate the folder also named site-packages:


      Copy the contents (i.e., the folders named builtins, etc.) of the first site-packages folder into the second site-packages folder. The builtins folder should be located like this:


      and not like this:

    3. In the back end library, locate the folder named sortal:

        sortal_3D 180904 oAPI\sortal-setup\sortal-packages\sortal.

      Copy the sortal folder (i.e., with its contents) into the Lib folder. The sortal folder should be located like this:

  3. Install the front end library.

    Put the front end library in a location with an all-ASCII path name. This means that the name of the containing folder must not include (for example):

    • Chinese characters (like ‘文法’);
    • kana (like ‘ぶんぽう’ or ‘グラマー’);
    • non-Latin letters (like ‘γραμματική’); or even
    • Latin letters with accents (like ‘grámmar’).

    The same applies for the name of the folder containing that folder, and so on back to the hard disk.

    Be sure to use only the English input method. With other methods you can input English letters, but they may not have the ASCII codes.

  4. Set the module search paths

    1. Open Rhino. Open the Python script editor (Tools / PythonScript / Edit…). In the Python script editor, open Tools / Options…. Click the Files tab.

      Add the following module search paths. Do all three!

      1. ‘‹Rhino_name›\Plug-ins\IronPython\Lib’. This one is probably already there by default.

      2. ‘‹Rhino_name›\Plug-ins\IronPython\Lib\site-packages’.

      3. ‘…\package v190713\package’.

      ‹Rhino_name› is either:

      • ‘Rhinoceros 6’ or

      • ‘Rhinoceros 6 (64-bit)’,

      depending on whether you are using the 32- or 64-bit version.

    2. Click the Script Engine tab. Check Frames Enabled. Click OK.

    3. Restart Rhino.

If you’re hot to trot, now is a good time. If, on the other hand, you’d like to read some more instructions, go to the next page.

gray line

This lattice design is based on the standard Nakata curve. Can you identify it?

gray line