Speichern von Makros oder Skripten in der Zeichnung
Speichern von Makros oder Skripten in der Zeichnung
Hallo,
ich hoffe diese ist jetzt keine FAQ aber leider finde ich hierzu nichts, daher: kann man Makros oder Scripte auch direkt in dem jeweiligen Dokument speichern und somit auch mit dem Dokument weiter geben oder kann dies nur unabhängig vom Dokument erfolgen ?
Beispiel:
App.activeDocument().Body.newObject("PartDesign::Fillet","Fillet")
App.ActiveDocument.Fillet.Radius = 2.000000
App.ActiveDocument.Fillet.Base = (App.ActiveDocument.Pad,["Edge4","Edge7","Edge10","Edge12",])
App.ActiveDocument.recompute()
Dies soll am Ende in der Zeichnung angewendet werden. Funktioniert natürlich nur in einer bestimmten Zeichnung und wäre in anderen Zeichnungen dann nutzlos. Daher wäre es ideal diese direkt mit dem zugehörigen Dokument zu speichern.
Ich hoffe man versteht mich...
Grüße, Dirk
ich hoffe diese ist jetzt keine FAQ aber leider finde ich hierzu nichts, daher: kann man Makros oder Scripte auch direkt in dem jeweiligen Dokument speichern und somit auch mit dem Dokument weiter geben oder kann dies nur unabhängig vom Dokument erfolgen ?
Beispiel:
App.activeDocument().Body.newObject("PartDesign::Fillet","Fillet")
App.ActiveDocument.Fillet.Radius = 2.000000
App.ActiveDocument.Fillet.Base = (App.ActiveDocument.Pad,["Edge4","Edge7","Edge10","Edge12",])
App.ActiveDocument.recompute()
Dies soll am Ende in der Zeichnung angewendet werden. Funktioniert natürlich nur in einer bestimmten Zeichnung und wäre in anderen Zeichnungen dann nutzlos. Daher wäre es ideal diese direkt mit dem zugehörigen Dokument zu speichern.
Ich hoffe man versteht mich...
Grüße, Dirk
Re: Speichern von Makros oder Skripten in der Zeichnung
Das geht aus Sicherheitsgründen nicht.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
Re: Speichern von Makros oder Skripten in der Zeichnung
Verstehe, danke für die schnelle Antwort.
Grüße, Dirk
Grüße, Dirk
Re: Speichern von Makros oder Skripten in der Zeichnung
Ich hatte eigentlich die gleiche Idee. Bin gerade dabei für A2Plus ein Script zu erstellen, um einen flexiblen Zusammenbau zu erstellen. Dies Script funktioniert dann nur mit den jeweiligen Bauteilen. Ob das ein sinnvoller Ansatz ist, kann ich nicht sagen. Aber das Script direkt an die Zeichnung zu linken wäre dann sinnvoll.
>Das geht aus Sicherheitsgründen nicht.
Weil das letztenlich ein ausführbares Python-Script ist. Aber es muss ja nicht automatische ausgeführt werden. Bei jedem anderen Makro, welches ich mit besorge stellt sich doch die gleiche Problematik. Oder übersehe ich etwas komplett?
VG m.
>Das geht aus Sicherheitsgründen nicht.
Weil das letztenlich ein ausführbares Python-Script ist. Aber es muss ja nicht automatische ausgeführt werden. Bei jedem anderen Makro, welches ich mit besorge stellt sich doch die gleiche Problematik. Oder übersehe ich etwas komplett?
VG m.
Re: Speichern von Makros oder Skripten in der Zeichnung
Formal ist das richtig, aber die beiden Vorgehensweisen kommen mit ganz unterschiedlichen Geschmacksrichtungen: Wenn man Python-Code in eine Datei einbettet, dann natürlich um genau diesen Code mit genau dieser Datei auszuführen. D.h. ich müsste dann bei jeder Hilfestellung jedesmal den Code prüfen. Wenn es hingegen ein allgemeines Makro gibt, oder die Funktionalität in einer Workbench enthalten ist, dann muss man das nur einmal für alle Dateien begucken. Auch das Vertrauen auf andere Fachleute ist viel größer, als wenn ich jedesmal vor dem Öffnen einer Datei warten muss, bis genügend andere die Datei geöffnet haben.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
Re: Speichern von Makros oder Skripten in der Zeichnung
>müsste dann bei jeder Hilfestellung jedesmal den Code prüfen.
Aus der Perspektive nachvollziehbar.
Aber trotzdem: Sofern es überhaupt Sinn macht ein Marko explizit für eine Datei zu entwerfen, wäre es schon elegant, beides in einem Dokument zu haben. Aber ich verstehe, dass das verschiedene Betrachtungenweisen haben kann. Letztendlich ist das auch nicht kriegsentscheidend. Ging nur einmal darum, den einen Weg zu verstehen.
VG + schönes Wochenende
m.
Aus der Perspektive nachvollziehbar.
Aber trotzdem: Sofern es überhaupt Sinn macht ein Marko explizit für eine Datei zu entwerfen, wäre es schon elegant, beides in einem Dokument zu haben. Aber ich verstehe, dass das verschiedene Betrachtungenweisen haben kann. Letztendlich ist das auch nicht kriegsentscheidend. Ging nur einmal darum, den einen Weg zu verstehen.
VG + schönes Wochenende
m.
Re: Speichern von Makros oder Skripten in der Zeichnung
ich schließe mich Markymark an. Dies war auch meine Idee bei der Frage, ein spezielles Makro, welches speziell zu einem bestimmten Model gehört..
Grüße, Dirk
Grüße, Dirk
Re: Speichern von Makros oder Skripten in der Zeichnung
Nicht so ganz. So hat der Anwender wenigstens die Chance, sich den Code kurz anzuschauen, ob da vielleicht Verdächtiges enthalten ist, während bei eingebettetem Code diese Möglichkeit faktisch nicht wirklich besteht.Weil das letztenlich ein ausführbares Python-Script ist. Aber es muss ja nicht automatische ausgeführt werden. Bei jedem anderen Makro, welches ich mit besorge stellt sich doch die gleiche Problematik. Oder übersehe ich etwas komplett?
Es kommt nicht von Ungefähr, dass ein nicht erheblicher Teil von infizierten Rechnern durch Makro-Viren verursacht wurden wie sie z.B. bei den Office-Pakten oder aber auch PDF-Dokumenten vorkommen.
Re: Speichern von Makros oder Skripten in der Zeichnung
Ich wollte das noch einmal kurz aufgreifen, weil ich glaube, wir reden aneinander vorbei. Mein Gedanke wäre, ein Makro nicht intransparent irgendwo in der Geometriedefinition zu verbergen, sodern entsprechend einem Spreadsheet quasi "parallel" zum Bauteil mitzuführen. Man könnte sowohl ein automatisches Laden als auch ein automatisches Ausführen standardmäßig unterbinden. Damit bestünde nach meinem Verständnis die gleiche Transparenz und Sicherheit wie bei jedem anderen "externen" Makro auch.
Aber nochmal: Das ist sicher werder wichtig noch eilig.
Schönes Wochenende!
VG m.
Re: Speichern von Makros oder Skripten in der Zeichnung
Es gibt die folgende Möglichkeit dem Dokument Texte hinzuzufügen:
Code: Select all
App.ActiveDocument.addObject("App::TextDocument","MeinText")
Getestet mit
OS: Windows 10
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.15860 (Git)
Build type: Release
Branch: master
Hash: 3b708c7f84b0425076b520e1d95627b20fd75fe0
Python version: 3.6.6
Qt version: 5.6.2
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: German/Germany (de_DE)
Ulrich