Bozzetto — Nasıl Kullanılır
Son Güncelleme: 1 Ocak 2026
Bozzetto, Revit şeridinizdeki Avant Leap sekmesine yedi düğmeli bir panel ekler. Her düğme, Sıfır Dokunuşlu Node iş akışının belirli bir kısmı için özel bir pencere açar — mevcut paketleri aramaktan, yeni node tasarlamaya ve oluşturmaya, mevcut kodu optimize etmeye ve taşımaya kadar.
Düğmelerin Özeti
| Düğme | Etiket | Ne Yapar |
|---|---|---|
| 1 | Düğüm Ara | Yerel paketlerde, Dynamo Paket Yöneticisi'nde ve seçilmiş bir semantik dizinde arama yapar — yeniden kullan veya oluştur önerisi sunar |
| 2 | Paket Oluştur | Yeni bir ZTN projesi için sıfırdan iskelet oluşturur: klasör yapısı, .csproj, pkg.json ve başlangıç sınıfı |
| 3 | Planla & Oluştur | Çoklu node hedefini tarif edin, önerilen düğümlerin giriş/çıkış portlarını gösteren diyagramı inceleyin, sonra tüm C# kodunu tek seferde üretin |
| 4 | Düğüm Ekle | Tek bir C# Zero Touch Node oluşturur ve mevcut bir pakete ekler |
| 5 | Optimize Et | Herhangi bir ZTN .cs dosyasını seçin ve yan yana karşılaştırmalı geliştirilmiş bir sürüm alın |
| 6 | Taşı | Mevcut bir ZTN paket klasörünü daha yeni bir Dynamo sürümüne günceller |
| 7 | Ayarlar | Claude API anahtarınızı, varsayılan çıktı yolunu ve sürüm tercihlerinizi kaydedin |
Başlamadan Önce
Bozzetto'yu ilk kez kullandığınızda aşağıdaki adımları tamamlayın. Bunu yalnızca bir kere yapmanız yeterlidir.
- console.anthropic.com adresinden bir Claude API anahtarı alın. Hesap oluşturmak ücretsizdir. Kullanım, Anthropic tarafından tüketilen token başına faturalandırılır — Bozzetto'nun kendisinin bir arka uç maliyeti yoktur.
- Revit'te, şeritteki Avant Leap sekmesine gidin ve BOZZETTO panelini bulun.
- Ayarlar'a tıklayın.
- Claude API anahtarınızı Claude API Anahtarı alanına yapıştırın.
- Varsayılan Çıktı Yolunuzu ayarlayın — yeni ZTN paketlerinin oluşturulacağı ana klasör. Yerel Dynamo paket geliştirmesi için kullandığınız klasörü seçiniz (ör.
C:\DynamoDev\Packages). - Dynamo Sürümü tercihinizi ayarlayın. Bu, Oluştur ve Taşı iş akışlarındaki sürüm açılır menülerini önceden doldurur.
- Ayarları Kaydet'e tıklayın.
API anahtarınız yerel makinenizde %APPDATA%\AvantLeap\Bozzetto\settings.json dosyasında saklanır. Asla AvantLeap'e gönderilmez.
Temel İş Akışı
Standart Bozzetto iş akışı, yeni bir düğüm oluşturmak için şu sırayı izler:
Düğüm Ara → (yeniden kullan önerisi)
|
|── Yeşil şerit: mevcut paket bulundu → gözden geçir ve Paket Yöneticisi'nden yükle
|
└── Mavi şerit: güçlü bir eşleşme yok → Oluştur'u Aç
|
├── Paket Oluştur (ilk kez yeni bir paket için)
│ └── Planla & Oluştur veya Düğüm Ekle (C# kodunu oluştur)
│ └── .cs dosyasını kaydet → Visual Studio'da derle
|
└── Düğüm Ekle (mevcut paket) → .cs kaydet → Visual Studio'da derle
Mevcut kodu geliştirin:
Optimize Et → .cs dosyası seç → farkı incele → kaydet
Bir paketi yeni Dynamo sürümüne güncelleyin:
Taşı → .Source klasörü seç → hedef sürümü seç → uygula
Senaryolar
Senaryo 1 — İlk kullanım: bir paketin zaten var olup olmadığını keşfetmek
Bağlam: Bir görünümdeki tüm odaları toplayıp adlarını ve alanlarını döndüren bir düğüme ihtiyacınız var. Kod yazmadan önce, bunun için mevcut bir paket olup olmadığını teyit etmek istiyorsunuz.
- BOZZETTO şerit panelinden Düğüm Ara'ya tıklayın.
- Arama alanına şunu yazın:
get all rooms with area in view. - Enter'a basın ya da Ara'ya tıklayın.
- Bozzetto, yerel kurulu paketlerinizi (Katman 1), çevrimiçi Dynamo Paket Yöneticisi'ni (Katman 2) ve en çok indirilen 50 paketin seçilmiş bir semantik dizinini (Katman 3) arar.
- Sonuçlar bir listede görünür. Her sonuç; paket adı, kaynağı (Yerel / Çevrimiçi / Dizin) ve kısa açıklamasını gösterir.
- Sayfanın üstünde bir öneri şeridi görünür:
- Yeşil şerit: Eşleşen bir paket bulundu. Şerit, paketin adını ve neden önerildiğini açıklar. Yeni bir şey yazmadan önce gözden geçirin.
- Mavi şerit: Güçlü bir eşleşme yok. Şerit, özel bir düğüm oluşturmanızı önerir.
- Herhangi bir sonucun yanındaki Neden?'e tıklayarak Claude'a o paketin neden ilgili olduğunu sorabilirsiniz. Claude, eşleşme mantığını açılır bir pencerede açıklar.
- Yeşil şerit, incelemek istediğiniz bir paket adı veriyorsa, onu Dynamo Paket Yöneticisi'nden bulun ve yükleyin.
- Mavi şerit görünürse, doğrudan node oluşturma iş akışına geçmek için Oluştur'u Aç'a tıklayın.
Beklenen sonuç: Yeniden kullanılabilir bir paket olduğunu teyit edip kurarsınız, ya da güçlü bir eşleşme olmadığını teyit edip özel bir düğüm üretmeye geçersiniz. Sonuç ne olursa olsun, kararınız için kanıtınız olur.
Senaryo 2 — Yeni bir paket oluşturmak ve ilk düğümü oluşturmak
Bağlam: Arama güçlü bir eşleşme bulamadı. MyFirmRoomTools adında yeni bir ZTN paketi oluşturmak ve ilk sınıf olarak GetRoomsWithArea düğümünü üretmek istiyorsunuz.
- BOZZETTO şerit panelinden Paket Oluştur'a tıklayın.
- Paket adını girin:
MyFirmRoomTools(boşluk yok — ad, klasör adı ve ad alanı olur). - Kısa bir açıklama girin:
Custom Revit API nodes for room data extraction. - Çıktı klasörünü doğrulayın (Ayarlar'daki Varsayılan Çıktı Yolu varsayılan olarak gelir).
- Paket Oluştur'a tıklayın.
Bozzetto disk üzerinde aşağıdaki yapıyı oluşturur:
MyFirmRoomTools\ ├── bin\ ├── dyf\ ├── doc\ ├── extra\ └── .Source\ ├── MyFirmRoomTools.csproj ├── pkg.json └── MyFirmRoomTools.cs (başlangıç sınıfı, özel yapıcı ile)Şeritten Düğüm Ekle'ye tıklayın.
- Gözat'a tıklayın ve az önce oluşturduğunuz
MyFirmRoomTools\.Sourceklasörüne gidin. - Açıklama alanına şunu yazın:
Get all rooms in the active view. Return room name and area as parallel lists. - İstem Geliştir'e tıklayın — Claude açıklamayı okur ve adlandırılmış giriş ve çıkış portları önerir. Önerilen portları gözden geçirin: girişlerde
view(isteğe bağlı) ve belge olabilir; çıkışlardaroomNamesveareasolabilir. - Portlar doğru görünüyorsa, Düğüm Oluştur'a tıklayın — Claude tam C# ZTN sınıfını yazar.
- Kodu önizleme panelinde inceleyin. Sınıf yapısını doğrulayın: özel yapıcı, statik genel metod, her çıkış portu için XML doc
<returns name="...">etiketleri. .csdosyasınıMyFirmRoomTools\.Sourceklasörüne yazmak için Düğümü Kaydet'e tıklayın..Sourceklasörünü Visual Studio veya Rider ile açıp projeyi derleyin. Derlenen DLL,MyFirmRoomTools\bin\klasörüne yerleştirilir.- Paketi Dynamo'ya yüklemek için klasörünü Dynamo paket arama yoluna ekleyin.
Beklenen sonuç: Diskte çalışan bir ZTN paket klasörü, üretilmiş ve incelenmiş C# node sınıfı ve paketi derleyip Dynamo'da yüklemek için net bir yol.
Senaryo 3 — Kod yazmadan önce çoklu düğüm sistemi planlamak
Bağlam: Üç uyumlu düğümden oluşan bir set oluşturmak istiyorsunuz: biri odaları getiriyor, biri her oda için kapıları getiriyor, biri de oda başına kapı sayısını buluyor. Kod üretmeden önce düğüm tasarımını (girişler, çıkışlar, adlandırma) planlamak istiyorsunuz.
- BOZZETTO şerit panelinden Planla & Oluştur'a tıklayın.
- Hedef açıklama alanına şunu yazın:
Three nodes: GetRooms returns all rooms in the model. GetDoorsInRoom takes a list of rooms and returns door elements grouped by room. CountDoorsPerRoom takes the door groups and returns room name and door count. - Düğümleri Öner'e tıklayın — Claude hedefi analiz eder ve düğüm kırılımını önerir.
- Kanvas, önerilen düğümlerin diyagramını gösterir. Her düğüm, kutu içinde sınıf adı, metod adı ve adlandırılmış giriş/çıkış portlarını nokta olarak gösterir.
- Diyagramı gözden geçirin:
- Port adlarının, hedeflediğiniz Dynamo kablolamasıyla uyumlu olduğuna emin olun (ör. GetRooms'un
roomsçıkışı GetDoorsInRoom'unroomsgirişiyle bağlanıyor mu). - Çıkış türlerinin doğru göründüğünü kontrol edin (liste vs tekil nesne vs gruplanmış liste).
- Port adlarının, hedeflediğiniz Dynamo kablolamasıyla uyumlu olduğuna emin olun (ör. GetRooms'un
- Planı Dışa Aktar'a tıklayarak düğüm mimarisini Markdown dosyası olarak kaydedin — kod yazmadan önce inceleme veya ekip onayı için faydalı.
- Her düğümü üretmek için Build penceresi içinde Düğüm Ekle sekmesine geçin.
- Hedef paketinizin
.Sourceklasörüne gidin. - Her düğümü sırayla üretin — plandan gelen port adları, açıklama alanına otomatik olarak gelir.
Beklenen sonuç: Daha tek satır kod yazmadan gözden geçirilmiş, onaylanmış bir node mimari diyagramı. Plan, dokümantasyon veya ekip imzası için dışa aktarılabilir.
Senaryo 4 — Başka bir yapay zeka aracının oluşturduğu kodu optimize etmek
Bağlam: Bir meslektaşınız ChatGPT ile bir ZTN C# düğümü oluşturdu, ancak kodda null güvenliği yok, eski API çağrıları kullanılmış, ayrıca ZTN <returns name=...> port etiket kuralına uymuyor. Claude'un inceleyip düzeltmesini istiyorsunuz.
- BOZZETTO şerit panelinden Optimize Et'e tıklayın.
- Gözat'a tıklayın ve meslektaşınızın verdiği
.csdosyasını seçin. - Orijinal kod, soldaki Orijinal panelde görünür.
- Optimize Et'e tıklayın — Claude kodu şu açılardan inceler:
- Null referans güvenliği (
document,viewve toplanan elemanlar) - Doğru ZTN XML doc port etiketleri (
<returns name="portName">) - Revit API en iyi uygulamaları (işlem yönetimi, FilteredElementCollector temizliği)
- Performans (gereksiz kollektorlerden kaçınma, doğru eleman filtreleri kullanımı)
- Null referans güvenliği (
- İyileştirilmiş kod, sağdaki Optimize Edilmiş panelde görünür.
- Farkı gözden geçirin. Claude'un yaptığı değişiklikleri iki paneli yan yana karşılaştırarak inceleyebilirsiniz.
- İyileştirilmiş kodu yeni bir dosyaya kaydetmek için Optimize Edileni Kaydet'e tıklayın (orijinal korunur) ya da Orijinali Üzerine Yaz'a tıklayarak kaynak dosyasıyla değiştirin.
Beklenen sonuç: Dynamo kurallarına uygun, derlenip üretimde kullanılabilecek güvenli bir C# ZTN dosyası.
Senaryo 5 — Mevcut bir paketi Dynamo 4.0'a taşımak
Bağlam: Firmanızda Dynamo 3.x için oluşturulmuş dahili bir ZTN paketi var. Revit 2026'ya yükseldikten sonra, paket yüklenmiyor çünkü motor sürümü ve NuGet referansları eski.
- BOZZETTO şerit panelinden Taşı'ya tıklayın.
- Klasöre Gözat'a tıklayın ve paketin
.Sourceklasörünü seçin (.csprojdosyasının bulunduğu klasör). - Açılır menüden hedef Dynamo sürümünü seçin:
Dynamo 4.x. - Paket Taşı'ya tıklayın.
- Bozzetto aşağıdakileri yerinde günceller:
pkg.jsoniçindekiengine_version(Dynamo 4.x ile uyumlu sürüme güncellenir).csprojiçindeki NuGet paket sürümleri (DynamoVisualProgramming.ZeroTouchLibrary,DynamoVisualProgramming.DynamoServices)- Dynamo 4.x klasör kuralına uygun derleme çıktı yolları (
.csproj'da)
- Sonuç panelinde yapılan güncellemeleri, değişen her dosya ve alanı listeleyen bir özet görünür.
.Sourceklasörünü Visual Studio ile açıp yeniden derleyin. Kalan derleme hatalarını inceleyin — API çağrısı değişiklikleri kodunuza özgü olduğundan manuel güncelleme gerekebilir (Taşı komutu yapıyı günceller, özel API mantığını değil).
Beklenen sonuç: Dynamo 4.x referanslarına karşı derlenen, güncellenmiş bir paket .Source klasörü. Node mantığında eski API çağrıları varsa manuel düzeltme gerekebilir.
İpuçları
- Önce mutlaka arayın. Hiç paket olmadığından emin olsanız bile, 30 saniyelik arama çoğu zaman ihtiyacın %80'ini karşılayan ilgili bir paket bulur. Bunu başlangıç noktası olarak kullanın, engel olarak değil.
- Açıklamanızda portları net adlandırın. Düğüm Ekle'de bir node tarif ederken, girişleri ve çıkışları açıkça adlandırın: "girişler:
document(isteğe bağlı),categoryName(dize); çıkış:elements(liste)." Claude isimleri aynen kullanır. - Oluşturulan kodu kaydetmeden önce inceleyin. Claude, ZTN kurallarını güvenilir şekilde uygular, yine de çıktı türü, null kontrolleri ve işlem yönetimini derlemeden önce mutlaka kontrol edin — özellikle Revit modeline yazan nodelar için.
- Oluştur'dan önce İstem Geliştir'i kullanın. İstem Geliştir adımı Claude'un açıklamanızı iyileştirmesine ve port türleri önermesine imkân verir. İstem Geliştir'i atlayıp doğrudan Oluştur'a gitmek, çoğu zaman daha belirsiz kod üretir. Bir tıklama fazlası buna değer.
- Oluşturmadan önce Planı dışa aktarın. Planla & Oluştur'un dışa aktarımı size Markdown spesifikasyon dosyası verir. Bunu bir meslektaşınıza ya da ekip liderine, üretim için API token harcamadan gönderin — bir diyagramı değiştirmek kodu yeniden üretmekten çok daha ucuzdur.
- Optimize Et'i sadece ChatGPT çıktısı için değil, kendi kodunuzda da kullanın. Bozzetto'nun Optimize komutu, altı ay önce elle yazdığınız kodda da faydalıdır. Düzenli gözden geçirme, Revit API geliştikçe artan null güvenliği sorunlarını yakalar.
- Çıktı klasörünüzü Revit eklenti klasörünün dışında tutun. Oluşturulan paketler, Revit'in Addins klasörü yerine özel bir geliştirme klasöründe (ör.
C:\DynamoDev\Packages) bulunmalıdır. Dynamo, paketleri kendi paket yollarından yükler, Revit addin klasörlerinden değil. - Deneme, settings.json'u silerseniz sıfırlanır. 30 günlük deneme süresi
settings.json'da izlenir. Bu dosyayı silmek denemeyi sıfırlar — ama API anahtarınız dahil tüm tercihlerinizi de temizler.