tizianost
Guest
hallo alle, ich versuche in meinem dritten drehbuch in lisp und wie immer ich feststecke, ich hoffe, sie können mir helfen.
mit dem code unten möchte ich aus einem bestimmten design alle "punkt" objekte überlappt löschen, ich weiß, dass es eine ähnliche funktion im express-menü gibt, aber ich möchte ein skript, das auf jedem autocad funktioniert, auch ohne solche menü.
(setq group (ssget "x")); wählen sie alle elemente des designs
(setq nent (1- (sslength group));
(setq i 1); verhindert endlose zyklen
(> i 1000000)
(setq ent)
(seq-element (entget ent)); extrahiert das "ent"-element aus der datenbank
;(druck i)
(setq tipoent (cdr (assoc 0 element)))
(print tipoent)
(falls)
(progn)
(setq nent2)
(setq j 0)
(> j 1000000)
(setq ent2 (namensgruppe nent2); extrahiert den namen des elements
(setq element2 (entget ent2) ; extrahiert das "ent" element aus der datenbank
(falls (/= (cdr (assoc -1 element)))) (cdr(assoc -1 element2)) ; Prüfung, ob es nicht das gleiche Objekt ist)
(Progn)
(Print (cdr (assoc -1 Element))
(druck (cdr (assoc -1 element2))
(setq cordinate1 (cdr (assoc 10 element)))
(setq cordinate2 (cdr 10 element2))
(wenn (= koordinaten1 koordinaten2); wenn das zweite objekt die gleiche koordinaten wie das erste...(progn)
(eintritt)
(print "eliminate")
(setq group (ssget "x"); alle elemente des designs nachfüllen
(setq nent (1- (sslength group));
)
(progn)
(druck "objekt mit unterschiedlichem coorinat")
(print (autokoordinaten1)
(druck (fahrwagenkoordinate2)
)
)
)
)
(setq j (1+ j)
(setq nent2 (1- nent2)
) ende der
)
)
(setq i (1+i)
(setq nent (1- nent))
) ende der
nach endlosen versuchen zu glauben, dass fehler in den funktionen liegen, wenn sie die listen von koordinaten und einheiten nicht vergleichen (ich bin falsch)
vielen dank im voraus
hi.
titten
mit dem code unten möchte ich aus einem bestimmten design alle "punkt" objekte überlappt löschen, ich weiß, dass es eine ähnliche funktion im express-menü gibt, aber ich möchte ein skript, das auf jedem autocad funktioniert, auch ohne solche menü.
(setq group (ssget "x")); wählen sie alle elemente des designs
(setq nent (1- (sslength group));
(setq i 1); verhindert endlose zyklen
(> i 1000000)
(setq ent)
(seq-element (entget ent)); extrahiert das "ent"-element aus der datenbank
;(druck i)
(setq tipoent (cdr (assoc 0 element)))
(print tipoent)
(falls)
(progn)
(setq nent2)
(setq j 0)
(> j 1000000)
(setq ent2 (namensgruppe nent2); extrahiert den namen des elements
(setq element2 (entget ent2) ; extrahiert das "ent" element aus der datenbank
(falls (/= (cdr (assoc -1 element)))) (cdr(assoc -1 element2)) ; Prüfung, ob es nicht das gleiche Objekt ist)
(Progn)
(Print (cdr (assoc -1 Element))
(druck (cdr (assoc -1 element2))
(setq cordinate1 (cdr (assoc 10 element)))
(setq cordinate2 (cdr 10 element2))
(wenn (= koordinaten1 koordinaten2); wenn das zweite objekt die gleiche koordinaten wie das erste...(progn)
(eintritt)
(print "eliminate")
(setq group (ssget "x"); alle elemente des designs nachfüllen
(setq nent (1- (sslength group));
)
(progn)
(druck "objekt mit unterschiedlichem coorinat")
(print (autokoordinaten1)
(druck (fahrwagenkoordinate2)
)
)
)
)
(setq j (1+ j)
(setq nent2 (1- nent2)
) ende der
)
)
(setq i (1+i)
(setq nent (1- nent))
) ende der
nach endlosen versuchen zu glauben, dass fehler in den funktionen liegen, wenn sie die listen von koordinaten und einheiten nicht vergleichen (ich bin falsch)
vielen dank im voraus
hi.
titten