Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  *error* befehl

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  *error* befehl (1936 mal gelesen)
FiRePhoeniX
Mitglied
Bauzeichner Fachgebiet Tief−, Straßen− und Landschaftsbau


Sehen Sie sich das Profil von FiRePhoeniX an!   Senden Sie eine Private Message an FiRePhoeniX  Schreiben Sie einen Gästebucheintrag für FiRePhoeniX

Beiträge: 127
Registriert: 22.04.2007

AutoCad 2007

erstellt am: 15. Sep. 2008 10:52    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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


Sehen Sie sich das Profil von Dorfy an!   Senden Sie eine Private Message an Dorfy  Schreiben Sie einen Gästebucheintrag für Dorfy

Beiträge: 900
Registriert: 21.07.2006

AutoCad2007, ProE, HiCad

erstellt am: 15. Sep. 2008 11:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für FiRePhoeniX 10 Unities + Antwort hilfreich

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




Sehen Sie sich das Profil von Brischke an!   Senden Sie eine Private Message an Brischke  Schreiben Sie einen Gästebucheintrag für Brischke

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools (d-tools.eu)

erstellt am: 15. Sep. 2008 11:26    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für FiRePhoeniX 10 Unities + Antwort hilfreich

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


Sehen Sie sich das Profil von FiRePhoeniX an!   Senden Sie eine Private Message an FiRePhoeniX  Schreiben Sie einen Gästebucheintrag für FiRePhoeniX

Beiträge: 127
Registriert: 22.04.2007

AutoCad 2007

erstellt am: 15. Sep. 2008 11:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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



Sehen Sie sich das Profil von CAD-Huebner an!   Senden Sie eine Private Message an CAD-Huebner  Schreiben Sie einen Gästebucheintrag für CAD-Huebner

Beiträge: 9732
Registriert: 01.12.2003

One AutoCAD 2.5 - 2023, Civil 3D, Win10/win11

erstellt am: 15. Sep. 2008 11:48    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für FiRePhoeniX 10 Unities + Antwort hilfreich

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


Sehen Sie sich das Profil von FiRePhoeniX an!   Senden Sie eine Private Message an FiRePhoeniX  Schreiben Sie einen Gästebucheintrag für FiRePhoeniX

Beiträge: 127
Registriert: 22.04.2007

AutoCad 2007

erstellt am: 15. Sep. 2008 11:58    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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


Sehen Sie sich das Profil von Dorfy an!   Senden Sie eine Private Message an Dorfy  Schreiben Sie einen Gästebucheintrag für Dorfy

Beiträge: 900
Registriert: 21.07.2006

AutoCad2007, ProE, HiCad

erstellt am: 15. Sep. 2008 12:16    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für FiRePhoeniX 10 Unities + Antwort hilfreich

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


Sehen Sie sich das Profil von Dorfy an!   Senden Sie eine Private Message an Dorfy  Schreiben Sie einen Gästebucheintrag für Dorfy

Beiträge: 900
Registriert: 21.07.2006

AutoCad2007, ProE, HiCad

erstellt am: 15. Sep. 2008 12:30    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für FiRePhoeniX 10 Unities + Antwort hilfreich

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


Sehen Sie sich das Profil von FiRePhoeniX an!   Senden Sie eine Private Message an FiRePhoeniX  Schreiben Sie einen Gästebucheintrag für FiRePhoeniX

Beiträge: 127
Registriert: 22.04.2007

AutoCad 2007

erstellt am: 15. Sep. 2008 12:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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




Sehen Sie sich das Profil von Brischke an!   Senden Sie eine Private Message an Brischke  Schreiben Sie einen Gästebucheintrag für Brischke

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools (d-tools.eu)

erstellt am: 15. Sep. 2008 13:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für FiRePhoeniX 10 Unities + Antwort hilfreich

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


Sehen Sie sich das Profil von FiRePhoeniX an!   Senden Sie eine Private Message an FiRePhoeniX  Schreiben Sie einen Gästebucheintrag für FiRePhoeniX

Beiträge: 127
Registriert: 22.04.2007

AutoCad 2007

erstellt am: 13. Mrz. 2009 14:13    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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




Sehen Sie sich das Profil von Brischke an!   Senden Sie eine Private Message an Brischke  Schreiben Sie einen Gästebucheintrag für Brischke

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools (d-tools.eu)

erstellt am: 13. Mrz. 2009 15:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für FiRePhoeniX 10 Unities + Antwort hilfreich

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


Sehen Sie sich das Profil von FiRePhoeniX an!   Senden Sie eine Private Message an FiRePhoeniX  Schreiben Sie einen Gästebucheintrag für FiRePhoeniX

Beiträge: 127
Registriert: 22.04.2007

AutoCad 2007

erstellt am: 13. Mrz. 2009 19:44    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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


Sehen Sie sich das Profil von Dorfy an!   Senden Sie eine Private Message an Dorfy  Schreiben Sie einen Gästebucheintrag für Dorfy

Beiträge: 900
Registriert: 21.07.2006

AutoCad2007, ProE, HiCad

erstellt am: 13. Mrz. 2009 20:02    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für FiRePhoeniX 10 Unities + Antwort hilfreich

hi,
benutz mal die folgende Zeile an deiner Bemaßung
(vlax-dump-object (vlax-ename->vla-object (car (entsel))) T)
--> Eigenschaften und Methoden
Nun hast du einige Infos zum ändern...

mfg heiko

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

FiRePhoeniX
Mitglied
Bauzeichner Fachgebiet Tief−, Straßen− und Landschaftsbau


Sehen Sie sich das Profil von FiRePhoeniX an!   Senden Sie eine Private Message an FiRePhoeniX  Schreiben Sie einen Gästebucheintrag für FiRePhoeniX

Beiträge: 127
Registriert: 22.04.2007

AutoCad 2007

erstellt am: 13. Mrz. 2009 20:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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


Sehen Sie sich das Profil von Dorfy an!   Senden Sie eine Private Message an Dorfy  Schreiben Sie einen Gästebucheintrag für Dorfy

Beiträge: 900
Registriert: 21.07.2006

AutoCad2007, ProE, HiCad

erstellt am: 13. Mrz. 2009 20:24    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für FiRePhoeniX 10 Unities + Antwort hilfreich

hi,
Wie Fehler?
einfach in die Befehlszeile kopieren, enter, Bemaßung wählen...
fehlt da ein (vl-load-com)
mfg heiko

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

FiRePhoeniX
Mitglied
Bauzeichner Fachgebiet Tief−, Straßen− und Landschaftsbau


Sehen Sie sich das Profil von FiRePhoeniX an!   Senden Sie eine Private Message an FiRePhoeniX  Schreiben Sie einen Gästebucheintrag für FiRePhoeniX

Beiträge: 127
Registriert: 22.04.2007

AutoCad 2007

erstellt am: 13. Mrz. 2009 20:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

jo, das (vl-load-com) hab gefehlt.
Das bingt mich aber auch nicht weiter.
Was mach ich den jetzt ???
Wie ändere ich den die Sachen ? 
Danke noch mal für die Antwort.

mfg

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Dorfy
Mitglied
Double-Dipl.-Ing. Bleistiftanspitzer


Sehen Sie sich das Profil von Dorfy an!   Senden Sie eine Private Message an Dorfy  Schreiben Sie einen Gästebucheintrag für Dorfy

Beiträge: 900
Registriert: 21.07.2006

AutoCad2007, ProE, HiCad

erstellt am: 13. Mrz. 2009 20:48    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für FiRePhoeniX 10 Unities + Antwort hilfreich

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


Sehen Sie sich das Profil von FiRePhoeniX an!   Senden Sie eine Private Message an FiRePhoeniX  Schreiben Sie einen Gästebucheintrag für FiRePhoeniX

Beiträge: 127
Registriert: 22.04.2007

AutoCad 2007

erstellt am: 19. Mrz. 2009 21:28    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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


Sehen Sie sich das Profil von Dorfy an!   Senden Sie eine Private Message an Dorfy  Schreiben Sie einen Gästebucheintrag für Dorfy

Beiträge: 900
Registriert: 21.07.2006

AutoCad2007, ProE, HiCad

erstellt am: 20. Mrz. 2009 06:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für FiRePhoeniX 10 Unities + Antwort hilfreich

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


Sehen Sie sich das Profil von FiRePhoeniX an!   Senden Sie eine Private Message an FiRePhoeniX  Schreiben Sie einen Gästebucheintrag für FiRePhoeniX

Beiträge: 127
Registriert: 22.04.2007

AutoCad 2007

erstellt am: 21. Mrz. 2009 20:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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


Sehen Sie sich das Profil von Dorfy an!   Senden Sie eine Private Message an Dorfy  Schreiben Sie einen Gästebucheintrag für Dorfy

Beiträge: 900
Registriert: 21.07.2006

AutoCad2007, ProE, HiCad

erstellt am: 21. Mrz. 2009 22:38    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für FiRePhoeniX 10 Unities + Antwort hilfreich

hi,
du sagst es ja schon selber,
Systemvariablen...
getvar
sofern nicht read only
setvar
mfg heiko

Edit: so als Idee, vllt im BemStil

[Diese Nachricht wurde von Dorfy am 21. Mrz. 2009 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

FiRePhoeniX
Mitglied
Bauzeichner Fachgebiet Tief−, Straßen− und Landschaftsbau


Sehen Sie sich das Profil von FiRePhoeniX an!   Senden Sie eine Private Message an FiRePhoeniX  Schreiben Sie einen Gästebucheintrag für FiRePhoeniX

Beiträge: 127
Registriert: 22.04.2007

AutoCad 2007

erstellt am: 22. Mrz. 2009 00:07    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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



Sehen Sie sich das Profil von CAD-Huebner an!   Senden Sie eine Private Message an CAD-Huebner  Schreiben Sie einen Gästebucheintrag für CAD-Huebner

Beiträge: 9732
Registriert: 01.12.2003

One AutoCAD 2.5 - 2023, Civil 3D, Win10/win11

erstellt am: 22. Mrz. 2009 09:04    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für FiRePhoeniX 10 Unities + Antwort hilfreich

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


Sehen Sie sich das Profil von FiRePhoeniX an!   Senden Sie eine Private Message an FiRePhoeniX  Schreiben Sie einen Gästebucheintrag für FiRePhoeniX

Beiträge: 127
Registriert: 22.04.2007

AutoCad 2007

erstellt am: 22. Mrz. 2009 20:56    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

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

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz