"Doppelt" läuft nicht :-(

Fragen und Anmerkungen zu den Lispprogrammen von CADwiesel
Antworten
tobier
Newbie
Beiträge: 3
Registriert: Do 17. Sep 2009, 17:15

"Doppelt" läuft nicht :-(

Beitrag von tobier » Di 22. Sep 2009, 13:36

Hallo zusammen,

leider läuft das Script "Doppelt" nicht auf meiner AutoCAD 2010 - Version. Bei genau einem Objekt, das doppelt vorhanden ist, funktioniert es zwar. Sobald jedoch ein beliebiges weiteres Objekt in der Zeichnung vorkommt (z.B. drei Quadrate, von denen zwei übereinanderliegen), kommt der folgende Dialog:

Code: Alles auswählen

Befehl: doppelt
Doppelte Elemente auf <S>eperaten Layer legen oder <L>öschen ?s
/earbeite Zeichnung
Fehler: Fehlerhafter Argumenttyp: numberp: nil
Bei der Auswahl "L" kommt das selbe. Er legt zwar den Layer "doppelt" noch an, aber dann bricht das Programm ab.

Was könnte zur Lösung des Problems führen? Ich bekomme häufig Zeichnungen, bei der jemand versehentlich mehrere Objekte übereinander legt. Da wäre das Tool schon eine zeit- und nervenschonende Hilfe!

Danke im Voraus für die Hilfe!
Gruß Tobias

Benutzeravatar
CADwiesel
Administrator
Beiträge: 367
Registriert: Mo 11. Jun 2018, 13:07
Kontaktdaten:

Re: "Doppelt" läuft nicht :-(

Beitrag von CADwiesel » Di 22. Sep 2009, 14:09

isch gugge......
Gruß
BildCADwiesel
Besucht uns im CHAT

Benutzeravatar
CADwiesel
Administrator
Beiträge: 367
Registriert: Mo 11. Jun 2018, 13:07
Kontaktdaten:

Re: "Doppelt" läuft nicht :-(

Beitrag von CADwiesel » Di 22. Sep 2009, 14:43

ok erledigt
Im Anhang die neue Datei

Vielen Dank für den Hinweis
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Gruß
BildCADwiesel
Besucht uns im CHAT

tobier
Newbie
Beiträge: 3
Registriert: Do 17. Sep 2009, 17:15

Re: "Doppelt" läuft nicht :-(

Beitrag von tobier » Di 22. Sep 2009, 16:21

super, vielen Dank für die zügige Bearbeitung! Es funktioniert jetzt :)

Mir ist aufgefallen, dass er dann immer die ganze Zeichnung durchrödelt, auch wenn die anderen Layer gefroren und / oder gesperrt sind. Wäre es möglich, die gesperrten Layer außen vor zu lassen, so dass er nur die Layer durchsucht, die nicht gesperrt sind? Dann würde es wesentlich schneller flutschen. Das wäre ein nice-to-have :) aber so wie es ist, funktioniert es jedenfalls. Vielen vielen Dank!!

Gruß Tobias

Benutzeravatar
CADwiesel
Administrator
Beiträge: 367
Registriert: Mo 11. Jun 2018, 13:07
Kontaktdaten:

Re: "Doppelt" läuft nicht :-(

Beitrag von CADwiesel » Di 22. Sep 2009, 17:28

Hier Tausch im Lisp die Funktion EARX:LIST-LAY
gegen diese aus
(defun EARX:LIST-LAY (/)

(setq EARX_LIST nil) ; Alte Datenliste löschen
(setq EARX_DAT (tblnext "LAYER" T)) ;Solange noch Einträge
(while EARX_DAT
(setq EARX_NAM (cdr (assoc 2 EARX_DAT)))
(if (and
(not(minusp(cdr(assoc 62 EARX_DAT))))
(not(/=(cdr(assoc 70 EARX_DAT))0))
)
(setq EARX_LIST (cons EARX_NAM EARX_LIST))
)
(setq EARX_DAT (tblnext "LAYER"))
) ;_ end of while
)
Gruß
BildCADwiesel
Besucht uns im CHAT

tobier
Newbie
Beiträge: 3
Registriert: Do 17. Sep 2009, 17:15

Re: "Doppelt" läuft nicht :-(

Beitrag von tobier » Mi 23. Sep 2009, 09:27

genial, vielen Dank :)

Antworten