מדריך: יצירת תוספים עבור FreeCAD
מטרת השיעור: הוסף סמלים לכפתורים ולסביבת העבודה כדי שהתוסף ייראה מקצועי.
חלק 1. פורמטים נתמכים לסמלים
FreeCAD תומך ב:
- SVG (מומלץ) — מתאפס ללא אובדן איכות
- PNG — גרפיקת רסטר, אך קלה לשימוש
הסמלים צריכים להיות פשוטים, בעלי ניגודיות, וניתנים לזיהוי גם בגודל קטן (16×16 או 24×24 פיקסלים).
חלק 2. מבנה תיקיית הסמלים
בתוך תיקיית התוסף שלך, צור תת-תיקייה:
BoxBuilderAddon/
└── Resources/
└── icons/
├── box_builder.svg ← סמל סביבת העבודה
└── create_box.svg ← סמל הפקודה
הנתיב Resources/icons/ הוא קונבנציה סטנדרטית באקוסיסטם של FreeCAD.
חלק 3. מאיפה להשיג סמלים?
אופציה 1: השתמש בסמלים מובנים של FreeCAD
FreeCAD מגיע עם מאות סמלים. לדוגמה:
:/icons/Part_Box.svg:/icons/Document-new.svg
עם זאת, עדיף ליצור סמלים משלך כדי להימנע מהתלות בנתיבים פנימיים.
אופציה 2: צור סמל פשוט ידנית
דוגמה: create_box.svg
<!-- create_box.svg -->
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
<rect x="10" y="10" width="44" height="44" fill="none" stroke="black" stroke-width="4"/>
<line x1="10" y1="10" x2="20" y2="0" stroke="black" stroke-width="4"/>
<line x1="54" y1="10" x2="64" y2="0" stroke="black" stroke-width="4"/>
<line x1="54" y1="54" x2="64" y2="44" stroke="black" stroke-width="4"/>
<line x1="20" y1="0" x2="64" y2="0" stroke="black" stroke-width="4"/>
<line x1="64" y1="0" x2="64" y2="44" stroke="black" stroke-width="4"/>
</svg>
שמור את הקוד הזה כקובץ create_box.svg בתוך Resources/icons/.
אתה יכול לפתוח את הקובץ בדפדפן כדי לראות את התוצאה.
חלק 4. קישור הסמלים בקוד
שלב 1. עדכן את הקובץ box_builder_workbench.py
הוסף בתחילת הקובץ (אחרי ה-importים):
import os
מצא את המחלקה BoxBuilderCommand ועדכן את המתודה GetResources:
class BoxBuilderCommand:
def GetResources(self):
# נתיב לסמל
icon_path = os.path.join(
os.path.dirname(__file__), "Resources", "icons", "create_box.svg"
)
return {
"MenuText": "בונה קופסאות",
"ToolTip": "צור קופסה עם ממדים מותאמים",
"Pixmap": icon_path # ← קישור לסמל
}
שלב 2. הוסף סמל לסביבת העבודה
הוסף את המאפיין Icon במחלקה BoxBuilderWorkbench:
class BoxBuilderWorkbench(FreeCADGui.Workbench):
MenuText = "בונה קופסאות"
ToolTip = "צור קופסאות מותאמות עם ממשק גרפי"
def __init__(self):
# נתיב לסמל סביבת העבודה
self.Icon = os.path.join(
os.path.dirname(__file__), "Resources", "icons", "box_builder.svg"
)
def Initialize(self):
self.list = ["BoxBuilderCommand"]
self.appendToolbar("כלי קופסאות", self.list)
self.appendMenu("בונה קופסאות", self.list)
def GetClassName(self):
return "Gui::PythonWorkbench"
אם טרם יצרת את box_builder.svg – פשוט העתק את create_box.svg ושנה לו שם.
חלק 5. אימות
- ודא שמבנה התיקיות תקין:
BoxBuilderAddon/Resources/icons/create_box.svgBoxBuilderAddon/Resources/icons/box_builder.svg
- הפעל מחדש את FreeCAD
- בחר את סביבת העבודה "בונה קופסאות"
אינך אמור לראות:
- סמל לצד שם סביבת העבודה (ברשימה)
- סמל על כפתור הסרגל
טיפים לסמלים
- השתמש בשחור על רקע שקוף – FreeCAD יתאים את זה לערכת הנושא (בהיר/כהה)
- גודל ה-SVG לא משנה – העיקר שזה גרפיקה וקטורית
- עבור PNG: רקע שקוף וגודל של 64×64 או 128×128
- אל תשתמש בצבעים – סמלים ב-FreeCAD הם לרוב מונוכרומטיים
משימה מעשית
- צור את הסמל
box_builder.svg(תוכל להעתיק אתcreate_box.svg) - חפש באינטרנט סמל קופסה SVG חופשי (למשל ב-Flaticon או Material Icons) והתאם אותו
- נסה להשתמש ב-PNG במקום SVG – ודא שהרקע שקוף
מאיפה להשיג סמלים מוכנים?
- Flaticon ↗ – אפשר להוריד כ-SVG
- Material Icons ↗ – פשוט וברור
- Material Design Icons ↗ – מאות סמלים בפורמט .svg
- Feather Icons ↗
- מקורות FreeCAD ↗
מה הלאה?
בשיעור 7 נלמד:
- כיצד לפרסם תוסף דרך מנהל התוספים הרשמי
- ליצור קובץ
package.xml - להכין מאגר GitHub
- לאפשר למשתמשים אחרים להתקין את התוסף שלך בקלות