|
Beschreibung |
---|
Makro, das mit einem einfachen Klick in die Zelle einer Kalkulationstabelle eine Längen-Beschränkung zu einer Linie, einem Kreis, oder zwischen zwei Punkten, mit einem Alias oder einer Adresse (bspw. C2) hinzufügt. Änderungen an der Kalkulationstabelle ändern die Beschränkung. Das Makro erzeugt die Alias. Wähle eine Linie, zwei Punkte oder eine Beschränkung, klicke auf eine Tabellenzelle und führe das Makro aus. Es können Linien, Punkte am Ende der Line, Punkte, Kreise oder Bögen von Kreisen ausgewählt werden. Versionsmakro : 02.02 Datum der letzten Änderung : 2025-03-30 FreeCAD version : Alle Herunterladen : ToolBar icon Autor: 2cv001 |
Autor |
2cv001 |
Herunterladen |
ToolBar icon |
Links |
Makros Rezepte Wie installiere ich Makros So passen Sie Symbolleisten an |
Macro-Version |
02.02 |
Datum der letzten Änderung |
2025-03-30 |
FreeCAD-Version(s) |
Alle |
Standardverknüpfung |
None |
Siehe auch |
None |
Beschreibung
Kontaktiere mich bei Problemen im FreeCAD-Forum.
Makro, das mit einem einfachen Klick in die Zelle einer Kalkulationstabelle eine Längen-Beschränkung zu einer Linie, einem Kreis, oder zwischen zwei Punkten, mit einem Alias oder einer Adresse (bspw. C2) hinzufügt. Änderungen an der Kalkulationstabelle ändern die Beschränkung. Das Makro erzeugt die Alias.
Wähle eine Linie, zwei Punkte oder eine Beschränkung, klicke auf eine Tabellenzelle und führe das Makro aus. Es können Linien, Punkte am Ende der Line, Punkte, Kreise oder Bögen von Kreisen ausgewählt werden.
Temporary code for external macro link. Do not use this code. This code is used exclusively by Addon Manager. Link for optional manual installation: Macro
# This code is copied instead of the original macro code # to guide the user to the online download page. # Use it if the code of the macro is larger than 64 KB and cannot be included in the wiki # or if the RAW code URL is somewhere else in the wiki. from PySide import QtGui, QtCore diag = QtGui.QMessageBox(QtGui.QMessageBox.Information, "Information", "This macro must be downloaded from this link\n" "\n" "https://raw.githubusercontent.com/2cv001/FreeCAD-macros/master/Spreadsheet/Sketch_Constraint_From_Spreadsheet.FCMacro" + "\n" "\n" "Quit this window to access the download page") diag.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint) diag.setWindowModality(QtCore.Qt.ApplicationModal) diag.exec_() import webbrowser webbrowser.open("https://raw.githubusercontent.com/2cv001/FreeCAD-macros/master/Spreadsheet/Sketch_Constraint_From_Spreadsheet.FCMacro")
Anwendung
Automatische Objekt-Erzeugung
Wenn das Makro ausgeführt wird bevor eine Kalkulationstabelle, ein Körper oder eine Skizze erstellt wurde, schlägt das Makro vor eine zu erstellen. Anschließend wird die Skizze im Bearbeitungsmodus und die Kalkulationstabelle geöffnet, so dass sie ausgefüllt werden kann.
Automatische Alias-Erzeugung
Es ist nicht verpflichtend, aber besser, Alias in der Kalkulationstabelle zu nutzen. Das Makro kann Alias aus Texten der Zellen erzeugen.
Zwei Modi:
- Manueller Modus, bei dem die Zellen mit dem Alias-Text selbst ausgewählt werden müssen und der Automatikmodus.
- und der Automaktikmodus:
Automatik-Modus
Ein automatischer Modus, in dem Alias automatisch unter Verwendung eines durch eine Zelle definierten Textbereichs erstellt wird. Der Bereich umfasst die Zelle und die darunterliegenden Zellen. Diese Texte stimmen mit dem Alias-Namen überein. Der Alias rechts des Textes erzeugt. Die benannte Zelle (hier A3) kann in diesem Dialog geändert werden:
Manueller Modus
Um den manuellen Modus zu nutzen, aktiviere die Option "Automatischer Alias".
Beschränkungen erzeugen
1) Wähle:
- eine Linie,
- zwei Punkte (Ende einer Linie, Zentrum des Kreises, etc.)
- oder eine Längenbeschränkung.
2) Klicke auf die Zelle einer Kalkulationstabelle, mit oder ohne Alias, die einen numerischen Wert beinhaltet:
3) Führe das Makro aus.
4) Wähle die gewünschte Art der Beschränkung:
Wenn die Zelle einen Alias hat, wird die Längen-Eigenschaft der Beschränkung in etwa zu 'Spreadsheet.Alias'. Andernfalls in etwa zu 'Spreadsheet.D4'.
5) Wenn die Beschränkungen einen Konflikt hervorruft und die Option "Konflikterkennung" aktiviert ist, schlägt das Makro vor die neue Beschränkung zu löschen:
Wenn eine bestehende Beschränkung ausgewählt wird, kann der Wert durch den Wert einer Kalkulationstabelle ersetzt werden:
Das Makro kann auch mit externer Geometrie einer anderen Skizze umgehen:
Um die Dinge noch weiter zu verfeinern, wenn z. B. eine Linie eher horizontal als vertikal ist, liegt der Fokus beim Öffnen des Dialogfelds auf der Schaltfläche für die Anwendung einer horizontalen Beschränkung. Wenn die Linie nicht horizontal, sondern vertikal ist, liegt der Fokus auf der Schaltfläche für die vertikalen Beschränkung. Drücke in beiden Fällen einfach die Eingabetaste, wenn die Wahl zufriedenstellend ist.
Das Makro funktioniert auch für Objekteigenschften. Wird z.B. auf die Eigenschaft Length einer Aufpolsterung geklickt und anschließend auf eine Zelle mit dem gewünschten Wert, wird die Eigenschaft Length der Aufpolsterung automatisch angepasst.
You can use formulas.
Principle: The macro transforms the alias before inserting it into the parameter or dimension expression. It replaces keywords with operations for everything following the character string f
(f for function).
Example of usage:
If your alias is: radius_f__mul_2_plu_1
The expression will be:
<<datas>>.radius_f__mul_2_plu_1 * 2 + 1
Thus, if you have, for instance, the value 5 in the cell, the parameter or dimension will take the value 5 * 2 + 1, which equals 11.
A snippet of the code showing possible operations and formulas to use:
formulaSeparator = '_f_'
dicoFormula = {
'_div_':'/',
'_mul_':'*',
'_plu_':'+',
'_mor_':'+',
'_les_':'-',
'_moi_':'-',
'_pg_':'(',
'_lp_':'(',
'_pd_': ')',
'_rp_': ')',
}
Verweise
- Diskussion im Forum (Französisch)
- Diskussion im Forum (Englisch)
- Macrorezepte
- Wie man Makros installiert
- Anpassung der Werkzeugleisten
Danksagung
Vielen Dank an openBrain, mario52 und onekk für ihre Hilfe mit dem Quelltext!
Danke an Syres für das Testen, die Überprüfungen und Hilfe im Quelltext.
Danke an Roy043 und David69 für die für die verschiedenen Überprüfungen und Verbesserungen des Wikis.
Danke an L'ami René für Überprüfungen und Ideen.
Skript
ToolBar Icon
Code
ver 02.02 2025/03/30 by 2cv001 Macro_Sketch_Constraint_From_Spreadsheet.FCMacro
Herunterladen
Diese Seite wird abgerufen von https://wiki.freecad.org/Macro_Sketch_Constraint_From_Spreadsheet