• Dieses Forum ist die maschinengenerierte Übersetzung von www.cad3d.it/forum1 - der italienischen Design-Community. Einige Begriffe sind nicht korrekt übersetzt.

Doppelpunkte entfernen

  • Ersteller Ersteller tizianost
  • Erstellt am Erstellt am

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
 
kosine konfrontationskoordinaten:
(und (= (car pt1) (car pt2)) (= (cr pt1) (cd pt2)) (= (cd pt1) (cd pt2))

Bye
 
(wenn (= koordinaten 1 koordinaten) 2)) ; hat eine zusätzliche halterung

so dass die werte überprüft werden können, müssen sie die methode von rpor66 verwenden oder den code schreiben:
(falls)gleich koordinaten1 koordinaten2

so tun die lisp dreht, aber löscht alle punkte, wie es immer auf dem gleichen punkt überprüft (jeder punkt ist eindeutig gleich zu sich selbst), müssen sie dann ändern:
(setq nent2)
in
(setq nent2 (1.) nent))sollte der Esfunktionier:
HTML:
(setq group (ssget "x"));
(setq nent (1- (sslength group));
(setq i 1); verhindert endlose zyklen
(> i 1000000)
; zyklus für alle elemente
(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 nt2 (1- nt)
(setq j 0)
(> j 1000000)
(setq ent2 (namesgruppe nent2); extrahieren Sie die Namen der Elemente
(setq element2 (entget ent2)

(falls vorhanden)
(Cdr.)
)
(Progn)
(Print (cdr (assoc -1 Element))
(druck (cdr (assoc -1 element2))
(setq cordinate1 (cdr (assoc 10 element)))
(setq cordinate2 (cdr 10 element2))

(Fälle (gleiche Koordinaten)
; Wenn das zweite objekt die gleichen cordinaten die das erste has...
(Progn)
(eingeschrieben)
(Print "eliminate")
(setq group (ssget "x")); alle elemente entwirft
(setq nent (1- (sslength group));
)
(Progn)
(druck "objekt mit unterschiedlichem coorinat")
(Aufdruck (Fahrwagen)
(druck (fahrwagen cordinate2)
)
)
)
)

(setq j (1+ j)
(setq ent2 (1- nt2)
) und
)
)

(Setq i (1+i)
(setq nent (1-ent))

) und
wenn sie zufällig andere lisp zu entwickeln, für die auswahl von objekten (in diesem fall die punkte) sollten sie den "direkten" code verwenden:

(setq group)

auf diese weise werden alle punkte ausgewählt, ohne die auswahlgruppe auf der suche nach ihnen scrollen zu müssen.
 
Guten Abend,
Ich hätte dieses Problem:
mit dem zivilen Design-Genro der Punkte in Koordinaten, aber viele Male ich zufällig zwei oder mehr Punkte mit dem gleichen Namen und im Export möchte ich das gleiche hervorheben.
Kann mir jemand helfen?
Danke.
 

Statistik des Forums

Themen
58.521
Beiträge
499.056
Mitglieder
104.110
Neuestes Mitglied
ChristianR

Zurzeit aktive Besucher

Keine Mitglieder online.
Zurück
Oben