Yapay zeka ile çizim
Bu sayfa, bir yapay zeka istemcisinin (ChatGPT, Claude, Gemini, Cursor, …) API ve MCP üzerinden LetDraw’da profesyonel diyagramlar çizmesi için referanstır. Modelin LetDraw’ın şemasını tahmin etmesine gerek yok: aşağıdaki her şey çağrı anında modele de sunulur, böylece bağlı bir model bunu okuyup ilk denemede doğru çizebilir.
Model LetDraw’ı nasıl öğrenir
Section titled “Model LetDraw’ı nasıl öğrenir”Modeli yeniden eğitmezsiniz; ona çağrı anında bağlam verirsiniz. LetDraw tüm çizim bilgisini MCP sunucusu ve REST API üzerinden açar:
| Ne | MCP | REST |
|---|---|---|
| Nasıl çizilir (bu kılavuz, makine-okunur) | kaynak letdraw://capabilities | GET /capabilities |
| Her ikon kütüphanesi + tüm item etiketleri | kaynak letdraw://libraries | GET /libraries?items=1 |
| Kütüphane id’leri + sayılar | araç list_shape_libraries | GET /libraries |
| Bir bileşen için ikon bul | araç search_icons | GET /icons?query=… |
| Diyagram oluştur / güncelle | araçlar create_diagram / update_diagram | POST / PATCH /documents |
İyi davranan bir istemci letdraw://capabilities ve letdraw://libraries
kaynaklarını bir kez okur, sonra çizer. Yapay zekanı MCP ucuna yönlendir (bkz.
API ve MCP); gerisini kendisi keşfeder.
Profesyonel çıktı için altın kurallar
Section titled “Profesyonel çıktı için altın kurallar”- Gerçek ikon kullan, çizme.
search_iconsçağır (örn."postgres","redis","kubernetes pod","load balancer") ve kutununiconRefalanına dönenrefdeğerini koy (örn."databases/PostgreSQL"). Sunucu tam o ikonu basar ve etiketi altına akıtır. - Konteynerleri temiz tut. Büyük gruplama kutuları (bir Kubernetes Cluster,
bir VPC, bir subnet bandı) geniş (> 420px) veya
frameolmalı. İkonlar yalnızca node-boyutlu kutulara (60–420px genişlik, 40–260px yükseklik) basılır. Bir konteynerin başlığını bağlı etiket olarak değil, üstüne bağımsız metin olarak koy. - Bilinçli iç içe geç. Dış renkli konteyner → içinde node-boyutlu kutular, her biri kendi ikonuyla. İki-üç seviye en iyi okunur (Cluster → Worker Node → Pod).
- Okları temiz yönlendir. Dik açılı / çok bükümlü bağlantılar için 3+
pointsiçeren bir ok gönder; uçları şekillere bağla ki takılı kalsınlar. - Role göre renk kodla ve boşlukları tutarlı tut.
Bir sahne gönderme
Section titled “Bir sahne gönderme”create_diagram / update_diagram, elements’i ya letdraw-native öğeler
ya da standart Excalidraw JSON olarak kabul eder (otomatik algılanıp
sunucuda çevrilir). Excalidraw JSON üretmek en kolay yüksek-kalite yol; native
LetDraw sana aşağıdaki LetDraw’a özel özellikleri verir.
Ortak öğe alanları
Section titled “Ortak öğe alanları”id, type, x, y, width, height ve stil: strokeColor (hex), fillColor
(hex veya "transparent"), fillStyle (hachure | cross-hatch | solid | dots | zigzag | dashed | zigzag-line), strokeWidth (1–8), strokeStyle
(solid | dashed | dotted), roughness (clean | sketch | scribble), bowing
(straight | curved | wavy), corner (sharp | rounded | beveled), opacity
(0–100), seed. İsteğe bağlı: text, fontSize, fontFamily
(hand | normal | code), textAlign, groupIds, angle (radyan), link,
shadow (none | soft | hard) ve LetDraw eklentisi iconRef.
Şekil tipleri
Section titled “Şekil tipleri”rectangle, ellipse, diamond, triangle, right-triangle, parallelogram, trapezoid, star, hexagon, heptagon, octagon, cross, cloud, cylinder, speech-bubble, document, manual-input, display, terminator, data-storage, preparation, blok
oklar (arrow-right/left/up/down), ayrıca text, image (dataURL), frame
(etiketli kesikli bölüm; name ayarla), embed (url), math (text içinde
LaTeX), code (text içinde kaynak, language). Şekil etiketini text ile
içeride taşır (Excalidraw formatında containerId’li bir text öğesiyle).
type: "arrow" ve:
arrowShape:straight | curved | elbow | s-curve | smart | multipoint | multipoint-curved.smartdiğer şekillerin etrafından otomatik yol bulur.multipointkeskin çok-parçalı bir polyline;multipoint-curvedyumuşatılmış hali; ikisi de köşelerinipoints’ten okur.points: mutlak dünya koordinatlarında{x, y}[](ilk → son). 2 nokta = düz, 3 = elbow (tek büküm), 4+ = yönlendirilmiş polyline. Dik açılı bağlantı:points: [{x1,y1},{x2,y1},{x2,y2}].controlPoint/controlPoint2: curved / s-curve / elbow için bezier tutamakları.startArrowhead/endArrowhead:none | arrow | triangle | triangle-outline | circle | diamond | diamond-outline | bar | crows-foot | crows-foot-bar | double-bar | circle-bar | circle-crows-foot. UML uçları (triangle-outline= generalization,diamond= composition) ve kardinalite için ER crow’s-foot uçlarını kullan.startBinding/endBinding:{elementId, focus:{x,y}}: bir ucu bir şekle bağla (focus, şeklin bbox’unda 0..1 bir nokta) ki ok onu takip etsin.
Excalidraw formatında oku points + startArrowhead/endArrowhead ile gönder;
çevirici 2 / 3 / 4+ noktayı straight / elbow / s-curve’e eşler ve bağlamaları
yeniden hesaplar.
Çizgiler
Section titled “Çizgiler”type: "line" ve lineShape: straight | multipoint | multipoint-curved.
Çok noktalı çizgiler points taşır (oklarla aynı, ok ucu olmadan). Ayrıca
freedraw (points[]) ve highlight (yarı saydam işaretleyici).
İkonlar: iconRef akışı
Section titled “İkonlar: iconRef akışı”search_icons({ query })→ sıralı[{ library, label, ref }].- Hedef kutuda
iconRef: "<library>/<Item Label>"ayarla (veya{ library, label }). create_diagram→ sunucu o ikonu üst-ortaya basar ve etiketi altına taşır.
Açık iconRef her zaman kazanır; ardından ikonsuz kalan etiketli her node
otomatik olarak en iyi tahminle bir keyword ikonu alır. Bulut sahnesinde
vendor’ı (kubernetes / aws / azure / gcp) belirt ki vendor ikon setleri
tercih edilsin. Id’lere list_shape_libraries ile göz at; tam etiket kataloğu
letdraw://libraries (veya GET /libraries?items=1).
Veritabanı ürünleri Databases kütüphanesine çözülür: marka politikasının izin verdiği yerde gerçek logolar (PostgreSQL, MariaDB, Cassandra, DynamoDB, …), aksi halde DB-uygun jenerik ikonlar (MySQL, Redis, MongoDB, …).
Küçük Excalidraw-format örneği
Section titled “Küçük Excalidraw-format örneği”[ { "id": "db", "type": "rectangle", "x": 0, "y": 0, "width": 200, "height": 90, "backgroundColor": "#eef2ff", "strokeColor": "#334155", "roundness": { "type": 3 }, "iconRef": "databases/PostgreSQL", "boundElements": [{ "type": "text", "id": "dbt" }] }, { "id": "dbt", "type": "text", "x": 10, "y": 30, "text": "Orders DB", "containerId": "db" }, { "id": "a1", "type": "arrow", "x": 200, "y": 45, "points": [[0, 0], [80, 0], [80, 120]], "endArrowhead": "triangle", "startBinding": { "elementId": "db" } }]Diğer araçlar
Section titled “Diğer araçlar”diagram_from_code: docker-compose / Kubernetes manifest / Graphviz DOT / PlantUML / Terraform / Helm values / SQL DDL gönder; LetDraw formatı otomatik algılayıp yerleştirir.export_to_code: bir diyagram → Mermaid veya D2.generate_from_prompt: doğal dil → diyagram, hesabın kendi AI anahtarıyla.
Kimlik doğrulama, uçlar, kapsamlar ve istemci kurulumu için bkz. API ve MCP.