Einleitung

Dieser Text entstand mit einer Vorabversion von FreeCAD 0.20.

Parametrische Bemaßung ist sozusagen eine ferngesteuerte Bemaßung: Ändert sich hier etwas etwas, muss sich dort etwas anpassen. In einer Konstruktion bedeutet dies: Wird der Rohrdurchmesser geändert, folgt der Flansch automatisch...

Hier werden die diesbezüglichen Methoden von FreeCAD anhand eines einfachen Beispiels gezeigt.

Tipp: Wer nicht gerne am Bildschirm liest, sollte es mit dem Smartphone versuchen.

Beachten muss man, dass FreeCAD prinzipiell gleichartige Aufgaben oft im Detail unterschiedlich löst. Eine Bezugsebene positioniert man anders als eine Skizzenebene, ein Parameter heißt in einer Skizze anders als in einer Tabelle, man überträgt sie aus einer Skizze anders als aus einer Tabelle, Drehungen von Ebenen ...

Das Beispiel
Screenshot Klotz mit Bezugsebene
Abb.01: Klotz mit Bezugsebene

Auf die Schräge eines Klotzes soll eine Bezugsebene [Datum Plane] gelegt werden. Wenn die Maße des Klotzes geändert werden, soll sich die Bezugsebene automatisch anpassen (→ Abb.01).

Weiter unten wird eine Skizzenebene [Sketch] statt einer Bezugsebene verwendet.

Der Klotz steht auf der xy-Ebene symmetrisch zur yz-Ebene. Das muss man wissen, wenn man Maße aus der Skizze (→ Abb.03b) übernimmt.

Download: Klotz.FCStd

Ist jedes Maß ein Parameter ...?

In den Arbeitsbereichen PartDesign und Sketcher kann man das so sehen, denn wenn man dort Maße (= Parameter) ändert, folgen die Skizze und/oder das 3D-Modell. In technischen Zeichnungen ist ein Maß definitiv kein Parameter, weil diese Maße nur nach außen angezeigt werden, aber selbst nichts bewirken.

Da es mir auf dieser Seite um die "Fernübertragung" von Maßen geht, werde ich den Begriff Parameter nur dafür verwenden.

Positionieren per Mausklick: Bezugsebene direkt an die Schräge binden

Screenshot markierte Ebene
Abb.02: Markierte Ebene

Die bequemste Methode ist leider die ungeeignetste, weil sie dem topologischen Benennungsproblem unterliegt.

Trotzdem sei sie genannt:

  • Icon PartDesign  Arbeitsbereich Part Design
  • Grafikansicht - Klick auf die schiefe Ebene (→ Abb.02)
  • PartDesign DatumPlane  Bezugsebene erstellen [DatumPlane]
    → Bezugsebene liegt auf der schiefen Ebene

Bezugsebene mit Parametern aus einer Skizze steuern

Deutlich weniger bequem ist es, Parameter aus der Skizze für die Positionierung der Bezugsebene zu übernehmen. Dafür sind diese Methoden einigermaßen sicher vor dem topologischen Benennungsproblem.

Vom Maß zum Parameter in einer Skizze

Das Kind braucht einen Namen, wenn man es rufen will, und das gilt auch für Parameter.

Wenn man in einer Skizze Maße zuweist, kann man ihnen einen (Parameter-)Namen geben und damit zu einem Parameter machen, der überall abrufbar ist.

Screenshot Maske
Abb.03a: Maske Länge einfügen

In unserem Beispiel soll eine Ebene auf der Schräge abgelegt werden, also müssen mindestens diesbezügliche Maße "parametrisiert" werden:

  • Sketcher NewSketch  Neues Skizzenblatt auf die yz-Ebene
  • Skizze erstellen, Nullpunkt links unten (→ Abb.03b)
  • Icon Sketcher ConstrainDistanceY  Y-Maß bemaßen (→ Abb.03a)
    • Länge: 10 mm
    • Name: hr
  • ... (→ Abb.03b)
  • Icon PartDesign_Pad  Extrusion [Aufpolstern, Pad]
    Länge 60 mm, symmetrisch.

 

Screenshot Kizze des Klotzes
Abb.03b: Skizze mit Parameter
(yz-Ebene, Nullpunkt links unten)

Wenn man Parameter aus Skizzen übernimmt, muss man ihre Namen vollständig eintippen, also liegt die Würze in der Kürze:

  • hr: Höhe des Randes
  • hs: Höhe der Schräge
  • bs: Breite der Schräge
  • br: Breite des Randes

So lassen sich die (Parameter-)Namen in der Skizze anzeigen:

  • Menüleiste - Bearbeiten - Einstellungen - Skizze - Anzeige - Zeige Namen der maßlichen Einschränkung ..: ein

 

Screenshot Aufgabenansicht
Abb.03c: Sketch -
Aufgabenansicht - Constraints

Bei geöffneter Skizze kann man (Parameter-)Namen und Maße auch bearbeiten in:
Aufgabenansicht [Task Panel] - Constraints (→ Abb.03c)

Bei geschlossener Skizze kann man die Parameter-)Namen einsehen und die Maße bearbeiten in:
Baumansicht [Tree View] - Sketch00x (markieren) - Eigenschaften [Sketch Property] (→ Abb.03d)

Screenshot Eigenschaften
Abb.03d: Sketch -
Eigenschaften - Constraints

Parameter aus Skizzen übertragen: Bezugsebene positionieren

Nun müssen die Parameter mithilfe ihrer Namen zur Positionierung der Ebene übernommen werden. Damit man die Maße aus der Skizze (→ Abb.03b) direkt übernehmen kann, stützt man die Bezugsebene auf der xy-Ebene ab. Das heißt, die im folgenden eingegebenen Parameter messen ab der xy-Ebene:

Screenshot Ebenenparameter
Abb.04a Maske Ebenenparameter
  • Icon PartDesign  Arbeitsbereich Part Design
  • Baumansicht - Origin - XY-Ebene (markieren)
  • PartDesign DatumPlane  Bezugsebene erstellen [DatumPlane]
    Ebenenparameter (→ Abb.04a)
    • (Stütz-)Ebene: XY_Plane (automatisch übernommen)
    • Versatz ... in z-Richtung:
      • = (Gleichheitszeichen eingeben)
        oder
      • Screenshot Icon Bound Expression  Formeleditor aufrufen [Ausdruck einfügen, Bound Expression]
    Formeleditor (→ Abb.04a)
    • Sk... (eintippen)
      → Auswahl erscheint
    • Sketch00x (die Skizze wählen, die die Maße enthält, z.B. Sketch001)
      Sketch001.
      steht mit Punkt in der Formeleditorzeile.
    • Sketch00x.Co... (weiter eintippen)
      → Auswahl erscheint
    • Constraints (wählen)
      Sketch00x.Constraints
      steht ohne Punkt am Ende in der Formeleditorzeile.
    • Sketch00x.Constraints.hr (Punkt ergänzen und weiter den Parameternamen eintippen)
      keine Auswahl, deshalb kurze Namen empfohlen.
      → Meldung "Failed to parse expression" wechselt zu "Ergebnis: 20 mm"
    • OK
    → in der Grafikansicht springt die Ebene nach oben (→ Abb.04a).

Zum Versatz in z-Richtung siehe → Anmerkungen zum Koordinatensystem von Ebene

Rechnen mit Parametern im Formeleditor: Berechnung des Winkels der Schräge

Screenshot Formeleditor mit Formeln
Abb.05a Formeleditor mit Formel
in der Maske Ebenenparameter

Ebenenparameter (Abb.04a) will für die Neigung der Schräge einen Winkel wissen. So etwas kann der Formeleditor überall da berechnen, wo man Maße eingeben kann:

  • Wenn die Maske Ebenenparameter bereits geschlossen ist, muss sie wieder geöffnet werden:
    Baumansicht - DatumPlane (Kontextmenü mit rechtem Mausklick) - Bezug ändern (wählen)
  • Es empfiehlt sich, den Parameter
    Sketch00x.Constraints.hr
    in die Zwischenablage zu kopieren:
    Versatz ... in z-Richtung: blaues rundes Symbol (anklicken) - (Formel markieren) - Strg-C
  • Screenshot Formeleditor mit Formeln
    Abb.05b Formel für den Winkel
    Versatz ... um die x-Achse: = oder Screenshot Icon Bound Expression
    →Formeleditor (→ Abb.05a)
    • Die Formel (→ Abb.05b) in FreeCAD-Formeleditor-Schreibweise lautet:

      atan(Sketch001.Constraints.hs/Sketch001.Constraints.bs)

      Ohne Gleichheitszeichen und atan statt arctan! (→ Anmerkungen zum Formeleditor)
      Wenn man einen Parameter aus der Zwischenablage einfügt (Strg-V), muss man nur die unterstrichenen Zeichen eintippen bzw. korrigieren.
    → Meldung "Failed to parse expression" wechselt zu "Ergebnis: °33,690°"
    → die Ebene dreht sich (→ Abb.05a)

Referenzmaße statt Formeln: Grafische Lösung für eine zentrierte Skizzenebene

Winkelfunktionen mag nicht jeder und umständlich einzugeben sind sie auch noch. Die frohe Botschaft ist, dass man sie oft und leicht durch grafische Lösungen ersetzen kann.

Der Trick ist, dass man zunächst die Skizze ganz normal erstellt, bis sie vollständig bestimmt ist. Danach fügt man zusätzlich noch → Referenzmaße ein für die Maße, die man sonst berechnen müsste - und schon erledigt FreeCAD die Rechnerei. Jetzt noch (Parameter-)Namen dazu, und die Bezugsebene - oder Skizzenebene - schwebt schon fast an ihrem Platz.

Zur Steigerung verwenden wir diesmal keine Bezugsebene, sondern ein Skizzenblatt [Sketch], dessen Koordinatensystem mittig auf der Schräge liegen soll. Neu ist, dass man Skizzenblätter nicht in einer Maske positionieren kann, sondern ihre Eigenschaften bemühen muss.

1. Referenzmaße setzen
Screenshot Referenzmaße
Abb.06a Referenzmaße (blau)
yz-Ebene, Nullpunkt links unten

Um die Mitte der Schräge zu erhalten, kann man einen Skizzenpunkt mittig zwischen die Linienendpunkte setzen:

  • Sketcher EditSketch  Skizzenblatt öffnen
  • Sketcher CreatePoint Skizzenpunkt setzen
  • Icon Sketcher ConstrainSymmetric  Symmetrisch anordnen (Linienendpunkte zu Mittelpunkt)
  • Icon Sketcher ConstrainDistanceX  Icon Sketcher ConstrainDistanceY  Icon Sketcher ConstrainAngle  Referenzmaße mit (Parameter-)Namen ergänzen

Die (Parameter-)Namen sind wieder kurz:

  • ea: Ebenenwinkel alpha
  • ey: Ebenenabstand in y-Richtung (rechts)
  • ez: Ebenenabstand in z-Richtung (oben)
2. Neue Skizze im Raum positionieren
Screenshot Referenzmaße
Abb.06b Skizzeneigenschaften
und Skizzenebene auf der Schräge

Zunächst wird ein neues Skizzenblatt geöffnet und mit einem Kreis ausgestattet, denn leere Skizzenblätter kann man nicht sehen. Der Mittelpunkt des Kreises sollte auf den Nullpunkt des Skizzenblattes liegen, dann hat man sein Koordinatensystem im Blick.

Um Skizzenblätter im Raum zu positionieren, muss man ihre Eigenschaften [Sketch Property] bemühen, und das geht erst, wenn die Skizze wieder geschlossen ist.

Auch die neue Skizze wird auf der xy-Ebene abgestützt, damit man die Referenzmaße aus Abb.06a übernehmen kann.

  • Icon Workbench_PartDesign  Arbeitsbereich PartDesign
  • Sketcher NewSketch  Neues Skizzenblatt auf die xy-Ebene
  • Sketcher Circle Kreis um den Nullpunkt skizzieren
  • Sketcher LeaveSketch  Skizzenblatt verlassen [Leave Sketch]
  • Baumansicht - Sketch (das neue Skizzenblatt markieren)
    Eigenschaft der Skizze erscheint unter der Baumansicht (→ Abb.06b)
    • Eigenschaften - Attachment -
      • Winkel: Sketch00x.Constraints.ea
      • Achse X: 1
      • Achse Y: 0
      • Achse Z: 0
      → Die Skizze dreht sich 33,..° um die x-Achse
    • Eigenschaften - Attachment -
      • Position Y: Sketch00x.Constraints.ey
      • Position Z: Sketch00x.Constraints.ez
    → Der Kreis und damit die Skizze liegen zentriert auf der Oberfläche der Schräge (→ Abb.06b).

Parameter in Tabellen verwalten

Statt Parameter auf viele Skizzen zu verteilen kann man sie auch übersichtlich in einer Tabelle [Spreadsheet] auflisten. Die Möglichkeit dazu bietet der Arbeitsbereich Spreadsheet.

Wenn man Parameter in Tabellen verwaltet, reagiert die Bezugsebene (→ Abb.06a in rot) nicht mehr auf Änderungen des Klotzes (→ Abb.03 oder → Abb.06a in rot), sondern es reagieren beide auf Änderungen in der Tabelle. Deswegen genügt es nicht, nur die Parameter für die Bezugsebene in der Tabelle zu verwalten (→ Abb.06a in blau), es müssen auch die Parameter für den Klotz sein.

Einer Tabellenkalkulation liegt das Rechnen schon im Namen, deshalb werden wir die Parameter für die Bezugsebene zunächst berechnen. Zuletzt und alternativ werden wir grafisch ermittelte Referenzwerte aus der Skizze in die Tabelle zurück übertragen.

1. Tabelle anlegen

Screenshot Tabelle öffnen
Abb.07a Tabelle öffnen
in drei Schritten

Zunächst muss man in den Arbeitsbereich Spreadsheet wechseln, ein Tabellenblatt [Spreadsheet] erstellen und öffnen.

  1. Icon Workbench Spreadsheet  Arbeitsbereich Spreadsheet
  2. Icon Spreadsheet - CreateSheet Kalkulationstabelle erstellen
  3. Baumansicht - Spreadsheet (Doppelklick)
    oder
    Grafikansicht - Reiter: Spreadsheet (Linksklick)

2. Parameter für den Klotz in der Tabelle erzeugen

Screenshot Tabelle
Abb.08a Tabelle mit Maßen

Ein Tabellenblatt funktioniert in FreeCAD ähnlich wie in LO Calc oder MS Excel. Neu ist nur der Alias, so heißt ein Parametername im Arbeitsbereich Spreadsheet. Man kann die Parameter aber auch mit ihrer Zelladresse ansprechen.

In → Abb.08a befinden sich die Parameter in den gelb hinterlegten Zellen B2 bis B5, alle anderen Zellen sind Kosmetik. Die Details werden am Beispiel der Zelle B3 geschildert:

  • Der Inhalt von B3 ist das Maß 20 (=Parameter).
  • Der (Parameter-)Alias von B3 lautet Hoehe_Schraege
    • Man muss wohl erst einen Inhalt eingeben und danach den Alias eintippen.
    • Zellen mit Alias werden gelb hinterlegt.
    • Bei der Übernahme von Parametern aus Tabellen sind längere Aliase von Vorteil (s.u.).
    • Im Alias sind kaum Sonderzeichen erlaubt.
    • Groß- und Kleinschreibung beachten
    • In der Zelle links neben dem Parameter wiederhole ich den Alias zur besseren Übersicht.
    • In die Zelle rechts neben dem Alias schreibe ich Bemerkungen.

3. Parameter berechnen in Tabellen: (Referenz-)Parameter für die Ebene

Tabellenkalkulationen [Spreadsheet] sind zum Rechnen geschaffen und die Formeln sind simpel, also los...

Wir berechnen die Mitte der Schräge und sollten die Ergebnisse wie in → Abb.06a erhalten. Der Aufbau der Tabelle entspricht dem vorigen Abschnitt und natürlich erhalten die Zellen je einen (Parameter-)Alias.

Beachten Sie...

  • Die Eingaben in Zellen sollten sich in der Inhaltszeile abspielen (→ Abb.09a ganz oben). In den Zellen geht es zwar auch, aber dort gibt es keine Auswahl und man muss alles selbst tippen.
  • In FreeCAD-Tabellen muss man Groß-/Klein-Schreibung beachten.
  • Wenn man keine Einheiten angibt, verwendet FreeCAD mm [Millimeter] und sonst SI-Einheiten.
  • Wenn man Einheiten eingibt, rechnet FreeCAD mit ihnen und das ist eigentlich eine tolle Sache, aber mit Mischformen kann FreeCAD nicht umgehen und das heißt: Wenn man einmal mm getippt hat, muss man es immer tun. In Physik gerne, in Konstruktionen eher nicht ;-)
3a. Formel in B8 mit (Parameter-)Alias
Screenshot Formel mit Alias
Abb.09a: Formel in B8
mit (Parameter-)Alias

Die y-Koordinate der Schrägenmitte entspricht der halben Breite der Schräge (→ Abb.06a).

Wir geben die Formel mit (Parameter-)Alias ein (→ Abb.09a):

  • Zelle B8: (anklicken)
  • Inhalt: (In die leere Inhaltszeile klicken)
  • = (tippen)
    In Tabellenkalkulationen ist ein Gleichheitszeichen das Signal dafür, dass eine Formel folgt
  • Bre... oder Sch... (eintippen)
    → Auswahl erscheint
  • Breite_Schraege (auswählen)
  • /2 (geteilt durch 2 eintippen)
  • ENTER
    → Das Ergebnis 15 erscheint in der Zelle
  • (Parameter-)Alias für B8: Ebene_y (nicht vergessen)
3b. Formel in B9 mit Zelladressen
Screenshot Formel mit Alias
Abb.09b: Formel in B9
mit Zelladressen

Die z-Koordinate der Schrägenmitte entspricht der Höhe des Randes plus der halben Höhe der Schräge (→ Abb.06a).

Diesmal geben wir die Formel mit Zelladressen ein (→ Abb.09b):

  • Zelle B9, Inhaltszeile, =
  • =B2 + B3 / 2 (eintippen)
  • Ergebnis: 20
3c. Formel in B10 - Winkelfunktion
Screenshot Formel mit Arctan
Abb.09c: Formel in B9

Zum Abschluss eine kleine Übung (→ Abb.09c). Hinweise zur Formel gibt es oben → Formeleditor.

4. Parameter aus der Tabelle in das Modell übertragen.

Und noch ein Mal bauen wir den Klotz auf:

4a. Parameter aus der Tabelle in die Skizze übertragen
Screenshot Skizze mit Parametern
Abb.10a: Querschnitt des Klotzes
mit Parametern aus der Tabelle
(yz-Ebene, Nullpunkt links unten)
  • Sketcher NewSketch  PartDesign - Neues Skizzenblatt auf die yz-Ebene
  • Sketcher Polyline  Querschnitt des Klotzes skizzieren (→ Abb.10a)
  • Sketcher Y-Maß  Höhe 10 mm mit dem Parameter Hoehe_Rand aus der Tabelle [Spreadsheet] bemaßen
    → Maske Länge einfügen
    • Länge: = oder Screenshot Icon Bound Expression
      Formeleditor wird geöffnet
    • Sp.... (eintippen)
      → es erscheint eine Auswahl
    • Spreadsheet (wählen - z.B. mit Pfeiltasten)
      Spreadsheet. erscheint im Formeleditor
    • Spreadsheet.Hoe... oder Ran.. (weiter tippen)
      → es erscheint eine Auswahl
    • Hoehe_Rand (auswählen)
      Spreadsheet.Hoehe_Rand steht im Formeleditor
    • OK
  • Name: ... (nicht nötig, weil wir den Parameter aus dem Spreadsheet holen
  • Referenz: ... (trifft nicht zu)
  • ... (weitere Parameter eingeben
4b. Parameter aus der Tabelle in Extrusionen & Co exportieren

Bei der Extrusion [Aufpolsterung, Pad] gibt man statt eines Maßes einfach Parameter ein.

4c. Parameter aus der Tabelle auf die Position einer Bezugsebene oder einer Skizzenebene übertragen

Auch die Positionierung einer Bezugsebene oder einer Skizzenebene funktioniert genauso wie oben, nur gibt man Parameter statt Maße ein.

4d. Testen der Versuchsanordnung
Screenshot Skizze mit Parametern
Abb.10b: Gesamtdarstellung
mit veränderter Randhöhe

Ordnen Sie die Fenster nebeneinander an und beobachten Sie die Veränderungen, wenn Sie in der Tabelle ein Maß ändern.

  • Menüleiste - Fenster - Anordnen (und ein bisschen schieben)
  • Bei größeren Konstruktionen kann die Reaktion auf Änderungen dauern...

5. Parameter aus dem Modell in Tabellen übertragen

Es wäre reizvoll, wenn man jetzt auch noch Referenzmaße aus Skizzen in eine Tabelle übertragen und sich auch hier die Rechnerei sparen könnte. Es funktioniert sogar, aber problemlos nur, wenn man zwei getrennte Tabellen für den Import und den Export von Parametern verwendet, also auf Kosten der Übersichtlichkeit. Schade!

Erfahrungen mit einer Tabelle → Fehlermeldung.

5a. Vorbereitungen
Screenshot Tabelle für Referenzmaße
Abb.11a: Tabelle für Referenzmaße
(Vergleiche → Abb.09a)
  • Tabelle 1 mit Parametern für den Klotz anlegen (→ Abb.08a)
  • Querschnitt des Klotzes mit den Parametern aus der Tabelle skizzieren (→ Abb.10a)
  • Referenzmaße auf die Mitte der Schräge legen (→ Abb.06a)
  • Tabelle 2 für die Referenzmaße vorbereiten (→ Abb.11a, ohne Formeln)
5b. Referenzmaße aus der Skizze in Tabelle 2 übertragen
Screenshot Tabelle für Referenzmaße
Abb.11b: Sketch will Aktualisierung
  • Baumansicht - ... - Sketch (anklicken, → Abb.11b)
    → unter der Baumansicht erscheinen die Eigenschaften von Sketch, von denen man einige in die Tabelle übertragen kann.
  • Zelle B12 (anklicken, → Abb.11a)
  • Inhalt: (in die leere Zeile klicken)
  • =sk... (eintippen, Sketch auswählen))
  • =Sketch.co... (eintippen, Constraints auswählen))
  • =Sketch.Constraints.ey (mit Punkt eintippen)
    → die vollständige Adresse ist in Abb.11b rot unterstrichen.
  • ENTER

→ das Referenzmaß wird in die Tabelle übernommen und kann zB. zur Positionierung einer Bezugsebene verwendet werden.

Auf diese Weise kann man auch andere Parameter in die Tabelle übertragen, z.B. die Länge einer Extrusion (Pad00x.Length)

Download: Klotz_Test.FCStd

Sonstige parametrische Methoden

Andere parametrische Methoden werden hier nicht behandelt:

Anmerkungen

Koordinatensystem von Ebenen

  • Versatz ... in z-Richtung bedeutet nicht, dass die Ebene in die z-Richtung des Koordinatensystems (des Bodys) verschoben wird, sondern dass es senkrecht zur Stützebene verschoben wird (→ Abb.04a XY_Plane001). Vermute ich jedenfalls ...
  • Wie das lokalen Koordinatensystems [local CS] funktioniert, habe ich noch nicht recherchiert. Einfach ausprobieren geht schneller ...

Formeleditor

  • Der Formeleditor funktioniert ähnlich wie bei LO Calc und MS Excel, natürlich mit kleinerem Funktionsumfang und ein paar Ausnahmen:
  • Das Gleichheitszeichen = wird zum Aufruf des Formeleditors benutzt, darf aber nicht in der Formel selbst stehen.
    Dies gilt aber nicht für den Formeleditor im Arbeitsbereich Spreadschicht. Dort muss eine Formel mit einem Gleichheitszeichen beginnen.
  • Die Arcusfunktionen werden mit asin, atan usw. abgekürzt statt mit arcsin, arctan usw.
    LO Calc kennt diese Schreibweise nicht und im FreeCAD-Wiki heißt das geeignete Suchwort nicht Formeleditor, sondern Ausdrücke. Stunden später ...
  • FreeCAD-Wiki: mathematische Ausdrücke bzw. Formeln.

Fehlermeldung

Wenn man eine Skizze mit Parametern aus einer Tabelle aufbaut, Referenzmaße ergänzt und die neuen Referenzparameter zurück in die gleiche Tabelle übertragen möchte, zeigt sich FreeCAD widerspenstig.

Download: Klotz_Test.FCStd

5b. (alternativ) Referenzmaße aus der Skizze in die Tabelle übertragen
Screenshot Tabelle für Referenzmaße
Abb.11b: Sketch will Aktualisierung
  • Zelle B12 (→ Abb.11a)
  • =Sketch00x.Constraints.ey (eintippen)
    • Sketch00x ist die Skizze, die die Referenzmaße enthält (in Abb.11a: Sketch).
    • FreeCAD bietet beim Eintippen eine Auswahl an, in der nur die gesuchte Skizze fehlt.
      → das ist ein Hinweis, dass FreeCAD nicht mitspielen möchte
      → trotzdem: Eintippen!
  • ENTER
    → das Referenzmaß wird übernommen
    → Baumdiagramm - ... - Sketch schreit nach Aktualisierung (→ Abb.11b)
  • Std Refresh  Aktualisieren [Std_Refresh]
    Fehlermeldung: ...
5c. Referenzmaße aus der Tabelle heraus verwenden

Die Fehlermeldung ist für mich nicht zu lösen, aber ich will wenigstens wissen, ob es trotzdem funktioniert. Also wird wie geplant eine Skizzenebene auf die Schraege gelegt:

  • Neue Skizzenebene auf die Schräge mit den Refenzmaßen aus der Tabelle verankern (→ Abb.06a)

Alles funktioniert wie geplant und die Testreihe zeigt auch keine Auffälligkeiten. Nur der Aktualisierungswunsch der Skizze bleibt bestehen, und ob man auf dieser Basis produktiv arbeiten soll, glaube ich nicht.

5d. Fehlermeldungen beim Aktualisieren
Screenshot Fehlermeldung
Abb.11c: Fehlermeldung: Abhängigkeitsfehler

Im Schritt 5b (alternativ) erscheint die Fehlermeldung (→ 11c):

Abhängigkeitsfehler
Das Dokument enthält Abhängigkeitszyklen.
Bitte überprüfen Sie die Berichtsansicht für weitere Details.
Möchten Sie trotzdem fortfahren?

5e. Meldung in der Berichtsansicht

Nach einer Berichtsansicht habe ich früher schon gesucht, deswegen weiß ich, dass die Berichtsansicht im Programm Ausgabefenster heißt ...

Die Meldung in der Berichtsansicht [Ausgabefenster, Report View] lautet:

Klotz#Sketch still touched after recompute
The graph must be a DAG

5f. Überlegungen dazu

Wenn man Suchmaschinen nach The graph must be a DAG befragt, findet man Infos und Werkzeuge, aber so genau will ist es gar nicht wissen.

  • Das Programm überträgt die Referenzmaße wie gewünscht aus einer Skizze in eine Tabelle und lässt sie auch verarbeiten, bringt aber eine Fehlermeldung ins Spiel, die nicht mehr zu entfernen ist.
  • Die Fehlermeldung spricht von Abhängigkeitszyklen (Zirkelschluss) innerhalb des Dokumentes, d.h. A hängt von B ab, und B hängt von A ab, was nicht eindeutig lösbar wäre.
    • Richtig ist: Sketch holt Parameter aus dem Spreadsheet und Spreadsheet holt Parameter aus dem Sketch.
    • Aber es sind nicht die gleichen Parameter, und praktisch funktioniert es ja zunächst.
  • Einen logischen Grund für die Fehlermeldung sehe ich nicht, außer dass es vermutlich einfacher zu programmieren ist, ganze Dokumente gegen Abhängigkeitszyklen zu blockieren als einzelne Parameter zu überprüfen ...
  • Folgende Versuche, FreeCAD durch Umwege zu überlisten, führten zur gleichen Fehlermeldung:
    • Skizze des Querschnittes klonen [CarbonCopy] und die Referenzmaße im Klon erzeugen und von dort in die Tabelle übertragen.
    • Referenzmaße von Tabelle 2 in Tabelle 1 übertragen

Notizen