Dynamo Generative Design for Water Treatment Plant Layout

At Autodesk University 2025 I had about three minutes. The segment sits at 27:30 inside Sol Amour's session Exploring the Dynamo Product Road Map and Vision for the Future, which runs 46:30 in total, and the subject was water treatment plant layout generated with Generative Design. Three minutes is a reasonable amount of time to demonstrate that something works. It is nowhere near enough time to show another engineer how to rebuild it.

This month the same material had to become a twelve-hour course, delivered over two days to practising engineers at a public-sector training academy. Expanding a three-minute demo by a factor of two hundred and forty sounded absurd when I first wrote the number down, and then I built the curriculum and discovered that the ratio was never the interesting part. A demo and a course are not the same content played at different speeds. They are largely different content, and the portions that survive the translation are not the portions I would have predicted.

The demo skips the CAD data

In the AU segment the site data already exists. Boundaries are clean, the facility footprints are already objects, and the whole thing begins at the moment where optimisation begins. That framing is honest for a roadmap session, because the audience arrived to see where the product is going rather than to watch somebody prepare data.

In a classroom the same framing collapses immediately, because the first question from a working engineer is never about the optimiser. It concerns the drawing sitting on their own machine, which arrived as a CAD file from somebody else, with layers named by a convention nobody documented and polylines that do not close. So the entire first morning of day one goes to CAD data transformation and to making Dynamo recognise what it is looking at, covering site boundaries and facility information before a single alternative gets generated.

I want to be precise about the proportion, because it surprised me once I laid the two days out on a grid. Roughly a quarter of the course is spent on material that occupies zero seconds of the published demo.

Rectangles first, and the reason is not laziness

The teaching sequence starts with rectangles. Spaces and facilities in a treatment plant are predominantly rectangular, and although L-shaped and U-shaped footprints certainly exist, the workable method is to place the rectangular approximation first and modify it afterwards, rather than modelling every irregular outline before any layout logic runs at all.

From that single primitive the course builds outward through translation from point to point, expressed in Dynamo as a vector between a start point and an end point, then through multiple simultaneous translation, then rotation, then overlap detection. None of this is difficult in isolation. What makes it worth four hours of the first day is that Generative Design cannot evaluate a layout it was never able to generate, so the quality of the geometry logic sets a hard ceiling on everything that happens afterwards. Participants who rush this part will later write constraints the generator has no ability to satisfy.

Day one closes on the connection principle itself, meaning how a Dynamo graph that arranges facilities becomes a Generative Design study, with inputs and outputs declared in a form the solver can actually vary and measure.

Day two is about judgement rather than generation

The second day contains no new geometry technique at all. It opens with two consecutive blocks on adding placement criteria and placement rules, a section I would describe as rule sophistication, and the reason it consumes a full morning is that participants arrive believing the hard problem is generating alternatives. Generating alternatives is the easy half. Deciding which alternative is better is the half that requires domain knowledge, and it is also the half that cannot be copied out of a sample file.

The afternoon moves through output configuration and the criteria by which Dynamo and Generative Design judge a candidate, then to converting a chosen alternative back into real Revit elements, and finally to assembling the results onto sheets. That last block exists because a study ending inside the Generative Design window has not produced a deliverable. Somebody downstream needs drawings, and a workflow that cannot reach a sheet remains a demonstration rather than a method.

Publishing the materials, and where they can actually live

I decided to publish the course materials rather than hand them out only in the room, and the reasoning had almost nothing to do with the participants themselves. A cohort of twenty engineers visiting a link once is not a meaningful number by any measure I track. The material becomes worth publishing because a curriculum written for a specific two days is otherwise discarded on the third day, while the same content left in public keeps answering the narrow questions that brought people to it in the first place.

Choosing where to host it turned out to be less obvious than choosing whether to. Corporate networks at large Korean engineering firms frequently block external cloud storage, which means a class that depends on a shared drive link can stall in its first ten minutes while twenty people discover simultaneously that they cannot reach the file. The arrangement I settled on keeps the authoritative copy offline on physical media handed out in the room, treats the public repository as the durable mirror, and reserves the blog for the narrative that explains why any of it is arranged the way it is.

There is a second reason to separate those three destinations. Text that lives inside a compressed archive is invisible to search engines, so a post that consists of a single download link produces nothing durable, whereas the graph logic, the node names, and the error messages people will eventually paste into a search box are exactly the material worth writing out in full. A Dynamo file is technically a JSON document, and the parts of it that a reader needs to understand are readable prose once extracted, which makes the choice between attaching a file and explaining its contents considerably less binary than it first appears.

What actually transferred from the AU segment

Three minutes of published material survived into twelve hours as approximately the following: the problem statement, one worked case, and the shape of the result. Everything else in the course is scaffolding that the conference format had no room to carry, and constructing that scaffolding accounted for nearly all of the preparation effort.

I suspect this generalises beyond my own material. Conference talks and course material are frequently treated as one asset at two lengths, and organisations request the slides when the thing they actually need is the method. The slides genuinely do not contain the method. They contain evidence that a method exists.

What I could not verify

Several statements above are claims about my own course rather than measured facts, and I would rather mark them than allow them to read as conclusions.

I have not yet taught this version. The twelve-hour structure described here is the planned curriculum, so anything I say about how participants respond to a given block is a prediction drawn from previous sessions and not an observation from this one. I will update this post afterwards with whatever needed more time than I allocated, and my expectation is that the CAD preparation block becomes the one that overruns.

I also cannot claim that the rectangle-first sequence is optimal, or even that it is measurably better than starting from the irregular outlines directly. It happens to be the sequence that has worked for me, and I have never taught the alternative ordering to a comparable group, so I have no basis for comparison beyond preference.


3분짜리 발표를 12시간 강의로 다시 만들면서

Autodesk University 2025에서 제게 주어진 시간은 3분 남짓이었습니다. Sol Amour의 세션 Exploring the Dynamo Product Road Map and Vision for the Future 안의 27분 30초 지점, 전체 46분 30초 중 그 자리였고, 주제는 Generative Design으로 생성한 수처리시설 배치였습니다. 3분은 "이게 된다"를 보여주기에는 충분한 시간입니다. 다른 엔지니어가 그걸 자기 손으로 다시 만들 수 있게 하기에는 전혀 충분하지 않습니다.

이번 달에 같은 내용을 12시간짜리 2일 과정으로 다시 만들어야 했습니다. 공공기관 교육과정이고, 수강생은 현업 엔지니어입니다. 3분을 240배로 늘린다는 문장을 처음 적었을 때는 말이 안 된다고 생각했는데, 커리큘럼을 다 짜고 나니 배수는 애초에 중요한 숫자가 아니었습니다. 데모와 강의는 같은 내용을 다른 속도로 재생한 것이 아닙니다. 상당 부분이 아예 다른 내용이고, 살아남는 부분도 제가 예상한 부분이 아니었습니다.

데모는 CAD 도면 정리를 건너뛴다 — 다이나모 레이어 인식과 폴리라인

AU 발표에서는 대지 데이터가 이미 존재합니다. 경계는 깨끗하고 시설물 외곽선은 이미 객체이며, 이야기는 최적화가 시작되는 지점에서 시작합니다. 로드맵 세션으로서는 정직한 구성입니다. 그 자리의 청중은 제품이 어디로 가는지를 보러 온 것이지, 누가 데이터를 정리하는 걸 보러 온 게 아니니까요.

강의실에서는 그 구성이 즉시 무너집니다. 현업 엔지니어의 첫 질문은 한 번도 최적화 알고리즘에 관한 것이었던 적이 없습니다. 질문은 자기 PC에 있는 그 도면에 관한 것입니다. 남이 넘겨준 CAD 파일이고, 레이어 이름 규칙은 아무도 문서화하지 않았으며, 폴리라인은 닫혀 있지 않습니다.

그래서 1일차 오전 전체가 CAD Data 변형 및 Dynamo 인식에 들어갑니다. 대안을 한 개라도 만들기 전에 대지 경계와 시설물 정보를 정리하는 과정입니다. 다루는 것은 이렇습니다.

  • DWG/DXF 가져오기와 레이어 필터링 — 이름 규칙이 문서화되지 않은 도면이 대부분이므로, 이름이 아니라 속성으로 거르는 경로를 항상 함께 만듭니다
  • 닫히지 않은 폴리라인 판별과 보정 — 육안으로 닫혀 보이는 폴리라인이 실제로는 열려 있습니다. 반드시 기계로 검사합니다
  • 좌표계와 단위 변환 — 마지막에 하면 이미 늦습니다

두 날을 표로 펼쳐놓고 비율을 세어보고 놀랐습니다. 강의의 약 1/4이 공개된 데모에서는 0초를 차지하는 내용입니다.

Rectangle(REC)부터 시작하는 이유 — 이동·회전·겹침

교육 순서는 사각형에서 시작합니다. 수처리시설의 공간과 시설물은 대체로 직사각형이고, ㄱ·ㄴ·ㄷ 형태도 물론 존재하지만 실무적으로는 Rectangle(REC)로 먼저 근사해 배치를 검토한 뒤 나중에 변형하는 편이 빠릅니다. 모든 비정형 외곽선을 먼저 모델링하고 나서 배치 로직을 돌리는 순서는 잘 굴러가지 않습니다.

이 하나의 기본 도형에서 출발해 다음으로 확장합니다.

  • 점에서 점으로의 이동 — Dynamo에서 방향은 Vector로 표현되고, 시작점과 끝점을 Input으로 연결하는 노드를 씁니다
  • 단수 이동 → 다중 이동 → 회전 → 겹침 판정

하나하나는 어렵지 않습니다. 그런데도 1일차 오후 네 시간을 여기에 쓰는 이유가 있습니다. Generative Design은 자기가 애초에 만들어낼 수 없는 배치를 평가하지 못합니다. 형상 로직의 품질이 그 뒤에 오는 모든 것의 상한을 정합니다. 이 부분을 대충 넘긴 사람은 나중에 생성기가 만족시킬 방법이 없는 제약을 쓰게 됩니다.

여기서 자주 나오는 함정 하나만 적어둡니다. list rank / list level을 틀리면 결과가 조용히 잘못 나옵니다. 형상이 나왔다고 맞는 것이 아닙니다. 빈 브랜치와 null이 섞이면 그 다음 노드가 통째로 실패합니다.

1일차는 연결 원리로 닫습니다. 시설물을 배치하는 Dynamo 그래프가 어떻게 Generative Design 스터디가 되는가, 즉 솔버가 실제로 변화시키고 측정할 수 있는 형태로 Input과 Output을 선언하는 방법입니다.

2일차는 생성이 아니라 판단 — 배치 기준과 배치 규칙

2일차에는 새로운 형상 기법이 하나도 없습니다. 배치 기준 및 배치 규칙 추가 두 블록으로 시작하는데, 오전을 통째로 쓰는 이유는 수강생 대부분이 "어려운 문제는 대안을 만드는 것"이라고 믿고 오기 때문입니다.

대안을 만드는 쪽이 쉬운 절반입니다. 어느 대안이 더 나은지 정하는 쪽이 도메인 지식을 요구하고, 그 절반은 샘플 파일에서 복사할 수 없습니다.

규칙을 다룰 때 두 가지를 강조합니다.

  1. 제약을 쓰기 전에 그 제약을 만족하는 배치가 존재하는지 먼저 확인합니다. 만족 불가능한 제약이 가장 흔한 실패입니다
  2. 규칙을 한꺼번에 넣으면 어느 규칙이 결과를 지배하는지 알 수 없습니다. 하나씩 넣고 확인합니다

Generative Design 결과를 Revit 요소로, 그리고 시트로

오후는 출력 설정으로 넘어갑니다. Dynamo와 Generative Design이 후보를 판단하는 기준, 즉 목적함수와 제약을 수치로 정의하는 단계입니다. 목적이 서로 상충하면 파레토 관점으로 봐야 합니다. 하나의 점수로 합쳐버리면 정보가 사라집니다.

그다음이 대안 생성 및 Revit 요소 검토입니다. 선택한 대안을 실제 Revit 요소로 되돌리는 단계이고, 여기서 걸리는 것은 대체로 알고리즘이 아니라 Revit API 쪽입니다.

  • 트랜잭션 경계를 잘못 잡으면 일부만 생성되고 나머지가 사라집니다
  • 유효하지 않은 형상이 하나 섞이면 전체 생성이 중단됩니다. 생성 전에 걸러냅니다
  • 링크 모델 좌표 변환을 빠뜨리면 요소가 엉뚱한 곳에 생깁니다

마지막 블록은 출력 Sheet 구성입니다. 이 블록이 존재하는 이유는 분명합니다. Generative Design 창 안에서 끝난 스터디는 납품물이 아닙니다. 후속 공정에 있는 누군가는 도면을 필요로 하고, 시트까지 도달하지 못하는 워크플로는 방법론이 아니라 시연으로 남습니다.

자료를 공개하는 이유, 그리고 어디에 두는가

교육 자료를 강의실 안에서만 나눠주지 않고 공개하기로 했습니다. 이유는 수강생과 거의 상관이 없습니다. 스무 명이 링크를 한 번 방문하는 것은 제가 보는 어떤 지표로도 의미 있는 숫자가 아닙니다. 공개할 가치가 생기는 지점은 다른 데 있습니다. 특정한 이틀을 위해 쓴 커리큘럼은 사흘째에 폐기되지만, 같은 내용을 공개해두면 애초에 사람들을 그 페이지로 데려온 좁은 질문들에 계속 답합니다.

어디에 둘 것인가는 공개할 것인가보다 덜 자명한 문제였습니다. 국내 대형 엔지니어링사 사내망은 외부 클라우드 저장소를 자주 차단합니다. 공유 드라이브 링크에 의존한 강의는 시작 10분 만에 스무 명이 동시에 "파일이 안 열린다"를 발견하면서 멈출 수 있습니다. 그래서 이렇게 나눴습니다.

목적지역할
오프라인 매체 (강의실 배포)정본. 링크에 의존하지 않는다
공개 저장소지속되는 미러. 샘플 파일과 각 단계 설명
블로그왜 이런 구성인지에 대한 서술

세 목적지를 나누는 두 번째 이유가 있습니다. 압축 파일 안에 있는 텍스트는 검색엔진에 보이지 않습니다. 다운로드 링크 하나로 이루어진 글은 아무것도 남기지 않습니다. 반대로 그래프 로직, 노드 이름, 그리고 사람들이 결국 검색창에 붙여넣게 될 에러 메시지는 전문으로 써둘 가치가 있는 재료입니다. .dyn 파일은 기술적으로 JSON 문서이고, 독자가 이해해야 하는 부분은 꺼내놓으면 읽을 수 있는 글이 됩니다.

AU 발표에서 실제로 넘어온 것

공개된 3분에서 12시간으로 살아남은 것은 대략 이렇습니다. 문제 정의, 하나의 실제 사례, 결과의 형태. 강의의 나머지 전부는 컨퍼런스 형식이 실을 자리가 없었던 뼈대이고, 준비 시간의 거의 전부가 그 뼈대를 만드는 데 들어갔습니다.

이건 제 자료에만 해당하는 이야기는 아닌 것 같습니다. 발표자료와 교육자료는 흔히 길이만 다른 같은 자산으로 취급되고, 그래서 기관은 방법론이 필요할 때 슬라이드를 요청합니다. 슬라이드에는 방법론이 들어 있지 않습니다. 방법론이 존재한다는 증거가 들어 있을 뿐입니다.

확인하지 못한 것

위의 몇몇 문장은 측정된 사실이 아니라 제 강의에 대한 주장입니다. 결론처럼 읽히게 두느니 표시해두는 편이 낫겠습니다.

아직 이 버전을 강의하지 않았습니다. 위에 적은 12시간 구조는 계획된 커리큘럼이고, 수강생이 특정 블록에 어떻게 반응하는지에 대한 서술은 이전 회차에서 끌어온 예측이지 이번 회차의 관측이 아닙니다. 강의 후에 실제로 시간이 모자랐던 블록을 이 글에 추가하겠습니다. 제 예상으로는 CAD 정리 블록이 초과할 것 같습니다.

Rectangle 우선 순서가 최적이라고도 주장할 수 없습니다. 비정형 외곽선에서 바로 시작하는 순서보다 측정 가능하게 낫다는 근거가 없습니다. 저에게 잘 통했던 순서일 뿐이고, 비슷한 그룹에 반대 순서로 가르쳐본 적이 없어서 선호 외에는 비교 근거가 없습니다.

자료

교재 원고는 공개하지 않습니다. 저장소에는 샘플 파일과 각 단계 설명만 포함됩니다. 샘플은 전부 교육용 합성 데이터이며, 실제 시설을 나타내지 않습니다.

댓글

이 블로그의 인기 게시물

Structural Analysis Workflow with Dynamo and Robot

Dynamo with the Gemini Vision API test(Nano Banana)

AU2024 Dynamo Sessions for AEC Automation Workflows