LayerEdit — הכרעת היתכנות

Vitruvius · מודול עתידי · ספייק לפני בנייה
התשובה הקצרה
כן, ניתן לבנות.

אבל חייבים להפריד שני scope-ים שונים לגמרי — והבחירה ביניהם משנה את כל המוצר: עריכת התצוגה של ה-layer בתוך Revit (בטוח), מול עריכת ה-layer בתוך קובץ ה-DWG עצמו (פולשני).

Scope A — עריכת תצוגה ב-Revit v1 מומלץ

אפשרי, נקי, בטוח — בלי לגעת בקובץ ה-DWG של היועץ. המסלול קיים ב-API:

PickObject(PointOnElement) → import.GetGeometryObjectFromReference(ref) → geomObj.GraphicsStyleId → GraphicsStyle → layer (subcategory)
  • לוחצים על קו ב-DWG import → GetGeometryObjectFromReference מחזיר את הקו → GraphicsStyleId מצביע ל-subcategory שמייצג את ה-layer.
  • משם, בתוך Transaction, עורכים את ה-layer דרך ה-Category overrides של ה-import: visibility (כיבוי/הדלקה), צבע, עובי-קו, line pattern.
  • הכאב האמיתי שזה פותר: היום, כדי לכבות layer מעצבן בקישור, צריך לחפש בין עשרות שמות layer קריפטיים ב-Visibility/Graphics. "תלחץ על הקו שמפריע ← תכבה את ה-layer שלו" — ניצחון UX אמיתי.
Scope B — עריכת קובץ ה-DWG Phase 2+
  • לשנות באמת את ה-layer של הישות בקובץ → דורש round-trip דרך accoreconsole (כמו היפוך העברית).
  • משנה את קובץ המקור של היועץ — מנוגד לאתוס "לא לקלקל את קובץ היועץ".
  • זיהוי הישות המדויקת ב-DWG מתוך לחיצה ב-Revit הרבה יותר קשה — ה-GraphicsStyle נותן את ה-layer, לא את ה-handle של הישות.

המלצה: נדחה. (A) נותן את הערך בלי הסיכון.

מה צריך להוכיח לפני UI

שה-pick → GraphicsStyle → layer באמת מתפצח אמין ב-Revit 2024 על ה-fixture.

  • אני אבנה פקודת spike זעירה: לוחצים על קו בקישור DWG, והיא מדווחת ביומן — שם ה-import, שם ה-layer שזוהה, צבע, עובי, visibility.
  • אבנה + אפרוס + אבדוק אוטונומית על A_Mivne roi.rvt.
  • אם הלחיצה מפצחת layer → בונים את דיאלוג העריכה. אם לא → חושבים מחדש לפני שמשקיעים ב-UI.
לאישור
נתחיל מה-spike (scope A) — אאשר את מסלול ה-pick→layer על ה-fixture לפני בניית ה-UI?

תאשר אתה ואני רץ: בונה את פקודת ה-spike, פורס ל-Revit, ובודק אוטונומית.