Hallo,
ich habe in meinem Bauteil verschiedene Körper, deren Längen ich mir aus einem Spreadsheet zusammenbaue/berechne/beziehe.
Teilweise sind die Formeln in den Bemaßungen recht lange und ich würde gerne über die Constrains eines anderen Körpers meine Länge beziehen.
z.B.
Köper 1 ist 100cm breit (Benennung: breite_K1)
Köper 2 soll am linken Ende von Körper 1 befestigt werden und soll ein viertel so breit sein (Berechnung: breite_K1/4 Benennung: breite_K2)
Körper 3 soll am rechten Ende von Körper 1 befestigt werden und soll ebenfalls ein viertel so breit sein (Berechnung: breite_k2 Benennung: nicht nötig)
ich kann ja ganz einfach die Bemaßung mit einem Referenznamen versehen. Wenn ich das in Körper 1 gemacht habe, wie greife ich aus der Skizze von Körper 2 drauf zu?
Vielen Dank im Voraus...
Constrains aus anderen Körpern ansteuern
Re: Constrains aus anderen Körpern ansteuern
Das kommt darauf an, wie du dass getan hast. Hat z.B. der Körper2 einen Sketch5 und willst auf dass Maß test zugreifen, ist es egal wo du dich befindest (Körper3, Körper4), solange zu keine Kreisabhängigkeit erstellst. Dann einfach <<Sketch5>>.Constraints.test eingeben (die "<<" brauchst du zu beginn nicht eingeben, die werden dann automatisch mit der Autovervollständigung eingefügt).
Was derzeit nicht (ohne Workarounds, dann Shapebinder würde ich aber nicht machen) geht, ist im Sketcher eine externe Referenz auf einen anderen Körper zu legen, wegen dem TNP, siehe https://wiki.freecadweb.org/Topological ... problem/de.
Grundsätzlich sind Expressions (Formeln) die stabilste Art, was zu referenzieren.
Grüße
user1234
Re: Constrains aus anderen Körpern ansteuern
Vielen Dank für die schnelle Antwort.
Ich habe jetzt nur folgendes Problem bzw. Fehlermeldung:
Ich habe einen Wert aus dem besagten Constrain genommen und einen aus dem Spreadsheet. wie kann ich die Einheiten aufeinander abstimmen?
Ich habe jetzt nur folgendes Problem bzw. Fehlermeldung:
Ich habe einen Wert aus dem besagten Constrain genommen und einen aus dem Spreadsheet. wie kann ich die Einheiten aufeinander abstimmen?
Re: Constrains aus anderen Körpern ansteuern
Hat der Wert aus dem Spreadsheet die Einheit mm? FreeCAD rechnet mit Einheiten. Also mm * mm ergibt mm². Daher kann man natürlich 100mm - 1 nicht rechnen. Bevor die Frage auftaucht, warum man da Einheiten definieren muss, sonst würde die selbe Datei bei einem, der andere Einheiten als Standard definiert hat, ein ganz anderes Ergebnis (rechnerisch und Modell) ergeben.
Grüße
user1234
Re: Constrains aus anderen Körpern ansteuern
Also in der Skizze wird mir der Wert mit Einheit angezeigt:
und im Spreadsheet habe ich mit Einheiten anzeigen eingetragen:
An welcher Stelle muss ich nun noch was ändern, damit das zusammenpasst?
und im Spreadsheet habe ich mit Einheiten anzeigen eingetragen:
An welcher Stelle muss ich nun noch was ändern, damit das zusammenpasst?
Re: Constrains aus anderen Körpern ansteuern
Wen du auf das Feld klickst und oben auf den Inhalt schaut, sieht du vermutlich derzeit nur 160. Anzeige Einheit ist nicht das gleiche wie eine Einheit. Ab Besten lässt du das Anzeige Einheit. Einfach in das Feld 160mm (oder 16cm, oder 0,16m) eingeben, dann funktioniert es.
Grüße
user1234
Re: Constrains aus anderen Körpern ansteuern
Kannst du mal den Unterstrich ersetzen?
Ist ein verbotenes Zeichen für Objektnamen.
Mit freundlichen
Re: Constrains aus anderen Körpern ansteuern
Ich sehe es auch gerade in der Liste, wäre mir aber neu, dass das verboten wäre (es funktioniert ja auch). Aber warum wäre das verboten? Ich kenne keine mathematische Operation, die einen Unterstrich hat, egal ob C++ oder Python.
Grüße
user1234
edit: ja zu Beginn einer Variable geht es nicht, dass stimmt
- thomas-neemann
- Veteran
- Posts: 11909
- Joined: Wed Jan 22, 2020 6:03 pm
- Location: Osnabrück DE 🇩🇪
- Contact:
Re: Constrains aus anderen Körpern ansteuern
in manchen programmierumgebungen werden tiefstriche für reservierte dinge verwendet. ich würde nur a bis z und 0 bis 9 verwenden und nicht mit einer zahl beginnen.