| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Unterdrücken von Attributedialog (853 mal gelesen)
|
LibertyOne Mitglied
Beiträge: 4 Registriert: 09.11.2006
|
erstellt am: 09. Nov. 2006 14:32 <-- editieren / zitieren --> Unities abgeben:
Hallo AutoLisper Gemeinde! ich programmiere mit AutoLisp ab und zu, und bin dabei mein alten Code wieder aus der Schublade zu kramen und überarbeiten. Bin jetzt auf einem Fall gestolpert wo ich nicht weiss wie ich das weiter mache. Ursprunglich war der Code für Acad2000 geschrieben und ich will das alles überprüfen und ändern damit es mit Acad2004 läuft. Folgendes Problem: ich habe für unseren Zweck im Büro ein einfaches Programmchen geschrieben, was den Änderungsindex um 1 erhöht nach dem der Benutzer diesen Plan fertig hat, plotten und wegschicken möchte. Der Ablauf folgt so: Benutzer ruft diesen Befehl mit "INDEX" in der Befehlszeile auf. Aufgefordert wird die Beschreibung der Änderung (z.B. - Sonnenraum erweitert um 4,00 M.) Diese Textzeile wird in einem lokalen Variabel gespeichert. Automatisch wird der Benutzer und Datuminformation aufgerufen, über die Systemvariabeln "LOGINNAME" und "DATE". Der Änderungsindex wird abgelesen in der Zeichnung als letzter Block der auf einen bestimmten Einfügepunkt hat. Der Block wird eingefügt und die Werte werden aufgerufen, und in den jeweiligen Attibuten gesteckt. Bei AutoCAD 2000 hat der Insert-Befehl keinerlei Problemme gemacht mit Attibuten. Die Attributen sind richtig ausgefüllt und der Block komplett eingefügt. Bei AutoCAD 2004 kommt ständig zwischendurch diese Atributsdialog wo ich wieder die Werte eingeben sollte. Wie überliste ich jetzt der system damit meine automatismus nicht unterbrochen wird??? Danke, L1 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
LibertyOne Mitglied
Beiträge: 4 Registriert: 09.11.2006
|
erstellt am: 09. Nov. 2006 14:54 <-- editieren / zitieren --> Unities abgeben:
Vielleicht noch etwas mehr Info von mir, was helfen könnte... Code: (command "_.-insert" "D:/Acad/Support/index_up" ipt scf scf rot ndx aen nam dat)
das ist die Zeile die mir Probleme gibt. In dem Block sind 4 Attributen: ndx = Index aen = Änderung nam = Name dat = Date L1
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 .
|
erstellt am: 09. Nov. 2006 14:58 <-- editieren / zitieren --> Unities abgeben: Nur für LibertyOne
ATTREQ (Systemvariable) Typ: Ganzzahl Gespeichert in: Registrierdatenbank des Systems Ausgangswert: 1 Legt fest, ob der Befehl EINFÜGE beim Einfügen von Blöcken die Vorgabe-Attributeinstellungen verwendet. 0 Übernimmt die Vorgaben für die Werte aller Attribute.
1 Aktiviert Eingabeaufforderungen oder ein Dialogfeld für Attributwerte entsprechend der Einstellung von ATTDIA
------------------ - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Paulchen Mitglied Bauing./SW-Entwickler
Beiträge: 1227 Registriert: 19.08.2004
|
erstellt am: 09. Nov. 2006 15:01 <-- editieren / zitieren --> Unities abgeben: Nur für LibertyOne
Hallo L1, willkommen im Forum! Sieh Dir mal die Hilfe zu "Filedia" an. Eigentlich sollte es mit _.-insert klappen - ohne Dialogbox. Ich schätze, die Fensterchen tauchen auf, weil diese Vielzahl an zusätzlichen Anhängseln ACAD vortäuschen, Du hättest auf "Enter" gedrückt - das wiederholt den letzten Befehl, also "_.insert"; dann tauchen diese Fenster auf. Tip: Wenn Du mit "command..." arbeitest, muß die Syntax exakt derjenigen in der Befehlszeile entsprechen. Am besten also vorher mal dort ausprobieren. Und Thomas war schneller:-) Gruß, Frederik Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
LibertyOne Mitglied
Beiträge: 4 Registriert: 09.11.2006
|
erstellt am: 09. Nov. 2006 15:52 <-- editieren / zitieren --> Unities abgeben:
VIELEN DANK! an Euch, CADmium und Paulchen! Das hat geklappt. ATTDIA auf 0 und ATTREQ auf 1 setzen bringt die richtige Zusammenstellung. Ich dachte schon, dass Autodesk irgendwas zwischen die Releases "erneuert" hat und ich musste wirklich was neues überlegen. Aber dass jeder sich eine andere "AutoCAD Umgebung" für sich schaffen kann, ist der Vorteil und Nachteil dieses Programms. Macht der Programmierarbeit irgendwie nicht leichter! Habe eine der Zeilen nach defun c:index mit
Code: (setq curattdia (getvar "attdia")) (setq curattreq (getvar "attreq"))
ergänzt und vor dem Schluss wieder die auf ihre ursprunglichen Werte mit
Code: (setvar "attdia" curattdia) (setvar "attreq" curattreq)
zurückgesetzt.Nochmals Vielen Dank! L1 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |