| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| Request a special discount on NVIDIA RTX 5000 Ada Generation GPU !, eine Pressemitteilung
|
Autor
|
Thema: ATTSYNC: als command in Lisp, (acet-attsync) usw. (2311 mal gelesen)
|
Peter2 Ehrenmitglied V.I.P. h.c.
Beiträge: 3849 Registriert: 15.10.2003 Win 10 bzw. 11 / 64 Pro AutoCAD MAP 3D 2023 BricsCAD 24
|
erstellt am: 16. Nov. 2005 10:47 <-- editieren / zitieren --> Unities abgeben:
Ich versuche gerade, "attsync" in ein Lisp einzubauen. Versuch 1:
Code: (command "_attsync" "n" blockdef)
Jedesmal nach dem 4. Attsync-Befehl knallt es, obwohl jede Schleife mit einer Erfolgsmeldung abgeschlossen wird.: Systemfehler: Befehle können nicht mehr als 4 verschachtelt sein. Die Schleife habe ich einmal mit "foreach", dann mit "Repeat" aufgebaut - das Ergebnis ist das gleiche.Frage 1: Wo kommen die "verschachtelten 4 Befehle" her? Versuch 2:
Code: (acet-attsync blockdef)
da habe ich das Problem, das zuerst einmal "unbekannter Befehl" auftaucht. Starte ich attsync händisch und breche dann ab, dann läuft es sehr gut. Anscheinend ist der Befehl (acet-attsync) als "Load on demand" irgendwo versteckt.Frage 2: Wie kann ich (acet-attsync) gezielt laden / aktivieren? Frage 3: Den Befehl Attsync gibt es als AutoCAD-Befehl und bei den Expresstools. Wo ist hier der Unterschied? Nachtrag: Frage 3 hat sich mit http://ww3.cad.de/foren/ubb/Forum54/HTML/001130.shtml#000000 vermutlich erledigt.) Danke Peter Nachtrag zu 2: Als etwas derbe Lösung habe ich die Zeile
Code: (command "_attsync" nil)
eingebaut. Damit wird attsync gestartet und abgebrochen, aber damit steht der Befehl (acet-attsync) zur Verfügung. Dann laufen alle Blöcke schön in der Schleife durch.Aber: Nach dem 4. Programmdurchlauf (und damit dem 4. command - Befehl) knallt es wieder - Absturz wie oben. Das sieht nach kräftigem Bug aus. ------------------ Für jedes Problem gibt es eine einfache Lösung. Die ist aber meistens falsch. ;-) [Diese Nachricht wurde von Peter2 am 16. Nov. 2005 editiert.] [Diese Nachricht wurde von Peter2 am 16. Nov. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
marc.scherer Ehrenmitglied V.I.P. h.c. CAD-Administrator
Beiträge: 2494 Registriert: 02.11.2001 Windows 10 64bit AutoCAD Architecture 2018/2019 (deu/eng) AEC-Collection 2019 (Revit und Zeugs) Wenn sich's nicht vermeiden läßt: D-A-CH Erweiterung (mies implementierter Schrott)
|
erstellt am: 16. Nov. 2005 16:28 <-- editieren / zitieren --> Unities abgeben: Nur für Peter2
Hi, poste doch mal den Code und die Testdatei. Dann findet sich der Fehler bestimmt RuckZuck. Ich hatte folgendes als Attsync im Einsatz (Attsync't aber alle Blöcke...) Code:
(defun DT:ATTSYNC (/) (if (DT:GET-BLOCKDEFS-WITH-ATTDEF "*") (command "_.attsync" "name" "*") (princ "\nKeine Attributierten Blöcke in Zeichnung definiert!") ) (princ) )
Die Abfrage ob attributierte Blöcke in der Zeichnung existieren ist notwendig, weil die command attsync Anweisung sonst 'nen Fehler produziert. Das attsync synchronisiert so alle attributierten Blöcke auf einen Schlag. Da brauch nix in der Schleife laufen. ------------------ Ciao, Marc Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Peter2 Ehrenmitglied V.I.P. h.c.
Beiträge: 3849 Registriert: 15.10.2003
|
erstellt am: 16. Nov. 2005 17:31 <-- editieren / zitieren --> Unities abgeben:
Hoi Marc in der Zwischenzeit bin ich wieder etwas schlauer: a) der schwierige Aufruf und die Abstürze: Das ist anscheinend bekannt. Gefunden bei http://ww3.cad.de/foren/ubb/Forum54/HTML/008359.shtml#000004 - letzter Beitrag von Mapcar. b) die Schleife: Das habe ich auch hier im Forum gefunden (Link leider vergessen) - sie ist wirklich sinnlos, weil man mit "*" alle Blöcke updaten kann. Das ist blöderweise in der Hilfe nicht dokumentiert, sondern es wird extra von Instanzen eines bestimmten Blocks gesprochen - und da habe ich mich (und der Frager des anderen Postings) irreleiten lassen. Damit bleibt nur noch eine Frage von oben: Frage 2: Wie kann ich (acet-attsync) gezielt laden / aktivieren? (Die ist aber nicht mehr ganz lebenswichtig für mich, da ich jetzt die Schleife los bin und der Absturz erst nach vier vollen Durchläufen und nicht nach vier Blöcken kommt.) Peter ------------------ Für jedes Problem gibt es eine einfache Lösung. Die ist aber meistens falsch. ;-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
marc.scherer Ehrenmitglied V.I.P. h.c. CAD-Administrator
Beiträge: 2494 Registriert: 02.11.2001 Windows 10 64bit AutoCAD Architecture 2018/2019 (deu/eng) AEC-Collection 2019 (Revit und Zeugs) Wenn sich's nicht vermeiden läßt: D-A-CH Erweiterung (mies implementierter Schrott)
|
erstellt am: 17. Nov. 2005 09:59 <-- editieren / zitieren --> Unities abgeben: Nur für Peter2
Zitat: Original erstellt von Peter2: Damit bleibt nur noch eine Frage von oben: Frage 2: Wie kann ich (acet-attsync) gezielt laden / aktivieren?
Antwort: (arxload "battman.arx") Wie kommt man auf so was? Rechtsklick auf den AutoCAD Ordner > Suchen > Dateiname *.*, Textinhalt zu suchen "acet-attsync"... Da hättest Du auch selber drauf kommen können!? ------------------ Ciao, Marc [Diese Nachricht wurde von marc.scherer am 17. Nov. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Peter2 Ehrenmitglied V.I.P. h.c.
Beiträge: 3849 Registriert: 15.10.2003
|
erstellt am: 17. Nov. 2005 10:15 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von marc.scherer: Da hättest Du auch selber drauf kommen können!?
Doch, da hatte ich auch schon, hatte den battman aber zu wenig ernst genommen. Nun ja, ich sollte manchmal früher schlafen gehen .. Danke Peter ------------------ Für jedes Problem gibt es eine einfache Lösung. Die ist aber meistens falsch. ;-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
marc.scherer Ehrenmitglied V.I.P. h.c. CAD-Administrator
Beiträge: 2494 Registriert: 02.11.2001 Windows 10 64bit AutoCAD Architecture 2018/2019 (deu/eng) AEC-Collection 2019 (Revit und Zeugs) Wenn sich's nicht vermeiden läßt: D-A-CH Erweiterung (mies implementierter Schrott)
|
erstellt am: 17. Nov. 2005 10:41 <-- editieren / zitieren --> Unities abgeben: Nur für Peter2
|