Curve Generation Algorithm Development

UCB ARCH 259 Robotic Fabrication

Mark Ma, Yasaman Yavari


The final object is to make something fantastic, while creating a workflow including techniques of 3D scanning, parametric modeling, robotic arm operations, 3D printing and bio-mechanical knowledge.

While breaking down the final object, Yasaman and I found our interest in the parametric modeling part. With instructions from Professor Simon, we began our quest to develop a robot-printing friendly curve generation algorithm. To be robot-printing friendly, the curve generated should have the following features:

  • Artistic (subjective)
  • Reasonably structured (objective)
  • As continuous as possible so that saves the trouble of reconnecting during printing (objective)


Base shape

With the conclusion that we’re to use elastic canvas for basic form-finding, the first step of our modeling would be simulating this process. Several opinions are available:

  • Use finite element method to find the exact shape of the canvas under loading
  • Use Kangaroo to simulate the physical process
  • Use minimal surface

The minimal surface method is dropped due to the fact that we are to use form-finding in reality. The FEA method, despite exact and promising, does not go well with the rest of the project with its model format. Considering that the modeling precision would not be a big issue in this step, Yasaman and I decided to use Kangaroo for base shape simulation.

The drawback of Kangaroo is that we can hardly define an isotropic elastic material. The Quadrilateral Mesh, despite simple and straightforward, promises the same modulus only in the orthogonal direction of the mesh UV basis.

Through careful modeling, I add another restriction at 45° and 135° of the UV basis, making it closer to an isotropic material. Considering the exact model are to be found out using real form-finding and 3D-scanner, the remaining error is neglected.

20200501 Base Shape
20200501 Base Shape

Structural reasonableness

Considering the problem to be print on the basic form, several ideas of curve generation have been proposed. One plan is to adopt optimized principle stress lines. The advantage is obvious, as such a structure would be very reasonable under loading. However, principal stress lines turned out hard to be adopted. The continuity of the principle stress line does not guarantee the well-distribution of these lines, which often leaves large holes in structure generated. Due to the high sensitiveness to shape and load, the principal stress lines are hard to manipulate too. Consequently, we decided to start from the curve generation itself.

Curve generation

Step 1. Curve generated according to force distribution

One way of curve generation is to divide and lengthen parts of a continuous curve, while keeping the curve away from intersecting with itself, which defines all the goals we need to implement this idea with Kangaroo:

  • Lengthen curve sections
  • Prevent curve from intersecting with itself

To adapt the generated curves responsive to structural behavior, it's natural to densify the area with large stress, which gives the third goal:

  • Curve distribution responsive to stress distribution

With these goals the curves are successfully generated, meeting all our objective goals. Further development should focus on the subjective part, aka the artistic effects.

20200501 Step 1
20200501 Step 1

Step 2. Curve generated freely

To gain more control of the curve generation, some restrictions have to be dropped. Now take a look back at the initial three goals, if we neglect the curve distribution requirement, we can achieve something looks very alike Zaha’s project.

20200501 Step 2
20200501 Step 2

Recall that Zaha’s project uses a manually defined base curve to approximate initial stress distribution, we now certainly have a better solution: to use the curve generated in 1st step as the base shape for 2nd step, which gives us the following result.

20200501 Step 12
20200501 Step 12

Step 3. Combination

There is an infinite number of curves we can generate by tweaking with all the parameters, and an even larger infinite number of combinations with different layer position, tube thickness, color, etc. For a quick example, this is what it will look like if we combine Step 1+2 as a thicker base layer and Step 2 as a thinner decoration layer.

20200501 Step 3
20200501 Step 3


The curve generation is a complex workflow not fully automated, as lots of attention needs to be paid to calibrate all the parameters in order to get the best shape. All generated curves have the potential to become the final project, with a combination of each other and further improvement based on printing practice.

Due to the virus situation nowadays, it’s becoming harder for our project to be actually constructed. I hope all these quests into curve generation can be preserved, developed, and applied in future practice.


  1. Zaha Hadid Design - Thallus for for White in the City Animation - YouTube

  2. Curve growth - differential growth (Where to Start?) - Grasshopper - McNeel Forum

Project: Large Waste Transfer Station

20190628 Large Waste Transfer Station 20190628 Large Waste Transfer Station

20190811 Large Waste Transfer Station 20200811 Large Waste Transfer Station

20190815 Large Waste Transfer Station 20200815 Large Waste Transfer Station


Directed by Prof. Yan Xiao.

Designed by Mark Ma.

Non-commercial project for research and demo purpose.

Project: Concrete Dragon

About the project

Concrete is something not often linked to boat, let alone dragon boat. Traditional concept of concrete based building material is embedded deeply not only in common folks but also in Civil Engineering students.

Concrete, usually Portland cement concrete (for its visual resemblance to Portland stone), is a composite material composed of fine and coarse aggregate bonded together with a fluid cement (cement paste) that hardens over time

Concrete - Wikipedia

Still, concrete is just a material, and material evolves as scientific progress advances. New material such as FRP rebars show even better performance than traditional steel rebars. Moreover, as its Chinese name indicated, concrete is just 'some sort of ash mixed and hardens', expanding its concept to a even higher dimension. Comparing to traditional boat building material, concrete has its own pros and cons.


  • Stain proof (v.s. steel)
  • Flexible shape (v.s. timber)
  • Economical (v.s. steel and timber)


  • Heavier than water and timber
  • Brittle
  • Low tensile strength

The whole project is aimed at exploiting the advantages of concrete while fixing its problems, expanding our knowledge of concrete through engineering practice.

Prototype 1.x - The First FRP Concrete Dragon Boat


A new type of boat construction method is proposed firstly by Prof. Yan Xiao. The basic idea is to use a self-hardening FRP cloth material as both concrete model and structural part that provides tensile strength.

20190615 Prototype 1.x Cross Section
20190615 Prototype 1.x Cross Section


FRP Clothes

This is some material recently become popular for its ability of free shaping and fast hardening. Most common scenario of usage is replacement of medical bondage and plaster, or electrical wire joint protection. The mechanism is really simple as it's just piece of FRP soaked into glue. Exposition to air solidify the glue in several minutes, providing the structure with some strength.

Things become interesting when several layers of such kind of material are glued together. As FRP clothes is extremely strong in tensile direction, even glue can sustain the relatively less strong shearing force, guaranteeing high bending and shearing strength.

Plastic Hull

A plastic hull is needed for this model, primarily for the shape control of the self-hardening FRP clothes. To achieve better dynamic performance, hull is modeled to be smooth and continuous - NURBS interposition of key points. Therefore, 3D-printing technology is adopted for precise realization of the model.

20190406 3D Printing
20190406 3D Printing
20190223 Modal Boat Hull
20190223 Modal Boat Hull
20190317 Modal Boat Covered by FRP with Kaihang Zhang
20190317 Modal Boat Covered by FRP with Kaihang Zhang


ECC concrete is a new kind of concrete which includes PVA fiber to increase its tensile strength and crack resistance. Ingredients are listed as below:

Quartz Sand 20-401.1
Silica Fume0.3
Mineral Powder0.1
Quartz Sand 3250.1
PVA Fiber
Water Reduce Agents0.10%
Early Strength Agents0.10%

Next Stage

Prototype 1.x focuses itself on boat construction. A boat floating on the water marked success of the first stage. On that occasion, however, path splits for two different prototypes though.

Prototype 2.x stays small and is optimized for wireless remote control. A concrete dragon boat (model) competition is later held based on this. Prototype 3.x is develped with optimization for man-powered sailing in a much larger scale - a real concrete dragon boat.

Prototype 2.x - ICDBC 2019


Fast, stable, swift steering

To make it fast, the boat has to be speed boat alike, narrow, and light. The concrete layer needs to be as thin as possible. For sure, boat surface still needs to be smooth and continuous.

To make it stable and swift steering, the boat has to be not that narrow in width, motors parallel to each other and as far away as each other as possible.

Power system

Duo RH-380 motors, 1500mAh Li-ion battery

Should gave adopted stronger motors.



CentOS7, php7.2, MySQL5.3, Nginx, WordPress Vultr Dallas

See Concrete Dragon Online.


Should have set limitations on motor power.


Should have provided ai version.

Should have made it clear that theme color can be switched.

Should have designed certificate templates.

Next stage

Should have adopted Arduino.

20190606 ICDBC Boat of My Team
20190606 ICDBC Boat of My Team
20190606 ICDBC Jury Committee with Boats
20190606 ICDBC Jury Committee with Boats
20190606 ICDBC Prof. Yan Xiao
20190606 ICDBC Prof. Yan Xiao
20190606 ICDBC Everyone
20190606 ICDBC Everyone

Prototype 3.x - The Great Dragon Boat


Strong, stable, light

The large boat is very different from the small boat as construction method can not be inherited directly. It is too slow for the hull to be 3d-printed out. Instead, EPS foam slices cut by CO2 laser are glued (or tied) up to form the basic model of the boat. A FRP clothes layer is then put on the foam, then concrete with FRP bars inside.

20190526 Laser Cut Plastic Foam
20190526 Laser Cut Plastic Foam

To make the boat strong, the boat is modeled even more smooth, to the extent that FRP rebars can be put inside the concrete from head to tail without cut or connect. Such smooth shape without any edge can be regarded as a 2-d arch, making the most of the compressive strength of the concrete. To make the boat stable, the boat should have a lower gravity center.

20190615 Prototype 2.x Cross Section
20190615 Prototype 2.x Cross Section
20190531 Great Dragon Boat Foam and Dr. Dade Lai
20190531 Great Dragon Boat Foam and Dr. Dade Lai
20190601 Great Dragon Boat Covered by Concrete
20190601 Great Dragon Boat Covered by Concrete
20190604 Great Dragon Boat under Painting
20190604 Great Dragon Boat under Painting
20190606 Great Dragon Boat
20190606 Great Dragon Boat

Next stage

  • Should have the whole boat hull made by solid EPS form.
  • Should have adopted sprayed concrete technique.
  • Should have used more PVA.
  • Should have used more FRP fiber clothes.



Yan Xiao 肖岩

Boat Designer, Engineer, Manufacturer, Website Programmer and Designer

Ke Ma 马克


Ke Ma 马克, Dade Lai 赖大德, Zhiwei He 贺智伟

Also thanks for help by

Anqi Tan 谭安琪, Yiqi Feng 冯亦奇, Kaihang Zhang 张开航, Zhekai Li 李哲楷, Mengjun Wang 王梦君, Guoli Wang 汪郭立, Yang Zhou 周洋, Shangchun Jiang 江上春, Cristoforo Demartino, Zicheng Bao 包梓成

Decoration by

Jiahui Liang 梁嘉惠, Ke Ma 马克, Sicheng Zhou 周思成, Anqi Tan 谭安琪, Qingyun Liu 柳青云

Concrete Recipe

Bo Shan 单波, Dade Lai 赖大德

Logistic Support by

Sicheng Zhou 周思成

Competition Rule Maker

Yan Xiao 肖岩, Ke Ma 马克, Yiqi Feng 冯亦奇, Anqi Tan 谭安琪, Kaihang Zhang 张开航

Activity Organizer

Hang Wu 吴行, Ke Ma 马克, Binbin Li 李宾宾, Yanlong Xie 谢焱龙, Sichen Zhou 周思成, Tao Li 李涛, Jiahui Liang 梁嘉惠, Zhiwei He 贺智伟, Dade Lai 赖大德, Haixiang Zhu 朱海翔, Yi Zhang 张旖, Chenchen Ye 叶晨晨, Qian Yu 余倩, Jinyan Yu 俞静琰, Fengqing Jiang 江凤清 and other volunteers from ZJUI

Special Thanks for

Logistic Support

Jiyao Guo 郭霁瑶, Zhaijin Jia 贾翟菁, Qingbing Xie 谢庆兵

Technical Support

Tianyi Han 韩天屹, Si Li 李斯


Yue Feng 冯越, Hanyin Shao 邵寒吟



Project: Waste Transfer Station

20190324 Waste Transfer Station 1.0.1 Day 1 20190324 Waste Transfer Station, by Y. Xiao, K. Ma

202001030925 Waste Transfer Station 202001030925 Waste Transfer Station, Photo by S.C. Zhou


Directed by Prof. Yan Xiao.

Designed by Mark Ma.

Non-commercial project for research and demo purpose.

Project: RE Frame

Non-commercial project for research and demo purpose.

Project Introduction

This project is based on the 1st-prize-winning project 'RE Frame' of the Bamboo Pavilion Competition in Mediterranean University of Reggio Calabria by Stefano Vitale and his team. It's an honor to join him in such a great project. All following are based on my own understanding of the project.


马克. 基于Grasshopper的曲面木结构网壳参数化设计研究[D]:[学士学位论文].南京工业大学土木工程学院, 2018.









关键词:木网壳 参数化设计 Grasshopper

Voronoi 4.2
Voronoi 4.2



感谢Grasshopper的开发者David Rutten以及整个社区,特别是Paneling Tools, Kangaroo(2), LunchBox, NGon, Karamba等插件和他们的开发者。他们的工作为本课题的开展提供了巨大的便利,并在实际应用中带给了我一些思路上的启发。





[1] 关于公布南京工业大学2018届本科生优秀毕业设计(论文)、优秀指导教师的通知


Designed by Mark Ma.

Non-commercial project for research and demo purpose.

Produced with

  • Rhino 6, Educantional License
  • Lumion 6, Trial License
  • Adobe Creative Cloud, Educational License