| |
| 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, eine Pressemitteilung
|
Autor
|
Thema: Gelöschte Handent macht Probleme (792 / mal gelesen)
|
Big Sven Mitglied Techn. Angestellter
Beiträge: 133 Registriert: 14.09.2005
|
erstellt am: 06. Apr. 2017 11:51 <-- editieren / zitieren --> Unities abgeben:
Hallo Forum! Hab nach langer Pause mal wieder ein Problem: Ich such über (setq a (handent "0815")) einen Block. Alles läuft prima, nur wenn der Block gelöscht wird, dann bekomme ich nicht mehr ein Nil zurück wie früher, sondern das Programm bricht ab (ungültiger Objektname). Kann das mit Lisp aber nicht abfangen! Ich hoffe Ihr versteht mein Problem und könnt mir helfen!?! Vielen Dank! Grüße Sven Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 06. Apr. 2017 12:08 <-- editieren / zitieren --> Unities abgeben: Nur für Big Sven
Der gepostete Code liefert dir doch keinen Abrruch zurück, , sondern ein ENAME? Der Abbruch wird bei der Weiterverarbeitung geschehen die uns nicht bekannt ist. Das war schon immer so und ist nicht neu. (entdel (handent "271")) liefert doch sicher keinen Abbruch sondern zaubert das Objekt zurück, richtig? nil kommt nur zurück wenn das Handle unbekannt ist, ein gelöschtes Entity ist aber noch bekannt. Erzähle also mal etwas mehr (und genauer) und korrigiere meine Aussagen, wenn nötig. ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Big Sven Mitglied Techn. Angestellter
Beiträge: 133 Registriert: 14.09.2005
|
erstellt am: 06. Apr. 2017 13:21 <-- editieren / zitieren --> Unities abgeben:
Hallo cadffm, Du hast natürlich Recht! Nil kommt nur zurück, wenn es unbekannt ist, ansonsten bekomme ich schon etwas zurück. Nur war mir das bisher nicht aufgefallen oder sagen wir mal so, ich bin mir nicht sicher, ob es nicht beim gelöschten Objekt Nil zurück gibt. Wie kann ich denn jetzt feststellen, ob es sich um ein gelöschtes Objekt handelt? Grüße Sven Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 06. Apr. 2017 13:23 <-- editieren / zitieren --> Unities abgeben: Nur für Big Sven
Wenn es um AutoLisp geht, dann würde man bei ENTGET ein NIL erhalten (entget (handent h)) -> nil Nachtrag zur Vervollständigung des Threads:
Auch würde sich von dem ENAME her kein VLA-Objekt ermitteln lassen: (vlax-ename->vla-object (handent h))
Wenn man ein VLA-Object hat und testen möchte, dann gibt es eine extra-Funktion dafür: (vlax-erased-p obj)
------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Big Sven Mitglied Techn. Angestellter
Beiträge: 133 Registriert: 14.09.2005
|
erstellt am: 06. Apr. 2017 15:51 <-- editieren / zitieren --> Unities abgeben:
Hallo cadffm, vielen Dank für Deine Hilfe! Leider bin ich nicht so firm mit VLA-Objekten, aber ich habe jetzt eine weitere Überprüfung eingebaut, ob das Objekt bereits wieder gelöscht wurde! Komisch ist nur, dass das seit 10 Jahren niemanden aufgefallen ist! Grüße Sven Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 06. Apr. 2017 16:48 <-- editieren / zitieren --> Unities abgeben: Nur für Big Sven
Jedem der in Lisp programmiert "sollte" das bekannt sein. Es ist genau so in der Hilfe dokumentiert, also auch gewollt. So funktioniert dann auch der Hoppla-Befehl. Also "aufgefallen" ist das vielen. Aber man vergisst auch mal Der Programmierer hat es in der Hand. Sobald zwischen Objektdaten spichern (Handle, Ename, Entityliste) und der Weiterverarbeitung die Möglichkeit besteht dass es dieses Objekt "nicht mehr gibt", muß eine Überprüfung stattfinden. ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung
Beiträge: 1763 Registriert: 11.10.2004 Window 11 ACAD 2021 CIVIL 2021 BricsCAD ab V14 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz 2.80 GHz 32.0GB RAM NVIDIA GeForce MX450<P>
|
erstellt am: 07. Apr. 2017 08:01 <-- editieren / zitieren --> Unities abgeben: Nur für Big Sven
|