Speichern von Makros oder Skripten in der Zeichnung

In diesem Forum Fragen und Diskussionen in Deutsch
Forum rules
Foren-Regeln und hilfreiche Informationen

WICHTIG: Bitte zuerst lesen, bevor Sie posten
dmun
Posts: 32
Joined: Mon Jun 12, 2017 6:23 am

Speichern von Makros oder Skripten in der Zeichnung

Post by dmun »

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... :roll:

Grüße, Dirk
chrisb
Veteran
Posts: 54293
Joined: Tue Mar 17, 2015 9:14 am

Re: Speichern von Makros oder Skripten in der Zeichnung

Post by chrisb »

dmun wrote: Wed Nov 20, 2019 9:23 pmkann 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 ?
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.
dmun
Posts: 32
Joined: Mon Jun 12, 2017 6:23 am

Re: Speichern von Makros oder Skripten in der Zeichnung

Post by dmun »

Verstehe, danke für die schnelle Antwort.

Grüße, Dirk
User avatar
Markymark
Posts: 228
Joined: Sun Nov 03, 2019 4:54 pm

Re: Speichern von Makros oder Skripten in der Zeichnung

Post by Markymark »

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.
chrisb
Veteran
Posts: 54293
Joined: Tue Mar 17, 2015 9:14 am

Re: Speichern von Makros oder Skripten in der Zeichnung

Post by chrisb »

Markymark wrote: Sat Nov 23, 2019 10:04 amBei jedem anderen Makro, welches ich mit besorge stellt sich doch die gleiche Problematik.
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.
User avatar
Markymark
Posts: 228
Joined: Sun Nov 03, 2019 4:54 pm

Re: Speichern von Makros oder Skripten in der Zeichnung

Post by Markymark »

>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.
dmun
Posts: 32
Joined: Mon Jun 12, 2017 6:23 am

Re: Speichern von Makros oder Skripten in der Zeichnung

Post by dmun »

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
wmayer
Founder
Posts: 20319
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: Speichern von Makros oder Skripten in der Zeichnung

Post by wmayer »

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?
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.

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.
User avatar
Markymark
Posts: 228
Joined: Sun Nov 03, 2019 4:54 pm

Re: Speichern von Makros oder Skripten in der Zeichnung

Post by Markymark »

wmayer wrote: Mon Nov 25, 2019 1:30 pm 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.
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.
ulrich1a
Veteran
Posts: 1957
Joined: Sun Jul 07, 2013 12:08 pm

Re: Speichern von Makros oder Skripten in der Zeichnung

Post by ulrich1a »

dmun wrote: Wed Nov 20, 2019 9:23 pm 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 ?
Es gibt die folgende Möglichkeit dem Dokument Texte hinzuzufügen:

Code: Select all

App.ActiveDocument.addObject("App::TextDocument","MeinText")
Nach dem Ausführen des oben genannten Befehls in der Pythonkonsole taucht ein Objekt im Dokumentenbaum auf, dem man Text hinzufügen kann. Ein Doppelklick auf das Objekt öffnet ein neues Fenster, in dem Text eingegeben und editiert werden kann. Beim Schließen des Fensters habe ich auf Speichern geklickt. Der Text war dann im Dokument enthalten. Dies ist immerhin eine Möglichkeit einen Makrotext oder sonstige Informationen zusammen mit dem Dokument weiterzugeben. Zur Ausführung des enthaltenen Makros muß der Text erst in ein Makrodokument kopiert werden, bevor das Makro ausgeführt werden kann.

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
Post Reply