Monoceros Pro for Grasshopper – pre-registration open now – more info coming soon

pre-registration open now – more info coming soon

arx.ace Monoceros Pro workshop in Vienna

More info & registration ????


Monoceros Pro is a new advanced version of Monoceros – a discrete assembly toolkit for Grasshopper developed by studio Subdigital. With Monoceros (and its WFC core) you can design and distribute a large number of modules into a spatial grid without any gaps, following meaningful connectivity rules.

At the workshop will experience Monoceros Pro from the very basics all the way to its advanced applications in architecture and urban planning. You will learn how to sample a small existing residential house and scale it to a large urban block. You will design rules for a village and let it grow into a large, well organized settlement.

You will earn a lifetime user license for Monoceros Pro. Grasshopper newcomesr will get free access to the original Arx.ace (formerly rese arch) Essential Grasshopper Sessions.

Important info


Live workshop aimed at Discrete architecture, Monoceros Pro and Grasshopper.

What will you learn

Discrete architectural design with Monoceros Pro with three example projects:

  • Industrial design
  • Residential architecture
  • Urban planning

What will you get

  • Access to the original Arx.ace (formerly rese arch) Essential Grasshopper Sessions
  • Lifetime user license for Monoceros Pro
  • Example files
  • Access to the workshop video recordings
  • ace certificate

Where and when

TBA, Vienna, May 2022

For whom

The workshop is aiming at architects, urban planners but may be useful for industrial designers and artists as well. Both, students and professionals are welcome.

The workshop is intended for advanced Grasshopper users but newcomers will obtain free access to the original Arx.ace (formerly rese arch) Essential Grasshopper Sessions to close the gap before the workshop.

The workshop will be held in English.

How long

4 days, in the evenings from 4pm to 10pm.

Who will be the tutor

Jan Pernecky, maker of Monoceros and Monoceros Pro




Own computer with the latest Windows version of Rhino 6 or 7.


Day 1

  • Introduction to Discrete architecture
  • Introduction to WFC
  • Introduction to Monoceros Pro: Modules, Rules, Slots -> WFC Solver -> Materilaizer
  • Example: Hello Monoceros Pro

Day 2

  • Design strategies with Monoceros Pro
  • Designing good Modules and Rules
  • Advanced design strategies
  • Example: Chandelier

Day 3

  • Source sampling – converting an existing design into discrete Modules
  • Feedback loop
  • Example: Residential block

Day 4

  • Interactive discrete assembly
  • Instant feedback and Constraint design
  • Example: A growing village

What is Monoceros Pro

Monoceros Pro is a Grasshopper plug-in that fills a discrete grid with Modules, leaving no blank space, respecting the given Rules. Monoceros is a contribution to the ongoing Discrete Architecture paradigm and to an emerging Constraint Design movement.

Monoceros Pro was developed at studio Subdigital by Ján Toth and Ján Pernecký. It is an implementation of the Wave Function Collapse (WFC) algorithm developed for game design by Maxim Gumin and extended and promoted by Oskar Stålberg with his game Townscaper.

Monoceros Pro is compatible with Rhinoceros 6 & 7 for Windows. Mac version of Rhinoceros is not supported!

Architecture of Monoceros Pro Grasshopper plug-in

The core of Monoceros is a Wave Function Collapse (WFC) Solver. WFC is an algorithm that fills the entire discrete envelope with Modules with no remaining empty Slot. In case of Monoceros, the envelope is a collection of rectangular cuboid Slots, each with 6 neighbors in orthogonal directions, not taking diagonal neighbors into account. The Modules are represented by their cages – cuboids exactly the size of a single Slot. Modules are containers for geometry that is eventually located along with the Module cage into the Slots.

WFC picks which Module should be placed into which Slot, leaving no Slot non-deterministic (with more than one Module allowed to be placed into the Slot) or empty / contradictory (no Module allowed to be placed into the Slot). Usually, there are less Modules (Module types) than Slots, which means each Module can be placed into Slots once, more times or not at all.

There are three main data types in Monoceros Pro: Slots, Modules and Rules. The purpose of Monoceros Pro is to place Modules into Slots according to connectivity Rules, leaving no Slot empty.

Slots refer to Modules and Rules refer to Module Connectors, which again refer to Modules. The reference to Modules is done only through user defined Module Names (strings / texts) for both, the Modules and their Connectors. This is an intention, so that the data sets (Modules, Rules or Slots) can be altered or shared across more Monoceros Pro setups.

Like Grasshopper itself, also Monoceros revolves around data and serves for its immutable processing. Immutability means, that no existing data is being changed but rather transformed and returned as a new instance of the respective data Type.

All Monoceros Pro plug-in components serve for constructing, analyzing and processing specific Monoceros Pro data Types. The components are designed in order to prevent redundancy, therefore they do not do anything, that could be easily done with vanilla Grasshopper. All new Monoceros Pro data Types are seamlessly integrated into Grasshopper and cast predictably from and to all relevant existing Grasshopper data Types. All Monoceros Pro Components are compatible with the existing Grasshopper data Types and ready to be used with existing Grasshopper components. Monoceros Pro is not dependent on any other Grasshopper plug-in and can be installed as the only add-on to Rhinoceros or Grasshopper. All Monoceros Pro components use the most basic Grasshopper interface, all inputs are being set via input pins and contain no special or hidden settings.

Monoceros Pro is very fast! The code has been thoroughly optimized so that there is no obvious bottleneck or a technological dept. Some Monoceros Pro components utilize multiple CPU cores, however this is entirely hidden and should not affect results or functionality. It works well even on older and slower computers, but it triggers a temptation to design large assemblies that may become slow to handle not because of the algorithms used but simply because they generate unusual amount of geometry. It is recommended to turn off preview for most Grasshopper components and to turn on the Profiler canvas widget in Grasshopper so that it is easy to find a slow component, which usually means some mistake in the Grasshopper definition itself.

Monoceros Pro is very verbose and does not hesitate to report everything thoroughly. Most components use Message bubbles to inform the user not only about Errors but also about some automated decisions made by the component. The main component named WFC Solver also yields a detailed and thorough text report in successful, less successful and erroneous cases. All input pins and components themselves contain a detailed description of their functionality, so looking into the Help makes sense with Monoceros Pro.

Upgrading from Monoceros to Monoceros Pro

Congratulations if you are upgrading from Monoceros to Monoceros Pro! We believe it will bring you a much better experience, the improvement in workflow will increase your productivity and the new approach will boost your creativity. It should be easy for you to learn Monoceros Pro. It still builds on the same principles but leaves more freedom and responsibility to you. Monoceros Pro is not a sequential next version of Monoceros but rather a spin-off tool for those users who lack advanced features and prefer having more control.

Monoceros Pro follows three basic principles:

  1. Less Monoceros, more Grasshopper: What can be done with vanilla Grasshopper should be done with Grasshopper.
  2. The tool is not the workflow: No design strategy, workflow, streamline should be part of the tool itself.
  3. No hidden behavior: No features, behaviors, rules or principles should be implicit.

These were the main strategies that caused the major changes while we were implementing the new features. Monoceros Pro is based on the same trinity of data types: Modules, Slots and Rules and on the same triad of procedures: data building, WFC solving and materializing.

Monoceros Pro strives to separate the tool from the design it creates. That enables scalability of the tool itself and your projects at the same time. The different approach also means that some concepts, tools and data types known from Monoceros are gone and few new ones are introduced. If needed, you will still be able to achieve the same results and even apply the same workflow, even though it would be implemented differently.

The data types and components of Monoceros Pro are not compatible with Monoceros. Even when the components or parameters may have the same name, they are not interchangeable. It is mainly because many things have changed, many things are new and many things are completely gone. Both versions of Monoceros can be installed on a single computer at the same time. Both versions of Monoceros can be used in a single Grasshopper definition if needed.

What is new

All features will be described separately in detail. The following things were added to Monoceros Pro or improved in comparison with Monoceros:

  • Module rotations, Module deduplication
  • 1014 unique Modules per solution are allowed – was 246
  • Module Connector is a data Type with a fixed name +X, -X, +Y, -Y, +Z, or -Z
  • compatible Connectors can be suggested also from voxelized geometry – was only from naked edges / points
  • Rule exclusivity for selected Connectors
  • detection of touching Slots / Modules – as a replacement for Modules with multiple Parts
  • Rules between a connector and a Module – no need to specify target Connector
  • Grid Box data Type that can be used as a Module cage or a Slot cell
  • support for a Heterogeneous Grid – rows of cells can have various dimensions
  • Modules can have various geometry versions for different Slot sizes
  • per Slot Module weights, weighted entropy, weighted observation
  • more detailed Solver report, Components hint Monoceros Pro version
  • Sample Geometry that automatically processes sample geometry into Modules and Slots ready to be reassembled by Monoceros Pro

Monoceros Pro is much faster than Monoceros, partly due to a different (simplified) tool set, partly thanks to parallelism (where applicable) and thorough code optimization:

  • Construct Slot: 6000x faster
  • Materialize: 50x faster
  • Slice geometry: 10x faster
  • Rotate Module: 7x faster
  • Sample Geometry: 6x faster
  • Deconstruct Slot: 1.5x faster
  • WFC Solver: 1x – 6x faster

Monoceros Pro has significantly less Components and the Grasshopper definitions using Monoceros Pro are smaller and better organized. It nevertheless offers unprecedented possibilities, creative freedom and thanks to its increased speed it is also more suitable to become a part of a larger optimization solution.

About the tutor

Ján Pernecký graduated from Slovak University of Technology (Slovakia / 2007), Academy of Fine arts and Design (Slovakia / 2008), Studied at Die Angewandte / Excessive III (Austria / Hernan Diaz Alonso, Steven Ma / 2011). Currently he is a PhD. candidate at UMPRUM (Prague / Imro Vasko / 2019 -).

Together with Ján Tóth he is the maker of the Monoceros Grasshopper plug-in. In 2016 a software architect at Vectary, an online 3d modelling tool. In 2019 co-authored a standalone voxel-based morphing software H.U.R.B.A.N. selector.

In 2010 Ján founded “rese arch” – a platform for support and teaching of conceptual and computational architecture. In 2012 he represented Slovakia and Czechia with an exhibition named “Asking architecture” at La Biennale di Venezia.

Since 2011 Ján has been a guest speaker at dozens of lectures and presentations internationally. Since 2013 organized and taught dozens of live international courses aimed at computational design, interactive design and robotic fabrication in Slovakia, Austria, Serbia, Czechia, The Netherlands, and Germany. He taught dozens of courses organized by universities in Italy, Poland, Spain, Slovakia, and Czechia. He is regularly a jury at critiques, and diploma/PhD. reviewer at various universities. In 2017 he has been a guest professor at an experimental architecture studio at VUT Brno, Czechia. In 2020 teaching a software course at IAAC / MRAC.

In 2015 he founded and taught “rese arch Sessions” – a platform for online teaching of computational design tools (Grasshopper and Processing). Organized a “rese arch MEETUP Conference” in Bratislava, SK (2015), Paris, FR (2016), Prague, CZ (2017), and Paris, FR (2018).

In 2016 Ján founded Subdigital, a studio aimed at digitally enhanced design.

Essentials: First Steps
Essentials: Lists and Conditions_01
Essentials: Lists and Conditions_02
Essentials: Vectors and Domains
Essentials: Bits and Pieces
Essentials: Trees


Be the first to add a review.

Please, login to leave a review
Enrolled: 63 students
Lectures: 6
Level: Intermediate