Makro und Script "lernen" :
Makro und Script gaanz kurz erklärt:
Beides ist eine festgelegt Abfolge von (Tastatur-)Eingaben.
Bedeutet: Im Grunde kannst du alles was du über die Tastatur
bewerkstelligen kannst,auch in ein SCRIPT oder MAKRO packen..
Also benötigst du die Namen der Befehle, Optionen usw.
weiter gibt es für Makros und Scripte einige "Sonderbefehle"
Wenn du normal einen Befehl ausführst dann wird dir der eigentliche
Name im Textfenster ( F2 oder auch Befehlszeile) .
Wählst du die Schaltfläche "Verschieben" so steht im Textfenster
der Befehl "_move" , der deutsche Befehl wäre "schieben" alias "s" .
ICH nehme die engl. Version ! wenn man die engl.Version nutzt so muß der
Unterstrich immer davor stehen:
Eigentlich engl.Befehl = MOVE in einer Nicht-engl.Version muß
man aber "_MOVE" schreiben..
Oder man nimmt eben doch den deutschen: "schieben" - wie auch immer
Weiter stehen im Grunde alle Systemvariablen , Befehle usw. in der
Acadhilfe unter : Hilfe/Reiter Inhalt/BEFEHLSREFERENZ
Übersetzer Deu->Eng / Eng->Deu gibt es in Acad bereits:
Beispiel: (getcname "LINIE") ==> "_LINE" (getcname "_LINE") ==> "LINIE"
Bei cadmaro.de gibt es auch eine Tolle Liste der Übersetzten Befehle !
"Sonderbefehle", damit meine ich zum Beispiel eine Leerzeichen, dies
wird im SCRIPT als ENTER interpretiert, im Makro sollte man dafür
ein Semikolon ";" verwenden. Oder das ein "-" vor einem Befehl mit
Dialogfenster, das Dialogfenster unterdrückt und die Befehlszeilenversion
ausführt (sofern vorhand. / mit Ausnahmen)
Wichtig auch : SysVar FILEDIA - steuert Anzeige des "Datei wählen"-Dialoges.
Lese in der Hilfe mal alles was beim Suchen nach SCRIPT gefunden wird.
---
Man öffnet einfach einen Texteditor (zB den unter Start/Programme/Zubehör/Editor)
und legt los.. dann als "scriptname.SCR" speichern und in Acad mit SCRIPT aufrufen.
Man sollte am Anfang jede einzelne "Eingabe" in Acad testen ! - Jeder einzelne
Tastenanschlag muß auch in dem Script vorkommen, sei es ein Befehl, ein Wert
oder auch ein ENTER(=leerzeichen).
Wichtig auch: Ein Zeilenumbruch wird auch als ENTER gewertet !
1 Beispiel Layer anlegen:
;-------------------------
-LAYER NEU MEINLAYER
;-------------------------
Nebenbei: Mische nicht Deu & Engl. Eingaben !
Es gibt sogar minimale Unterschiede zw. Engl. und Deutschen Befehlseingaben.
(Das war mir bis eben gerade auch nicht bewußt)<= EDIT - war ein Trugschluß
Weiter im Text#
--zum aktuellen Fall---
sende mir bitte mal eine EMail-Adresse, meine ist im Profil hinterlegt.
(Symbol: links von den Antworten: Briefchen mit Kopf und Fragezeichen)
Diese Problem würde ich selbst mit Programmierung in LISP lösen, wer
das nicht kann, könnte wie folgt vorgehen: (für diejenigen die es
nachvollziehen wollen.)
Rahmen/Stempel - Block als DWG abspeichern (WBLOCK - Objektwahl=Block)
1x Original, also unverändert und
1x die Attribute (Attributdefinitionen) die geändert werden sollen mit
dem passenden Wert ausstatten und konstant stellen.
Das Script (welches mit ScriptPro o. scc2 von CADwiesel.de im Batch läuft)
sieht im Klartext dann wie folgt aus:
Block einfügen (Datei mit geänderten Attributdefinitionen)
Letztes Element löschen
Attsync Option Name Blockname
Block einfügen (Originaldatei)
Letztes Element löschen
speichern.
Dabei sollte auch darauf geachtet werden das der akt. Layer beim Einfügen
weder gefroren noch gesperrt ist !
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP