Jump to content

Create a FeaturePython object part I/de: Revision history

Diff selection: Mark the radio buttons of the revisions to compare and hit enter or the button at the bottom.
Legend: (cur) = difference with latest revision, (prev) = difference with preceding revision, m = minor edit.

(newest | oldest) View (newer 50 | ) (20 | 50 | 100 | 250 | 500)

12 June 2026

16 February 2026

7 February 2025

10 January 2025

25 December 2024

  • curprev 14:0514:05, 25 December 2024 Edi271 talk contribs 17,829 bytes +17 Created page with "Das war es, du weißt jetzt, wie du ein einfaches, funktionales FeaturePython-Objekt erstellst!" undo
  • curprev 14:0414:04, 25 December 2024 Edi271 talk contribs 17,812 bytes +37 Created page with "Du solltest die gedruckte Ausgabe in der Python-Konsole sehen, dank des Aufrufs {{incode|recompute()}}, den wir der Methode {{incode|create()}} hinzugefügt haben. Natürlich tut die Methode {{incode|execute()}} hier nichts, außer uns mitzuteilen, dass sie aufgerufen wurde, aber sie ist der Schlüssel zur Magie der FeaturePython-Objekte." undo
  • curprev 14:0314:03, 25 December 2024 Edi271 talk contribs 17,775 bytes +22 Created page with "Teste den Code, indem du diese Schritte erneut ausführst: *Speichern und Modul neu laden. *Alle Objekte löschen. *Neues Box-Objekt erstellen." undo
  • curprev 14:0314:03, 25 December 2024 Edi271 talk contribs 17,753 bytes +3 Created page with "Füge nach der Funktion {{incode|__init__()}} Folgendes hinzu:" undo
  • curprev 14:0214:02, 25 December 2024 Edi271 talk contribs 17,750 bytes +33 Created page with "Eine vollständige Referenz der für die Implementierung in FeautrePython-Klassen verfügbaren Methoden findest du unter FeaturePython-Methoden." undo
  • curprev 14:0214:02, 25 December 2024 Edi271 talk contribs 17,717 bytes +123 Created page with "Das letzte für ein grundlegendes FeaturePython-Objekt erforderliche Element ist das Abfangen von Ereignisen. Ein FeaturePython-Objekt kann mit Rückruffunktionen auf Ereignisse reagieren. In unserem Fall möchten wir, dass das Objekt reagiert, wenn es neu berechnet wird. Mit anderen Worten, wir möchten Neuberechnungen abfangen. Um dies zu erreichen, müssen wir der Objektklasse eine Funktion mit einem bestimmten Namen, {{incode|execute()}}, hinzufügen. Es gibt mehrere..." undo
  • curprev 14:0014:00, 25 December 2024 Edi271 talk contribs 17,594 bytes +39 Created page with "===Ereignisse abfangen===" undo
  • curprev 14:0014:00, 25 December 2024 Edi271 talk contribs 17,555 bytes +76 Created page with "Sicherlich ist dir aufgefallen, dass für die Abmessungen drei verschiedene Werte eingegeben wurden: ein Gleitkommawert ({{incode|10.0}}) und zwei verschiedene Zeichenfolgen ({{incode|'10 mm'}} und {{incode|'1 cm'}}). Der Typ {{incode|App::PropertyLength}} geht davon aus, dass Gleitkommawerte in Millimetern vorliegen, Zeichenfolgenwerte werden gemäß den angegebenen Einheiten analysiert und in der GUI werden alle Werte in die in den Benutzereinstellungen angegebenen Ein..." undo
  • curprev 13:5813:58, 25 December 2024 Edi271 talk contribs 17,479 bytes +58 Created page with "Beachte auch, dass die Eigenschaften Einheiten haben. Genauer gesagt haben sie die linearen Einheiten übernommen, die in den Benutzereinstellungen festgelegt sind ({{MenuCommand|Bearbeiten → Einstellungen... → Allgemein → Einheiten}}). {{Löschen}}" undo
  • curprev 13:5713:57, 25 December 2024 Edi271 talk contribs 17,421 bytes +46 Created page with "Sobald die Box erstellt ist und du überprüft hast, ob sie neu berechnet wurde, wähle das Objekt aus und sehe dir seine Eigenschaften an. Dabei solltest du zwei Dinge beachten: *Eine neue Eigenschaftengruppe: „Abmessungen“. *Drei neue Eigenschaften: „Höhe“, „Länge“ und „Breite“." undo
  • curprev 13:5613:56, 25 December 2024 Edi271 talk contribs 17,375 bytes +36 Created page with "Teste nun deine Änderungen wie folgt: *Speichere deine Änderungen und lade dein Modul neu. *Lösche alle Objekte in der Strukturansicht. *Erstelle ein neues Box-Objekt aus der Python-Konsole, indem du {{incode|box.create('myBox')}} aufrufst." undo
  • curprev 13:5513:55, 25 December 2024 Edi271 talk contribs 17,339 bytes +35 Created page with "'''Sei vorsichtig, wenn du ein FeaturePython-Objekt neu berechnest. Die Neuberechnung sollte von einer Methode außerhalb seiner Klasse durchgeführt werden.'''" undo
  • curprev 13:5413:54, 25 December 2024 Edi271 talk contribs 17,304 bytes +22 Created page with "Und fügen wir auch etwas Code hinzu, um das Dokument automatisch neu zu berechnen. Füge die folgende Zeile über der {{incode|return()}}-Anweisung in der {{incode|create()}}-Methode hinzu:" undo
  • curprev 13:5313:53, 25 December 2024 Edi271 talk contribs 17,282 bytes +40 Created page with "Lass uns noch einige weitere Eigenschaften hinzufügen. Kehre zu deinem Quellcode zurück und füge der Methode {{incode|__init__()}} die folgenden Eigenschaften hinzu:" undo
  • curprev 13:5213:52, 25 December 2024 Edi271 talk contribs 17,242 bytes +110 Created page with "Du solltes das neue Boxobjekt in der Strukturansicht sehen: *Wähle es aus und sehe dir den Eigenschafteneditor an. Dort solltest du die Eigenschaft „Beschreibung“ sehen. *Bewege den Mauszeiger über den Eigenschaftennamen auf der linken Seite und der Tooltip sollte mit der von dir angegebenen Beschreibung erscheinen. *Wähle das Feld aus und gib ein, was du möchtest. Du wirst feststellen, dass Python-Aktualisierungsbefehle ausgeführt und in der Konsole angezeigt w..." undo
  • curprev 13:5013:50, 25 December 2024 Edi271 talk contribs 17,132 bytes +34 Created page with "Nachdem wir das Modul neu geladen haben, sehen wir uns an, was wir erhalten, wenn wir ein Objekt erstellen:" undo
  • curprev 13:5013:50, 25 December 2024 Edi271 talk contribs 17,098 bytes +82 Created page with "Wenn du fertig bist, speichere die Änderungen und wechsle zurück zu FreeCAD. Bevor wir die an unserem Code vorgenommenen Änderungen beobachten können, müssen wir das Modul neu laden. Dies kann durch einen Neustart von FreeCAD erreicht werden, aber ein Neustart von FreeCAD jedes Mal, wenn wir den Code bearbeiten, wäre unpraktisch. Um die Dinge einfacher zu machen, gib Folgendes in die Python-Konsole ein:" undo
  • curprev 13:4813:48, 25 December 2024 Edi271 talk contribs 17,016 bytes +19 Created page with "Beachte, dass wir den Verweis auf das (serialisierbare) FeaturePython-Objekt {{incode|obj}} und nicht auf die (nicht serialisierbare) Python-Klasseninstanz {{incode|self}} verwenden." undo
  • curprev 13:4813:48, 25 December 2024 Edi271 talk contribs 16,997 bytes +33 Created page with "Versuchen wir, unserer Box-Klasse eine Eigenschaft hinzuzufügen. Wechsle zu deinem Code-Editor, gehe zur Methode {{incode|__init__()}} und füge am Ende der Methode Folgendes hinzu:" undo
  • curprev 13:4713:47, 25 December 2024 Edi271 talk contribs 16,964 bytes +35 Created page with "Du kannst die Liste der unterstützten Eigenschaften anzeigen, indem du Folgendes eingibst:" undo
  • curprev 13:4513:45, 25 December 2024 Edi271 talk contribs 16,929 bytes +21 Created page with "Das Hinzufügen von Eigenschaften erfolgt mit der Methode {{incode|add_property()}}. Die Syntax für die Methode lautet:" undo
  • curprev 13:4413:44, 25 December 2024 Edi271 talk contribs 16,908 bytes +64 Created page with "Eigenschaften sind das Lebenselixier einer FeaturePython-Klasse. Glücklicherweise unterstützt FreeCAD eine Reihe von Eigenschaftstypen für FeaturePython-Klassen. Diese Eigenschaften werden direkt an das FeaturePython-Objekt angehängt und beim Speichern der Datei vollständig serialisiert. Um zu vermeiden, dass Sie Daten selbst serialisieren müssen, ist es ratsam, nur diese Eigenschaftstypen zu verwenden." undo
  • curprev 13:4413:44, 25 December 2024 Edi271 talk contribs 16,844 bytes +2 Created page with "oben" undo
  • curprev 13:4313:43, 25 December 2024 Edi271 talk contribs 16,842 bytes +22 Created page with "Nun wollen wir sehen, ob wir unseren Unterricht etwas interessanter und vielleicht auch nützlicher gestalten können." undo
  • curprev 13:4313:43, 25 December 2024 Edi271 talk contribs 16,820 bytes +35 Created page with "Dies ist tatsächlich der zugewiesene Wert, sodass wir wissen, dass wir über das FeaturePython-Objekt auf die benutzerdefinierte Klasse zugreifen." undo
  • curprev 13:4213:42, 25 December 2024 Edi271 talk contribs 16,785 bytes 0 Created page with "Das Ergebnis ist:" undo
  • curprev 13:4213:42, 25 December 2024 Edi271 talk contribs 16,785 bytes +21 Created page with "Wir können unsere {{incode|Type}}-Eigenschaft sehen. Schauen wir sie uns an:" undo
  • curprev 13:4213:42, 25 December 2024 Edi271 talk contribs 16,764 bytes 0 Created page with "Das Ergebnis ist:" undo
  • curprev 13:4113:41, 25 December 2024 Edi271 talk contribs 16,764 bytes +7 Created page with "Lass es uns mit der Methode {{incode|dir()}} untersuchen:" undo
  • curprev 13:4113:41, 25 December 2024 Edi271 talk contribs 16,757 bytes +49 Created page with "Es gibt viele Attribute, weil wir auf das native FreeCAD FeaturePyton-Objekt zugreifen, das in der ersten Zeile unserer {{incode|create()}}-Methode erstellt wurde. Die {{incode|Proxy}}-Eigenschaft, die wir in unserer {{incode|__init__()}}-Methode hinzugefügt haben, ist ebenfalls vorhanden." undo
  • curprev 13:4013:40, 25 December 2024 Edi271 talk contribs 16,708 bytes 0 Created page with "Das Ergebnis ist:" undo
  • curprev 13:4013:40, 25 December 2024 Edi271 talk contribs 16,708 bytes +11 Created page with "Schauen wir uns die Attribute unseres Objekts an:" undo
  • curprev 13:3913:39, 25 December 2024 Edi271 talk contribs 16,697 bytes +68 Created page with "Beachte auch, dass sich in der Strukturansicht neben dem FeaturePython-Objekt ein kleines blaues Häkchen befindet. Das liegt daran, dass ein Objekt beim Erstellen oder Ändern „berührt“ wird und neu berechnet werden muss. Dies wird durch Drücken der Schaltfläche {{Button|16px Std Refresh}} erreicht. Wir werden später etwas Code hinzufügen, um dies zu automatisieren. {{Clear}}" undo
  • curprev 13:3813:38, 25 December 2024 Edi271 talk contribs 16,629 bytes +6 Created page with "Beachte, dass das Symbol grau ist. FreeCAD teilt uns mit, dass das Objekt in der 3D-Ansicht nichts anzeigen kann. Klicke auf das Objekt und sieh dir seine Eigenschaften im Eigenschafteneditor an. Dort steht nicht viel, nur der Name des Objekts." undo
  • curprev 13:3713:37, 25 December 2024 Edi271 talk contribs 16,623 bytes +28 Created page with " right Du solltest ein neues Objekt in der Baumansicht mit der Bezeichnung „my_box“ erscheinen sehen." undo
  • curprev 13:3613:36, 25 December 2024 Edi271 talk contribs 16,595 bytes +8 Created page with "Jetzt müssen wir unser Objekt erstellen:" undo
  • curprev 13:3613:36, 25 December 2024 Edi271 talk contribs 16,587 bytes −1 Created page with "Gib in der Python-Konsole Folgendes ein:" undo
  • curprev 13:3513:35, 25 December 2024 Edi271 talk contribs 16,588 bytes +56 Created page with "Jetzt können wir unser neues Objekt testen. Speichere deinen Code und kehre zu FreeCAD zurück. Stelle sicher, dass du ein neues Dokument geöffnet hast. Du kannst dies tun, indem du {{KEY|Ctrl}}+{{KEY|N}} drückst oder {{MenuCommand|File → New}} auswählst." undo
  • curprev 13:3513:35, 25 December 2024 Edi271 talk contribs 16,532 bytes +18 Created page with "Die Methode {{incode|create()}} ist nicht erforderlich, bietet aber eine gute Möglichkeit, den Code zur Objekterstellung zu kapseln." undo
  • curprev 13:3413:34, 25 December 2024 Edi271 talk contribs 16,514 bytes +105 Created page with "{|class="wikitable" cellpadding="5px" width="100%" |style="width:25%" | {{incode|import FreeCAD as App}} |style="width:75%" | Standardimport für die meisten Python-Skripte, der App-Alias ​​ist nicht erforderlich. |- | {{incode|obj <nowiki>=</nowiki> ... addObject(...)}} | Erstellt ein neues FreeCAD FeaturePython-Objekt mit dem an die Methode übergebenen Namen. Wenn es keine Namenskollision gibt, sind dies die Bezeichnung und der Name des erstellten Objekts. Andernf..." undo
  • curprev 13:3313:33, 25 December 2024 Edi271 talk contribs 16,409 bytes +13 Created page with "A'''Die Aufschlüsselung der {{incode|create()}}-Methode:'''" undo
  • curprev 13:3313:33, 25 December 2024 Edi271 talk contribs 16,396 bytes +3 Created page with "Füge oben in der Datei den folgenden Code hinzu:" undo
  • curprev 13:3213:32, 25 December 2024 Edi271 talk contribs 16,393 bytes +25 Created page with "'{|class="wikitable" cellpadding="5px" width="100%" |style="width:25%" | {{incode|def __init__(self, obj):}} |style="width:75%" | Parameter beziehen sich auf die Python-Klasse selbst und das FeaturePython-Objekt, an das sie angehängt ist. |- | {{incode|self.Type <nowiki>=</nowiki> 'box'}} | String-Definition des benutzerdefinierten Python-Typs. |- | {{incode|obj.Proxy <nowiki>=</nowiki> self}} | Speichert einen Verweis auf die Python-Instanz im FeaturePython-Objekt. |}" undo
  • curprev 13:3113:31, 25 December 2024 Edi271 talk contribs 16,368 bytes +12 Created page with "'''Die Aufschlüsselung der {{incode|__init__()}}-Methode:'''" undo
(newest | oldest) View (newer 50 | ) (20 | 50 | 100 | 250 | 500)