| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY wird von NVIDIA zum Händler des Jahres gewählt – zum dritten Mal in Folge, eine Pressemitteilung
|
Autor
|
Thema: *error* befehl (1992 mal gelesen)
|
FiRePhoeniX Mitglied Bauzeichner Fachgebiet Tief−, Straßen− und Landschaftsbau
Beiträge: 127 Registriert: 22.04.2007 AutoCad 2007
|
erstellt am: 15. Sep. 2008 10:52 <-- editieren / zitieren --> Unities abgeben:
Hallo Forum, ich muss mal wieder stören. Ich komme einfach nicht weiter. Und zwar ist mein Lisp-programm fertigt es brauch aber noch den letzen schliff. Also mein Problem: Habe eine Lisp-Programm geschrieben was Objekt-Koordinaten in eine Liste schreibt. Es läuft auch aber mein Problem ist, dass wenn ich mitten im Befehl bin und jetzt den Befehl abbreche kommt ein Fehler. Jetzt ist TXT-Datei wo die Koordinaten stehen kaputt. Man kann nicht auf sie zugreifen weil der close befehl noch nicht ausgeführt wurde. Man muss AutoCad erst schließen und dann wider neu öffnen. Das kommt zwar nicht oft vor, wollte aber das Programm so stabil wie möglich machen. Das es auch andere nutzen können und nicht nur ich. Hab was mit dem befehl *error* gelesen verstehe es aber überhaupt nicht. Vielleicht kann mir einer erklären. Wie ich das machen kann, dass wenn ein Fehler kommt das der die Datei schließen soll. Danke an alle. Firephoenix
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dorfy Mitglied Double-Dipl.-Ing. Bleistiftanspitzer
Beiträge: 900 Registriert: 21.07.2006 AutoCad2007, ProE, HiCad
|
erstellt am: 15. Sep. 2008 11:11 <-- editieren / zitieren --> Unities abgeben: Nur für FiRePhoeniX
Hallo (setq catchit (vl-catch-all-apply 'deinsubprog)) (defun deinsubprog... Schau Dir mal den o.g. Befehl an. Mit while kann man den zBsp recht gut auswerten oder gleich den Fehler abfangen... Mfg Heiko Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 15. Sep. 2008 11:26 <-- editieren / zitieren --> Unities abgeben: Nur für FiRePhoeniX
Hallo, zum *error* Das ist eine Routine, die es immer gibt. Du kannst also eine Funktion definieren
Code:
(defun *error* (s /);SOLLTE MAN SO NICHT MACHEN (alert "Da ist dann wohl was schief gegangen") )
Diese wird nun nach dem Laden immer dann ausgeführt, wenn eine Fehler (wodurch auch immer dieser ausgelöst wurde) auftritt.Da es nicht gewollt sein kann, dass deine Funktion auf jeden Fehler anspricht, sollte man also die vorherige Fehlerfunktion speichern und nach dem Abarbeiten deiner Funktion wieder aktiv setzen. Du benennst also deine Fehlerroutine irgendwie.
Code:
(defun *myerror* (s /);SOLLTE MAN SO NICHT MACHEN (alert "Da ist dann wohl was schief gegangen") ) (defun c:XXX (/ ALTERFEHLER) (setq ALTERFEHLER *error* *error* *myerror*) (....) (setq *error* ALTERFEHLER) )
Alles klar? Bei Fragen ... Grüße Holger ------------------ Holger Brischke CAD on demand GmbH Individuelle Lösungen von Heute auf Morgen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
FiRePhoeniX Mitglied Bauzeichner Fachgebiet Tief−, Straßen− und Landschaftsbau
Beiträge: 127 Registriert: 22.04.2007 AutoCad 2007
|
erstellt am: 15. Sep. 2008 11:39 <-- editieren / zitieren --> Unities abgeben:
Danke erst mal für die antworten. So, ich muss sagen ich versteh es nicht ganz. Sorry. Ich muss diesen code: (defun *myerror* (s /);SOLLTE MAN SO NICHT MACHEN (alert "Da ist dann wohl was schief gegangen") ) (defun c:XXX (/ ALTERFEHLER) (setq ALTERFEHLER *error* *error* *myerror*) (....) (setq *error* ALTERFEHLER) ) In mein Programm einbauen. Wie mach ich das aber das der Code ausgelöst wird?? In meiner rotine muss doch ein verweis sein oder so ??? Oder steh ich gerade voll auf dem Schlauch. FirePhoeniX
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Huebner Ehrenmitglied V.I.P. h.c. Verm.- Ing., ATC-Trainer
Beiträge: 9803 Registriert: 01.12.2003 One AutoCAD 2.5 - 2024, AutoCAD, Civil 3D, Win10/Win11
|
erstellt am: 15. Sep. 2008 11:48 <-- editieren / zitieren --> Unities abgeben: Nur für FiRePhoeniX
Zitat: Original erstellt von FiRePhoeniX: ...Wie mach ich das aber das der Code ausgelöst wird?? In meiner rotine muss doch ein verweis sein oder so ??? Oder steh ich gerade voll auf dem Schlauch.FirePhoeniX
Das Gute an einer Fehlerabfangroutine wie *error* oder vl-catch-all-apply ist, sie wird im Fehlerfall ausgelöst. Die Routine muss nicht extra in dein Programm eingebunden werden, sie muss nur definiert sein. Aber das steht alles in der Hilfe unter Stichwort *ERROR* bzw. den Themen "*error* function, overview" oder AutoLISP Developer's Guide > Using the AutoLISP Language > AutoLISP Basics > Error Handling in AutoLISP ------------------ Mit freundlichem Gruß Udo Hübner www.CAD-Huebner.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
FiRePhoeniX Mitglied Bauzeichner Fachgebiet Tief−, Straßen− und Landschaftsbau
Beiträge: 127 Registriert: 22.04.2007 AutoCad 2007
|
erstellt am: 15. Sep. 2008 11:58 <-- editieren / zitieren --> Unities abgeben:
Nicht sauer sein ich versteh es immer noch nicht. Hab jetzt einfach mal den Code. (defun *myerror* (s /);SOLLTE MAN SO NICHT MACHEN (alert "Da ist dann wohl was schief gegangen") ) (defun c:XXX (/ ALTERFEHLER) (setq ALTERFEHLER *error* *error* *myerror*) (setq *error* ALTERFEHLER) ) Hinter meine routine kopiert. So jetzt müsste doch wenn ein Fehler kommt ein Alert fenster kommen wo draufsteht "Da ist dann wohl was schief gegangen". Dies ist nicht der fall. Was mach ich falsch. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dorfy Mitglied Double-Dipl.-Ing. Bleistiftanspitzer
Beiträge: 900 Registriert: 21.07.2006 AutoCad2007, ProE, HiCad
|
erstellt am: 15. Sep. 2008 12:16 <-- editieren / zitieren --> Unities abgeben: Nur für FiRePhoeniX
Du musst Deine Zeilen da einbauen... (defun *myerror* (s /) (alert "Da ist dann wohl was schief gegangen") ) (defun c:deinprog (/ ALTERFEHLER aaa) (setq ALTERFEHLER *error* *error* *myerror* ) ;;(setq aaa (+ 5 1));zum testen (setq aaa (/ 5 0));zum testen ;;dein code zum prog (setq *error* ALTERFEHLER) ;;(princ aaa);zum testen (princ) )
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dorfy Mitglied Double-Dipl.-Ing. Bleistiftanspitzer
Beiträge: 900 Registriert: 21.07.2006 AutoCad2007, ProE, HiCad
|
erstellt am: 15. Sep. 2008 12:30 <-- editieren / zitieren --> Unities abgeben: Nur für FiRePhoeniX
oder vllt so... (defun c:mainprog (/ catchit) (setq catchit (vl-catch-all-apply 'deinsubprog)) (if (vl-catch-all-error-p catchit) (alert "Da ist dann wohl was schief gegangen") (princ catchit) ) (princ) ) (defun deinsubprog (/) (+ 5 1);zum testen ;;(/ 5 0);zum testen ) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
FiRePhoeniX Mitglied Bauzeichner Fachgebiet Tief−, Straßen− und Landschaftsbau
Beiträge: 127 Registriert: 22.04.2007 AutoCad 2007
|
erstellt am: 15. Sep. 2008 12:39 <-- editieren / zitieren --> Unities abgeben:
Ich danke euch es hat geklappt. Jhuhuhuhuhu Danke noch mal bin einenen Schritt weiter in der Lisp-Programierung. Mit dem ersten Code von Dorfy geht es super. Den zweiten hab ich nicht probiert. Danke noch mal. FirephoeniX Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 15. Sep. 2008 13:11 <-- editieren / zitieren --> Unities abgeben: Nur für FiRePhoeniX
den zweiten solltest du dir auf jeden Fall auch anschauen! Da ist ein gewaltiger Unterschied! Die Integration der *error* Geschichte bringt einfach nur einen kontrollierten Programmabgang. Mit der (vl-catch-all-apply .. Geschichte, läuft das Programm weiter und du kannst abfragen, ob ein Fehler vorliegt, und wie dann verfahren werden soll. Das macht insbesondere dann Sinn, wenn du viele Objekte oder Zeichnungen versuchst zu bearbeiten, und der Ablauf auch bei einem Fehler in einem Objekt oder einer zeichnung dennoch fortgesetzt werden soll. Grüße Holger ------------------ Holger Brischke CAD on demand GmbH Individuelle Lösungen von Heute auf Morgen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
FiRePhoeniX Mitglied Bauzeichner Fachgebiet Tief−, Straßen− und Landschaftsbau
Beiträge: 127 Registriert: 22.04.2007 AutoCad 2007
|
erstellt am: 13. Mrz. 2009 14:13 <-- editieren / zitieren --> Unities abgeben:
Guten Tag zusammen ich hoffe ich kann das Thema noch mal neu aufleben lassen. Hab mich ein Bisschen mit der vl-catch-all-apply Funktion beschäftigt. Dafür gib es bestimmt schon Themen zu. Kann aber zur zeit keine Such auf der Seite starten. Da kommt immer die Meldung „NOT pconnected“. Vielleicht wird das ja behoben oder mein Rechner ist schuld dran. Zurück zu Problem. Arbeite mit Obendcl und wollte ein vl-catch-all-apply Funktion in einen befehl einarbeiten. Das Problem ist das ich nicht weiß wie ich den befehl vl-catch-all-apply auf mein Hauptprogramm richten kann. Hab es so versuch. Code: (setq catchit (vl-catch-all-apply 'C:Bemaßung_FB_Haupt_BO_linear_OnClicked )) Wenn ich jetzt das das Prgramm starte verschwindet mein AutoCad ohne grund. Was mach ich falsch. Oder geht das ganze nicht im Hauptprogramm ?? Danke an alle schon mal. Mit freundlichen Grüßen FirePhoeniX
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 13. Mrz. 2009 15:37 <-- editieren / zitieren --> Unities abgeben: Nur für FiRePhoeniX
Hallo, um das herauszufinden, mach doch einfach eine Subroutine draus. (Lösche das C: vor dem Befehlsnamen) Aber wie das folgende Beispiel Zeigt, sollte das auch gehen:
Code:
(defun c:test () (/ 1 0) ) (VL-CATCH-ALL-APPLY 'c:Test)
Die Frage ist allerdings: Von wo aus rufst du das so auf?Grüße Holger ------------------ Holger Brischke CAD on demand GmbH Individuelle Lösungen von Heute auf Morgen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
FiRePhoeniX Mitglied Bauzeichner Fachgebiet Tief−, Straßen− und Landschaftsbau
Beiträge: 127 Registriert: 22.04.2007 AutoCad 2007
|
erstellt am: 13. Mrz. 2009 19:44 <-- editieren / zitieren --> Unities abgeben:
Danke Brischke für die schnelle Antwort. Das mit den abstürzen von AutoCad hab ich heraus gefunden. Und zwar hab ich den VL-CATCH-ALL-APPLY im Befehl ausgeführt. Code: (defun c:test () (VL-CATCH-ALL-APPLY 'c:Test) (/ 1 0) ) Wenn du den Befehl ausführt stürzt dein Autocad am. Liegt glaube daran das der Befehl VL-CATCH-ALL-APPLY das programm startet. Und ein Programm zweimal gleichzeitig starten geht nicht so gut. Als wo ich das haben will ist folgendes. In opendcl kann mal Tasten definieren. Diese führen bei einen Klicken das Programm aus. Die Bezeichnung muss leider immer ein C: haben. Wenn ich den Befehl bei laden der Projektes einsetze führt VL-CATCH-ALL-APPLY mit das Programm aus. Dies soll aber nicht geschehen weil man erst auf die Schaltfläche klicken soll. Ich werde mal mich mal im Forum von Opendcl erkundigen. Wenn jemand doch was weiß im raus damit. Bin für jeden Vorschlag dankbar. An dieser stelle wollte ich gerne noch was fragen. Kann ich in einer bestehende Bemaßung, nachträglich werte ändern. Z.B Skalierungsfaktor, Texthöhe etc. Das kann mal Manual über die Eigenschaften ändern. Geht das aber auch über lisp? Mir fehlt aber kein Befehl an. ^^ Danke noch mal an alle. Mit freundlichen Grüßen FirephoeniX Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dorfy Mitglied Double-Dipl.-Ing. Bleistiftanspitzer
Beiträge: 900 Registriert: 21.07.2006 AutoCad2007, ProE, HiCad
|
erstellt am: 13. Mrz. 2009 20:02 <-- editieren / zitieren --> Unities abgeben: Nur für FiRePhoeniX
|
FiRePhoeniX Mitglied Bauzeichner Fachgebiet Tief−, Straßen− und Landschaftsbau
Beiträge: 127 Registriert: 22.04.2007 AutoCad 2007
|
erstellt am: 13. Mrz. 2009 20:11 <-- editieren / zitieren --> Unities abgeben:
Danke Dorfy, mit dem Code kommt aber die Fehler meldung Fehler: no function definition: VLAX-ENAME->VLA-OBJECT. Aber egal an die Informationen komm ich mit dem Befehl daran. (setq bemalle (ssget "X" '((0 . "DIMENSION")))) (setq obname (ssname bemalle OBNR)) (setq oblist (entget obname)) (setq PrüfeOB (vl-remove-if-not '(lambda (data) (= 42 (car data))) oblist)) Wollte wissen wie ich jetzt die Gruppendaten ändern kann. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dorfy Mitglied Double-Dipl.-Ing. Bleistiftanspitzer
Beiträge: 900 Registriert: 21.07.2006 AutoCad2007, ProE, HiCad
|
erstellt am: 13. Mrz. 2009 20:24 <-- editieren / zitieren --> Unities abgeben: Nur für FiRePhoeniX
|
FiRePhoeniX Mitglied Bauzeichner Fachgebiet Tief−, Straßen− und Landschaftsbau
Beiträge: 127 Registriert: 22.04.2007 AutoCad 2007
|
erstellt am: 13. Mrz. 2009 20:32 <-- editieren / zitieren --> Unities abgeben:
|
Dorfy Mitglied Double-Dipl.-Ing. Bleistiftanspitzer
Beiträge: 900 Registriert: 21.07.2006 AutoCad2007, ProE, HiCad
|
erstellt am: 13. Mrz. 2009 20:48 <-- editieren / zitieren --> Unities abgeben: Nur für FiRePhoeniX
hi, so, da jetzt Methoden und Eigenschaften zum Objekt hast, kannst du diese auch anwenden (siehe Hilfe vlide ggf Reiter Inhalt Activex... Properties...) oder schau im www nach speziellen Eigenschaften. vla-get-"deineEigenschaft" vla-put-"deineEigenschaft" (wenn möglich). Oder hier mal ein wenig lesen. mfg heiko Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
FiRePhoeniX Mitglied Bauzeichner Fachgebiet Tief−, Straßen− und Landschaftsbau
Beiträge: 127 Registriert: 22.04.2007 AutoCad 2007
|
erstellt am: 19. Mrz. 2009 21:28 <-- editieren / zitieren --> Unities abgeben:
Hi, Dorfy . Danke für die Antwort. Hab deinen Rat befolgt und hab mich über Activex informiert. Ich glaube ich bin zu blöd für die Sachen. Weiß einfach nicht was ich machen soll. Gib es vielleicht eine andere Möglichkeit Eigenschaften zu ändern? Bitte helft mir ich verzweifle. Ich danke an alle noch mal. Mit freundlichen Grüßen Firephoenix
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dorfy Mitglied Double-Dipl.-Ing. Bleistiftanspitzer
Beiträge: 900 Registriert: 21.07.2006 AutoCad2007, ProE, HiCad
|
erstellt am: 20. Mrz. 2009 06:37 <-- editieren / zitieren --> Unities abgeben: Nur für FiRePhoeniX
Hi, ja die "klassische" Methode mittels ENTMOD... mit ENTGET erhältst du eine Liste zum Element, den GC den du änder möchtest mußt du dir mal ausschauen (Hilfe, www, Testen...) und mit Listenfunktionen wie APPEND, CONS, SUBST etc. kannst Du deine Liste ändern. Und am Ende ein ENTMOD hinterher. Im oben genannten Link mal im "tutorial.autolisp" oder "advanced.autolisp" stöbern. Mit den Grundlagen, wie die einzelnen Befehle funktionieren, musst Du dich schon beschäftigen, sonst geht's in die Hose. Beispiele findest Du genug im www. Mfg Heiko Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
FiRePhoeniX Mitglied Bauzeichner Fachgebiet Tief−, Straßen− und Landschaftsbau
Beiträge: 127 Registriert: 22.04.2007 AutoCad 2007
|
erstellt am: 21. Mrz. 2009 20:14 <-- editieren / zitieren --> Unities abgeben:
Hi Dorfy. Danke noch mal das du dir Zeit genommen hast um mir zu helfen. Wollte mich gleich noch mal ein bisschen Programmieren. Hab auch jetzt teil heraus gefunden wie ich Eigenschaften im Klassischen Stil ändern kann. Hab aber wieder was wo ich nicht weiter komme. Folgendes Problem. Will die Genauigkeit ( Systemvariable DIMDEC ) und den globalen Faktor für Bemaßungen ( Systemvariable DIMLFAC ) ändern. Das Problem an der Sache ist das ich die werte nicht in den Gruppencodes wiederfinde. Nach Entget hab ich z. B so eine liste : ((-1 . <Objektname: 7efdab00> ) (0 . "DIMENSION") (330 . <Objektname: 7ef9dcf8> ) (5 . "470") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "Defpoints") (100 . "AcDbDimension") (2 . "*D44") (10 1376.95 765.653 0.0) (11 1377.68 765.694 0.0) (12 0.0 0.0 0.0) (70 . 32) (1 . "") (71 . 5) (72 . 1) (41 . 1.0) (42 . 7.54632) (73 . 0) (74 . 0) (75 . 0) (52 . 0.0) (53 . 0.0) (54 . 0.0) (51 . 0.0) (210 0.0 0.0 1.0) (3 . "ISO-25") (100 . "AcDbAlignedDimension") (13 1376.73 765.262 0.0) (14 1376.95 765.262 0.0) (15 0.0 0.0 0.0) (16 0.0 0.0 0.0) (40 . 0.0) (50 . 0.0) (100 . "AcDbRotatedDimension")) Kann den Code für die beiden Sachen nicht finden. Weiß einer ob ich das überhaupt so machen kann. Oder muss ich auf Activex zurück greifen ? Danke noch mal schon zum hundertsten mal Danke. ^^ FirephoeniX Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dorfy Mitglied Double-Dipl.-Ing. Bleistiftanspitzer
Beiträge: 900 Registriert: 21.07.2006 AutoCad2007, ProE, HiCad
|
erstellt am: 21. Mrz. 2009 22:38 <-- editieren / zitieren --> Unities abgeben: Nur für FiRePhoeniX
|
FiRePhoeniX Mitglied Bauzeichner Fachgebiet Tief−, Straßen− und Landschaftsbau
Beiträge: 127 Registriert: 22.04.2007 AutoCad 2007
|
erstellt am: 22. Mrz. 2009 00:07 <-- editieren / zitieren --> Unities abgeben:
Abend Dorfy, danke noch mal für die Antwort. Das Problem ist das die Bemaßungen schon vorhanden sind. Also ich will diese nachträglich ändern. Meinens wissen kann ich da nichts mit System variablen machen. Mit freundlichen Grüßen FirephoeniX Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Huebner Ehrenmitglied V.I.P. h.c. Verm.- Ing., ATC-Trainer
Beiträge: 9803 Registriert: 01.12.2003 One AutoCAD 2.5 - 2024, AutoCAD, Civil 3D, Win10/Win11
|
erstellt am: 22. Mrz. 2009 09:04 <-- editieren / zitieren --> Unities abgeben: Nur für FiRePhoeniX
Zitat: Original erstellt von FiRePhoeniX: ...Will die Genauigkeit ( Systemvariable DIMDEC ) und den globalen Faktor für Bemaßungen ( Systemvariable DIMLFAC ) ändern. Das Problem an der Sache ist das ich die werte nicht in den Gruppencodes wiederfinde. ...FirephoeniX
Bemaßungsstilüberschreibungen werden am Objekt unter einem registrierten Applikationsnamen ACAD gespeichert. Die Daten werden mit Entget nur angezeigt, wenn der Applikationsname mit übergeben wird. Code: Befehl: (entget (car (entsel))(list "ACAD"))Objekt wählen: ((-1 . <Objektname: 7e284b88>) (0 . "DIMENSION") (330 . <Objektname: 7e415cf8>) (5 . "A21") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 . "AcDbDimension") (2 . "*D3") (10 1590.16 924.84 0.0) (11 1406.14 934.215 0.0) (12 0.0 0.0 0.0) (70 . 32) (1 . "") (71 . 5) (72 . 1) (41 . 1.0) (42 . 368.046) (73 . 0) (74 . 0) (75 . 0) (52 . 0.0) (53 . 0.0) (54 . 0.0) (51 . 0.0) (210 0.0 0.0 1.0) (3 . "ISO-25") (100 . "AcDbAlignedDimension") (13 1222.12 806.66 0.0) (14 1590.16 838.891 0.0) (15 0.0 0.0 0.0) (16 0.0 0.0 0.0) (40 . 0.0) (50 . 0.0) (100 . "AcDbRotatedDimension") (-3 ("ACAD" (1000 . "DSTYLE") (1002 . "{") (1070 . 40) (1040 . 5.0) (1070 . 271) (1070 . 1) (1002 . "}"))))
Die markierten Werte sind ein überschriebener globaler Sklierungsfaktor 5.0 und eine überschriebene Anzahl von Nachkommastellen 1. Diese Werte kann man auch modifizieren oder selbst anlegen. Schöner wäre es, du hättes die neuen Frage in einem neuen Beitrag gestellt und nicht alles unter dem Beitragstitel "*error* Befehl".
------------------ Mit freundlichem Gruß Udo Hübner www.CAD-Huebner.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
FiRePhoeniX Mitglied Bauzeichner Fachgebiet Tief−, Straßen− und Landschaftsbau
Beiträge: 127 Registriert: 22.04.2007 AutoCad 2007
|
erstellt am: 22. Mrz. 2009 20:56 <-- editieren / zitieren --> Unities abgeben:
Danke CAD-Huebner, für die Antwort und sorry das ich keine neues Thema eröffnet habe. Bei nächsten mal mach ich das so. Hab das mit deinen Befehl ausprobiert. Bei mir geht das leider nicht. Befehl: (entget (car (entsel))(list "ACAD")) Objekt wählen: ((-1 . <Objektname: 7ef9f880> ) (0 . "DIMENSION") (330 . <Objektname: 7ef9dcf8> ) (5 . "240") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 . "AcDbDimension") (2 . "*D8") (10 1570.81 637.749 0.0) (11 1580.4 639.832 0.0) (12 0.0 0.0 0.0) (70 . 32) (1 . "") (71 . 5) (72 . 1) (41 . 1.0) (42 . 4.72736) (73 . 0) (74 . 0) (75 . 0) (52 . 0.0) (53 . 0.0) (54 . 0.0) (51 . 0.0) (210 0.0 0.0 1.0) (3 . "ISO-25") (100 . "AcDbAlignedDimension") (13 1566.09 609.145 0.0) (14 1570.81 605.255 0.0) (15 0.0 0.0 0.0) (16 0.0 0.0 0.0) (40 . 0.0) (50 . 0.0) (100 . "AcDbRotatedDimension")) Was mach ich wider falsch? Mit freundlichen Grüßen Firephoenix Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 22. Mrz. 2009 21:07 <-- editieren / zitieren -->
Hi, Udo hat Dir gezeigt, wie Du überschriebene Werte einer Bemassung herausbekommst, Sprich der letzte Teil der Liste
Code: (-3 ("ACAD" (1000 . "DSTYLE") (1002 . "{") (1070 . 40) (1040 . 5.0) (1070 . 271) (1070 . 1) (1002 . "}"))))
wird für eine Bemassung nur angezeigt, wenn der Bemassung Eigenschaften zugewiesen werden, die vom Stil abweichen.Erzeugst Du eine Bemassung ohne etwas an den Standard-Einstellungen der Bemassung zu ändern, dann wird hier auch nichts erweitertes aufgelistet. Klickst Du die Bemassung an, änderst im Eigenschaftsfenster z.B. den Skalierfaktor, dann wirst Du mit dem Lisp-Befehl auch die Erweiterungen sehen. - alfred - ------------------ www.hollaus.at |