מה עושים עכשיו? — 3 אפשרויות פשוטות

הבעיה: לחצת "החל תיקון" וקיבלת "אין שינוי לבצע". למה? ואיך ממשיכים?
קודם — למה לא קרה כלום?

ב-Revit יש קובץ הגדרות בשם shxfontmap.txt שאומר לו: "כשאתה רואה את הפונט txt.shx בקובץ DWG — תשתמש בפונט Arial במקום."

הקובץ הזה כבר קיים אצלך והוא כבר אומר ל-Revit להשתמש ב-Arial. הבעיה: Arial לא מסתדר עם עברית בקישור הזה — ולכן הג'יבריש.

Vitruvius ראה שיש כבר מיפוי וחשב: "בטח המשתמש כתב את זה — לא אדרוס לו". בפועל, המיפוי הזה הוגדר אוטומטית ע"י Revit עצמו, לא על ידך. אבל הקוד שלי לא יודע להבדיל.

אנלוגיה: כאילו אתה נכנס למטבח של חבר ורואה שכבר יש כוס על השולחן. אתה לא לוקח אותה, גם אם היא ריקה ואתה צריך אחת. אולי החבר שם אותה בכוונה.
המטרה: שתחליף את Arial ב-David (פונט שיודע עברית)

יש 3 דרכים להגיע לזה. כל אחת עונה על שאלה אחרת:

  • אפשרות 1 = "בוא נבנה כפתור שאומר ל-Vitruvius: כן, מותר לדרוס".
  • אפשרות 2 = "בוא רק נמחק ידנית את ה-Arial הקיים, וננסה. אם זה עובד, אז עשינו את זה ידנית פעם אחת בלי לבנות שום פיצ'ר."
  • אפשרות 3 = "קודם נעשה את אפשרות 2 כדי לוודא שהפתרון בכלל עובד. רק אם כן — נבנה את אפשרות 1 כפיצ'ר אמיתי."
1בונים כפתור "דרוס"
מה אני אעשה

אוסיף ל-TaskDialog של "החל תיקון" עוד אפשרות — משהו כמו "תיקון רגיל" מול "תיקון עם דריסה". אם תבחר "דריסה", Vitruvius כן ידרוס את Arial ויחליף ב-David. גיבוי אוטומטי נשמר ממילא.

מה אתה תעשה אחר כך

תפתח שוב את A_Mivne roi.rvt, תלחץ "החל תיקון" → תבחר "דריסה" → תעשה Reload לקישור DXF → תבדוק אם הג'יבריש הפך לעברית.

יתרון: זה פיצ'ר אמיתי שיעבוד גם עבור כל לקוח עתידי שיתקע באותה בעיה.
חיסרון: אם בסוף נגלה ש-David בכלל לא פותר את הג'יבריש (הבעיה במקום אחר) — בזבזתי 30 דקות פיתוח לחינם.
2מחיקה ידנית פעם אחת
מה אני אעשה

אני פותח את הקובץ shxfontmap.txt, מוחק את השורה Txt.shx  Arial, שומר. (יוצר גיבוי קודם.) זהו — לא נוגע בקוד.

מה אתה תעשה אחר כך

תפתח שוב את המודל ב-Revit, תלחץ "החל תיקון" — עכשיו Vitruvius יראה שאין מיפוי קיים ל-txt.shx ויוסיף → David. תעשה Reload לקישור DXF. אם הג'יבריש הפך לעברית — יש לנו מוצר. אם לא — יודעים שהבעיה לא בפונט.

יתרון: תוך 5 דקות נדע אם David בכלל פותר את הבעיה. בלי לכתוב שורת קוד.
חיסרון: זו "תיקון חד-פעמי" — לא פתרון למוצר. כל לקוח עתידי יתקע באותה נקודה.
3קודם בודקים, ואחר כך בונים מומלץ
השלב הראשון (היום)

עושים בדיוק את אפשרות 2: מוחקים ידנית את Txt.shx → Arial, מריצים "החל תיקון", עושים Reload, ובודקים — האם הג'יבריש הפך לעברית קריאה?

השלב השני (בסשן הבא)

אם כן (David פתר את הג'יבריש) → אבנה את הכפתור של אפשרות 1 כפיצ'ר קבוע במוצר.
אם לא (Arial וגם David נכשלים) → לא בונים כלום. נחזור ל-debug: אולי הפונט שמשמש בפועל הוא לא txt.shx, אולי צריך BigFont נפרד, אולי הבעיה היא בכיוון RTL ולא בפונט.

יתרון: לא משקיעים בפיצ'ר לפני שיודעים שהפתרון בכלל עובד. הכי קרוב לעיקרון "אל תכתוב קוד לבעיה שלא הבנת".
חיסרון: שני סשנים במקום אחד. עוד יום של דחייה לפיצ'ר.
בקצרה
  • רוצה תוצאה ויזואלית עכשיו, מהר: אפשרות 2 או 3.
  • בטוח ש-David זה הפתרון ורוצה לבנות פיצ'ר ישר: אפשרות 1.
  • זהיר ורוצה לאמת לפני שמשקיעים: אפשרות 3 (המלצה שלי).
לאישור
איזו אפשרות? 1 / 2 / 3

אם אתה מסכים איתי — תכתוב פשוט "3" ואני מתחיל עכשיו (מוחק ידנית, ואתה רק לוחץ Apply במודל).