I offer you to read a translation of the article, where Azhar Khan tells about the entire process of designing a footbridge with Grasshopper and Tekla.

Предлагаю почитать перевод статьи, где Azhar Khan рассказывает о полном процессе проектирования пешеходного моста с применением Grasshopper и Tekla.

You can find the original article here.

Оригинал статьи тут.


Footbridge Render (Image courtesy DVVD)

Рендер пешеходного моста (изображение предоставлено DVVD)

Following up with our showcase of the use of computational tools on real projects, this time, we feature a complete breakdown of the workflows and strategies employed in the design, rationalization and construction of the Footbridge at ZAC Claude Bernard by DVVD Architects
Azhar Khan shares with us how did he together with his team at ELIOTH acted as consultants for this project and walk you through the whole process and problems they had to solve to build it.

Продолжая тему использования вычислительных инструментов в реальных проектах, в этот раз мы показываем проект, иллюстрирующий новый подход в проектировании, рационализации и конструировании пешеходного моста, разработанного DVVD Architects. Azhar Khan делится с нами, как он вместе со своей командой в ELIOTH выступает в качестве консультанта в этом проекте, рассказыват о всем процессе и проблемах, которые им пришлось решить, чтобы построить мост.

For most students and architecture firms, Rhino plays a significant role in the early stages of design where we can quickly develop ideas and test multiple iterations. Add Grasshopper to this and you have an intuitive visual-programming environment that allows you further flexibility. If like myself you have been using Grasshopper in a firm, then you have most probably used it more in the project at the beginning, found a working geometry, developed it further in Rhino and then either handed it to CAD or Revit for final drawings.

Для большинства студентов и архитеркутрых фирм Rhino играет значительную роль на ранних стадиях проектирования, где мы можем быстро развивать идеи и тестировать множество итераций. Добавьте Grasshopper к этому и вы получите интуитивную среду для визуального программирования, которая дает вам еще большую гибкость. Если вы, как и я, используете Grasshopper в фирме, тогда вы, скорее всего, используете его больше в начале проектирования, работая над поиском геометрии, разрабатываете ее дальше в Rhino, затем передаете в CAD или Revit для создания финальных чертежей.

This workflow is typical as Rhino models to produce a 3D drawing can only go so far until AutoCAD is needed to clean up and produce the ‘real’ drawings. So when the opportunity came to detail a bridge entirely in Grasshopper, I jumped on it, curious to see if it was even possible to take a project from conception all the way to a set of fabrication drawings by using just Rhino and Grasshopper. In the end we able to use Grasshopper to check clashes and clearances, rationalize geometry, detail each and every joint, and produce a model comprehensive enough (down to the bolts) that we made drawings from (with help from Tekla)!

Эта последовательность в рабочем процессе типична, Rhino  используется для создания 3d модели до тех пор, пока AutoCAD не требуется для создания “финальных” чертежей. Поэтому когда пришла возможность полностью спроектировать мост в Grasshopper, я отнесся к ней с большим интересом, думая о том, возможно ли на всех стадиях, от концепции до подготовки чертежей, использовать только Rhino и Grasshopper. В конце концов нам удалось использовать Grasshopper для проверки коллизий и зазоров, рационализации геометрии, деталировки каждого узла и создания достаточно детальной модели (вплоть до болтов) для выпуска чертежи (с дополнительным использованием Tekla)!

None of this would have been possible without the architects DVVD and their project, the footbridge at ZAC Claude Bernard. Our firm served as consultants, primarily as the team to figure out the geometry issues and help produce the drawings, particularly the steelwork. The project is a footbridge, the first I believe to cross the Peripherique, the circular highway that bounds the city of Paris. It connects the city to the Aubervilliers area to the North that has undergone some major renovation recently. I was very fortunate to be able to participate in this one a kind project, the success of which could promote further footbridges connecting the city to its suburbs.

Ничего из этого не было бы возможно без архитекторов DVVD и их проекта, моста в ZAC Claude Bernard. Наша фирма принимала участие в проекте в качестве консультантов, главным образом как команда, работающая с вопросами геометрии и помогающая разработать чертежи, в частности чертежи стальных конструкций. Проект  – пешеходный мост, пересекающий периферийную окружную дорогу, которая идет по границе Парижа. Этот мост соединяет город с территорией Обервилье, где были проведены капитальные ремонтные работы за последнее время. Мне очень повезло принять участие в проекте, успех которого может способствовать строительству и других пешеходных мостов, соединяющих город и пригород.

Footbridge architecture

Several challenges were facing us from the start. The bridge follows a twisting nature from beginning to end and has no symmetry. The cross section of the bridge is continuously changing which means that each member of the deck is unique in dimension. Also, as you traverse the bridge, no two members of any segment are parallel and, therefore, there are no planar surfaces inherent in the model. The overall shape of the footbridge was frozen and, therefore, was not going to be modified. What was going to change were the type of certain joints and member sizes/shapes. Adding, subtracting and modified elements at this scale would be enormous task if done by hand. The team asked to set up a Grasshopper model that represented the bridge’s primary elements.


Footbridge Render (Image courtesy DVVD)

Рендер пешеходного моста (изображение предоставлено DVVD)

Архитектура пешеходного моста

Несколько вызовов встретили нас в самом начале. Мост имеет закручивающуюся форму с начала и до самого конца, он не имеет симметрии. Сечение моста меняется, это значит, что каждый элемент уникален по своему размеру. Также нет параллельных элементов, более того, нет ни одной плоской поверхности в модели. Общая форма моста не должна была меняться. Что должно было меняться  – это типы определенных соединений, форма и размер элементов. Добавление, удаление и модификация элементов стали бы очень сложной задачей, если делать это вручную. Команде было предложено разработать модель в Grasshopper, которая представляла бы собой основные элементы моста.


Rhino Model base for Grasshopper (Image courtesy Elioth)

Модель в Rhino, которая является основой для разработки в Grasshopper (изображение предоставлено  Elioth)

I took the Rhino model from the architects as the base model that serves as all reference geometry for Grasshopper. The model consisted six free-form curves that define the structural trusses and lines that represent the segmentation of the footbridge. The typical cross section shows the architectural intention of the footbridge, a pair of triangular steel trusses that support a deck in between, all clad in wooden slats.

Я использовал модель из Rhino, которую сделлали архитекторы, как базовую, она содержала всю исходную геометрию для Grasshopper. Модель состоит из 6 кривых, которые определяют струкрутные фермы и линии, сегментирующие мост. Типовой разрез показывает архитектурный замысел моста, это пара треугольных стальных ферм, которые поддерживают основание между ними, все облицовано деревянными брусками.


Initial Grasshopper Model (Image courtesy Elioth)

Начальная модель в Grasshopper (изображение предоставлено  Elioth)

I was able to take the geometry and produce a simple model of the bridge’s primary steel structure. It was apparent that several issues needed to be addressed.

У меня была возможность взять геометрию и создать простую модель основной стальной конструкции моста. Было очевидно, что необходимо решить несколько вопросов.

1) Planarization. For economy, it was important that we use only planar panels for all the deck and cladding surfaces. This was not inherent in the architect’s design and we used Grasshopper to best approximate planar working surfaces for each segment of the bridge (in turn developing sets of work planes, edges and center points as well).

1) Планеризация. Для экономии было важно, чтобы мы использовали только плоские панели для всего основания и облицовочных поверхностей. Это условие не было выполнено в модели, созданной архитекторами, и мы использовали Grasshopper для того, чтобы сделать панели для каждого сегмента моста максимально приближенными к плоским (в свою очередь также создавая наборы рабочих плоскостей, граней и центральных точек).

2) Joint variation. Due to the shifting geometry of the bridge across its length, the deck structure intersects at different parts of the truss structure at each segment. These connections take on various forms depending on their relative location and we have to design a set of typical details that are applied automatically across the bridge and adapt to the changing geometry.

2) Вариативность соединений. Из-за сдвига геометрии по всей длине моста, структура основания пересекается с разными частями фермы в каждом сегменте. Эти соединения принимают разные формы, зависящие от местоположения элементов, поэтому нам необходимо было спроектировать наборы типовых деталей, которые смогли бы применяться автоматически для всего моста и адаптироваться к изменяющейся геометрии.

3) Rationalization. The form of the bridge was generated through a set of six free-form curves. To fabricate this truss, we would have to rationalize those curves somehow.

3) Рационализация. Форма моста была основана на шести свободных по форме кривых. Для того чтобы произвести такую ферму, нам необходимо было рационализировать эти кривые.

4) Drawings. In the end, even if we were able to generate a sufficiently detailed model of the bridge, how were we going to produce drawings from them? Use Rhino? Export to CAD?

I was convinced that Grasshopper could effectively address all these issues, except for the last one, I will get to that later.

4) Чертежи. Даже если бы у нас была возможность создать достаточно детальную модель моста, как мы смогли бы получить чертежи этой модели? Использовать Rhino? Экспортировать модель в CAD?

Я был убежден, что Grasshopper мог эффективно решить все эти вопросы, за исключением последнего, к этому я вернусь позже.

Model Development

The Grasshopper script grew as we modeled more elements into the parametric logic. We were at a stage where we could change element section profiles as needed, create custom joints for each intersection, and check clashes between our members. We even set up an algorithm that read a DWG file exported from GSA (a structural analysis program used by the engineers) and directly applied the engineering section profiles automatically to our Grasshopper model. This way any changes by the engineering team could be reflected quickly and accurately in our model.

Разработка модели

Скрипт был создан благодаря параметризации большого количества элементов. Мы могли изменять сечение элемента так, как это было нужно, создавать уникальные соединения для каждого пересечения и проверять геометрию на коллизии. Мы даже создали алгоритм, который читал DWG файл, экспортированный из GSA (программа для структурного анализа, которую использовали инженеры), и сразу применял профиль к нашей модели в Grasshopper. Таким образом, любые изменения, которые вносила команда инженеров, могли быть отражены в нашей модели быстро и точно.



Developing steel and wood elements from the wireframe model (Image courtesy Elioth)

Разработка стальных и деревянных элементов на основании каркаса модели (изображение предоставлено  Elioth)

Organizing the model into bays, segments, members etc. The organizational strategies evolved as the project requirements increased (Image courtesy Elioth)

Подразделение модели на отсеки, сегменты и отдельные элементы. Статегия группировки элементов развивалась по мере увеличения требований к проекту (изображение предоставлено Elioth)

Arc Rationalization

One of our challenges was figuring out a way to fabricate the truss as it followed a free form 3d geometry. The original intention was to convert the curves to polylines and construct them out of linear segments, but this meant that was an enormous amount of welding to be done. A suggestion was made to build the curves out of simple arcs, and I was asked to develop an algorithm to find the minimum best fitting arcs for each free-form curve to minimize welds and simplify construction.
I used Grasshopper’s built-in evolutionary solver, Galapagos, to achieve this. Each curve was broken down into smaller parts and converted to arcs. The deviation between the arcs and original curves were measured, and Galapagos had the job of finding the optimal arc configuration for each truss.

Один из вызовов заключался в том, чтобы понять, как произвести свободную по форме ферму. Изначально мы планировали конвертировать кривые в полилинии и составить их из прямых сегментов, но это значило, что мы получили бы огромное количество соединений. Появилось предложение составить кривые из простых дуг, и меня попросили разработать алгоритм, который находит минимизированное количество подходящих дуг для каждой кривой, чтобы сократить количество соединений и упростить конструкцию. Для достижения этой цели я использовал Galapagos, один из инструментов грасхопера, который реализует работу эволюционных алгоритмов. Каждая кривая была разбита на части и конвертирована в дуги. Отклонение между дугами и исходными кривыми было измерено, и Galapagos нашел оптимальную конфигурацию дуг для каждой фермы.


The original intention was to split the truss curves into linear segments and weld them together (above). In order to economize the project we found the best fitting arcs for each curve and minimized the number of welds (below) (image courtesy Elioth)

Изначально мы планировали разделить ферму на прямолинейные сегменты и соединить их (сверху). Для того, чтобы сэкономить, мы нашли максимально подходящие дуги, таким образом сократив количество соединений (внизу) (изображение предоставлено Elioth)

Box Section Optimization

You may notice from the image above that the trusses seem incomplete, that each truss appears to have a section missing. This is because near the ends of the trusses the members are so close together that they are consolidated into a box section. The box section is essentially a lofted surface comprising the remainder of segments and thus forms a doubly curved surface that again posed a construction challenge.
In order to rationalize this volume into a set of planar surfaces I once again used Galapagos. The box volume is formed by a series of triangles of different dimensions and angles. The idea was to choose one of the triangles and copy it over to the other section locations. We then adjust the scale of these sections to best match the original triangles and we make a new lofted surface. This surface now consists of planar surfaces as it is a lofted surface made from similar triangles. In order to find the right section to copy and the correct scaling values we ran Galapagos for each side of the truss.

Оптимизация боксов

Вы могли заметить на предыдущем изображении, что фермы выглядят незаконченными, у каждой фермы отсутствует сегмент. Близко к концам ферм элементы находятся настолько близко, что они объединяются в коробчатую секцию. Коробчатая секция – это по существу лофтовая поверхность, содержащая остаток сегментов, так формируется поверхность двойной кривизны, что является новой задачей для решения. Чтобы преобразовать этот объем в набор плоских поверхностей, я снова использовал Galapagos. Коробка формируется из серии треугольников с разной длиной сторон и разными углами. Появилась идея выбрать один из треугольников и скопировать его в другие секции. Дальше мы масштабируем треугольники так, чтобы они максимально совпали с исходными треугольниками, и делаем новую лофтовую поверхность. Эта поверхность теперь состоит из плоских поверхностей, т.к. она создана на основе подобных треугольников. Для того, чтобы подобрать правильное сечение и откорректировать фактор масштабирования, мы использовали Galapagos для каждой стороны фермы.


The original lofted form is doubly curved (left). The form was optimized by lofting a set of similar triangles to obtain surfaces comprising planar quads (right). Galapagos was used to determine the correct section size and scaling factors to minimize the deviation between the original and final forms (image courtesy Elioth)

Оригинальная лофтавая форма – поверхность двойной кривизны. Форма была оптимизирована благодаря созданию лофтовой поверхности, основанной на наборе подобных треугольников, это позволило получить поверхность, состоящую из плоских четырехугольных поверхностей. Galapagos был использован для того, чтобы определить нужный размер сечения и фактор масштабирования, что позволило минимизировать расхождение между исходной и финальной формой (изображение предоставлено Elioth)

Clashes and Measurements

Grasshopper was also used in checking for clashes and for taking quick, accurate measurements across the bridge. We used it to constantly measure the bridges impact over the highway to ensure that the allowable height for vehicles was clear and maintained. When it was breached, Grasshopper was used to make adjustments to the geometry to clear up some more space under the bridge.
Another task that Grasshopper proved useful was checking the distance between the wooden slats that clad the footbridge. The required spacing was a maximum of 11cm for safety purposes and to prevent littering. With Grasshopper not only could we measure the distance between the slats but also show the results visually. This was useful as we can then make live changes to the slat density and see the impact on the spacing.

Коллизии и измерения. 

Grasshopper был также использован для проверки коллизий и для того, чтобы быстро получать точные измерения. Мы постоянно измеряли высоту моста над шоссе, чтобы гарантировать, что необходимая высота для транспортных средств выполняется. Когда это условие нарушалось, Grasshopper использовался для того, чтобы внести необходимые изменения и добавить пространство под мостом. Еще одна задача, где понадобился Grasshopper, заключалась в измерении расстояний между деревянными брусками, которыми был облицован мост. Требуемое максимальное расстояние для соблюдения мер безопасности и предотвращения засоров – 11 см. С Grasshopper мы можем не только измерять расстояние между брускми, но и оценивать визуальный эффект от изменения плотности элементов, так мы могли наблюдать, как изменение параметра плотности влияло на пространство.




The script was used to check measurements such as those between the wooden slats for safety purposes. It was easy to visualize the gaps and make changes to the slat density (image courtesy Elioth)

Скрипт использовался для проверки расстояний, например, между деревянными брусками для соблюдения мер безопасности. Также было удобно вносить изменения в плотность элементов и оценивать визуальный эффект (изображение предоставлено Elioth)


So we can see where Grasshopper was useful in the modeling of the bridge. But what about the drawings? So far Grasshopper had worked extremely well on its own, and we had it synced up with GSA as well. So for the drawings we used Tekla, a program specializing in producing drawings from a 3D model, particularly for steel structures.
To accomplish this, we used GeometryGym, a plugin for Grasshopper that allows transfer of data between multiple platforms, including Tekla. The transfer was only one-way (Grasshopper to Tekla) and could be done live with the two programs open on the same computer. All we had to do was code our Grasshopper geometry into a set of lines, planes, points and vectors for Tekla to turn into plates, beams, and bolts, all at the click of a button.
This presented an interesting workflow challenge. In essence, we were now creating two models in Grasshopper. The first model was using standard Grasshopper definitions that allowed us to preview the geometry in Rhino. At the same time, each of these geometries had an equivalent Tekla definition in terms of planes, lines, points, and vectors and some text that also had to be created. One model was to view in Rhino and verify everything before the other model was sent to Tekla. It was quite difficult at first, but I developed a template that made my job a little easier. The result is that we were able to model almost the entire bridge, down to the bolts, in Grasshopper and send over the equivalent geometry to Tekla to construct the drawings. Below are a few of the screenshots from this process.


Итак, мы увидели, где Grasshopper был полезен в моделировании моста. Но что насчет чертежей? До этого момента мы использовали только Grasshopper с его родными инструментами, также мы синхронизировали его с GSA. Для разработки чертежей мы использовали Tekla, программу, которая специализируется на создании чертежей, основанных на 3d модели, в частности для стальных конструкций. Чтобы достичь этого, мы использовали GeometryGym, дополнене к Grasshopper, которое позволяет перекидывать информацию между несколькими платформами, включая Tekla. Экспорт был односторонним (из Grasshopper в Tekla) и мог быть реализован, если обе программы были открыты одновременно на одном компьютере. Все, что нам нужно было сделать  – это найти на основе нашей геометрии в Grasshopper набор линий, плоскостей, точек и векторов для Tekla, чтобы можно было преобразовать их в пластины, балки и болты. Это было интересной задачей. В сущности, мы теперь создавали две модели в Grasshopper. Первая модель позволяла нам посмотреть геометрию в Rhino. В то же самое время, каждый элемент моста имел эквивалент, определяющий элементы в Tekla (плоскости, линии, точки, векторы и некоторый текст, который также был необходим). Одна модель была для отображения в Rhino и проверки всего необходимого до отправки модели в Tekla. Это было достаточно сложно сначала, но я разрабтал шаблон, который сделал мою работу проще. В итоге мы могли смоделировать почти весь мост, детализируя его вплоть до болтов, в Grasshopper и отправить эквивалентную геометрию в Tekla для выпуска чертежей. Ниже вы найдете несколько скриншотов этого процесса.


The image on the left shows the Rhino view of the joint. This is then transfered to Tekla via GeometryGym to make the drawing package (right) (inage courtesy Elioth)

На изображении слева показан узел в Rhino. После он переводится в Tekla с помощью GeometryGym, чтобы сделать пакет документации (изображение предоставлено Elioth)



Due to the complexity of the bridge and the unique dimentions and orientations of each member, it was easier to model it entirely in Rhino (right) including the bolts and then transfer the geometry to Tekla (left) (image courtesy Elioth)

Из-за сложности моста и уникальных размеров и ориентаций каждого элемента, было проще смоделировать все полностью в Rhino (справа), включая болты, после чего отправить геометрию в Tekla (слева)  (изображение предоставлено Elioth)

A section view of the Tekla model showing the various components that were developed in Grasshopper and transferred to Tekla (image courtesy Elioth)

Разрез в Tekla, показывающий ряд элементов, разработанных в Grasshopper и отправленных в Tekla (изображение предоставлено Elioth)

Tekla (image cortesy Elioth)


In the end, I feel the entire team was impressed that we had taken the script this far. It was intended to help with the process but ended up playing a significant role in the modeling and the geometry transfer to Tekla. Not all of the bridge was made in Grasshopper of course, only the parametric parts, the main stretch of the bridge. The ramps and other areas were done by hand in Tekla. In an office where Grasshopper was used primarily to perform energy analyzes and to model parametric forms, I was glad that I had the opportunity to design a script that took it to a level that I had not seen myself before; one that dealt with constructability and real geometries. The entire process took around 8 months from start of the script to the last geometry transfer. Less than a year later the bridge was erected!

В конце концов, могу сказать, что вся команда была под впечатлением, что мы так далеко продвинулись со скриптом. Он был предназначен, чтобы помочь в процессе проектирования, а в конечном итоге сыграл значительную роль в моделировании геометрии и ее отправке в Tekla. Не все части моста были сделаны в Grasshopper, конечно, только параметрические части, основной участок моста. Скаты и другие участки были сделаны вручную в Tekla. В офисе, где Grasshopper применялся в основном для анализа энергии и моделирования параметрических форм, у меня появилась возможность создать скрипт, который позволил перейти на новый уровень; скрипт, где идет работа с конструкциями и реальной геометрией. Весь процесс занял около 8 месяцев. Меньше чем через год мост был построен!


Image courtesy Adrien Escoffler


Image courtesy Adrian Escoffler

You can find the original article here.

Background image: http://elioth.com/en/news/page/2/

Translation: Alexandra Boldyreva

Оригинал статьи тут.

Фоновое изображение: http://elioth.com/en/news/page/2/

Перевод: Александра Болдырева


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s