Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Punkte vergleichen

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:  Punkte vergleichen (1861 mal gelesen)
jörg.jwd
Ehrenmitglied V.I.P. h.c.
CAD-PDM Administrator


Sehen Sie sich das Profil von jörg.jwd an!   Senden Sie eine Private Message an joerg.jwd  Schreiben Sie einen Gästebucheintrag für joerg.jwd

Beiträge: 3109
Registriert: 05.11.2003

erstellt am: 05. Aug. 2013 13:35    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 zusammen,

stehe gerade etwas auf dem Schlauch. Ich habe mir eine Liste aller Start - und Endpunkte in einer Zeichnung erstellt. Nun will ich ermitteln ob z.B. an einer Linie jeweils am Startpunkt und am Enpunkt noch ein Objekt hängt und bekomme das absolut nicht gebacken. Über diverse Denkanstöße würde ich mich freuen.

------------------
Grüße

Jörg

früher war die Zukunft besser (Karl Valentin)

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

Meldin
Mitglied



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

Beiträge: 381
Registriert: 15.07.2011

ACA2020
Windows10

erstellt am: 05. Aug. 2013 14: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 jörg.jwd 10 Unities + Antwort hilfreich

Hallo
ssget schon probiert?

------------------
Gruß Wolfgang

Alias: Rabbit007 und Wolli1 die aus unerklärlichen Gründen aus dem System hier gelöscht wurden. 

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

Meldin
Mitglied



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

Beiträge: 381
Registriert: 15.07.2011

ACA2020
Windows10

erstellt am: 05. Aug. 2013 14: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 Nur für jörg.jwd 10 Unities + Antwort hilfreich

Oh es könnte sein das ich dich falsch verstanden habe willst die eine Liste filtern oder Objekte suchen ?

------------------
Gruß Wolfgang

Alias: Rabbit007 und Wolli1 die aus unerklärlichen Gründen aus dem System hier gelöscht wurden. 

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

jörg.jwd
Ehrenmitglied V.I.P. h.c.
CAD-PDM Administrator


Sehen Sie sich das Profil von jörg.jwd an!   Senden Sie eine Private Message an joerg.jwd  Schreiben Sie einen Gästebucheintrag für joerg.jwd

Beiträge: 3109
Registriert: 05.11.2003

erstellt am: 05. Aug. 2013 15:21    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 Wolfgang,

da hast du mich wohl etwas missverstanden. Ich muss alle Elemente durchsuchen und feststellen ob an beiden Endpunkten noch ein Element dranhängt. Die Liste aller Start- und Endpunkte habe ich schon. Nur der Vergleich der Einzelnen Objekte mit dieser Liste geht schief.

------------------
Grüße

Jörg

früher war die Zukunft besser (Karl Valentin)

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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

Alles

erstellt am: 05. Aug. 2013 15: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 jörg.jwd 10 Unities + Antwort hilfreich

(mapcar '(lambda(L1 L2)(equal L1 L2 0.0000001)) KOORD1 KOORD2)

oder

(and
  (equal (car K1)  (car K2)  0.0000001)
  (equal (cadr K1)  (cadr K2)  0.0000001)
  (equal (caddr K1) (caddr K2) 0.0000001)
)

Wenn es noch keine Liste geben würde und es sich um viele Objekte handelt, dann würde ich
auch nach Linien in der Umgebung suchen.. Aber die Aufgabe war ja klar beschrieben 

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

Meldin
Mitglied



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

Beiträge: 381
Registriert: 15.07.2011

ACA2020
Windows10

erstellt am: 05. Aug. 2013 15: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 Nur für jörg.jwd 10 Unities + Antwort hilfreich

Hier mal was zum testen vielleicht bringt es dich auf eine Idee.
Code:
(setq AWSLinie(cdr(assoc 11(entget(car(entsel "\nLinie wählen"))))))
(setq LinienAnz(sslength(ssget "_C" AWSLinie AWSLinie)))
(cond
((= LinienAnz 1) (princ"Am Ende kein Objekt."))
((= LinienAnz 2) (princ"Am Ende ein Objekt."))
((> LinienAnz 2) (princ"Am Ende mehrere Objekte."))
)

------------------
Gruß Wolfgang

Alias: Rabbit007 und Wolli1 die aus unerklärlichen Gründen aus dem System hier gelöscht wurden. 

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

jörg.jwd
Ehrenmitglied V.I.P. h.c.
CAD-PDM Administrator


Sehen Sie sich das Profil von jörg.jwd an!   Senden Sie eine Private Message an joerg.jwd  Schreiben Sie einen Gästebucheintrag für joerg.jwd

Beiträge: 3109
Registriert: 05.11.2003

erstellt am: 06. Aug. 2013 12:45    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,

esrt mal danke für die schnellen Antworten. Der Ansatz von (ich meine noch Thomas zu wissen) cadffm hat mich auf  die richtige Spur gebracht. Hätte doch beinahe übersehen dass ich zweimal prüfen muss da die Punkte des zu prüfenden Elements auch in meine Punkteliste stehen.
@Wolfgan: dein Ansatz ist auch nicht ohne, aber da das alles automatisch laufen muss (relativ große Zeichnungen) kann ich das so nicht verwenden. Trotzem Ü's sind unterwegs.

------------------
Grüße

Jörg

früher war die Zukunft besser (Karl Valentin)

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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

Alles

erstellt am: 06. Aug. 2013 12:50    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 jörg.jwd 10 Unities + Antwort hilfreich

Wolfgang hat dir nur eine Methode gezeigt für den Fall den ich mit meinem letzten Kommentar ansprach.
Das Beispiel ist für eine Benutzerabfrage konzipiert, aber du kannst das gerne voll autom. laufen lassen.

Sebastian 

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13508
Registriert: 30.11.2003

.

erstellt am: 06. Aug. 2013 12:55    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 jörg.jwd 10 Unities + Antwort hilfreich

Wenn's  um Punktevergleich geht bietet sich auch

(=(distance PKT1 PKT2)0)

an ...... nur mal so

------------------
Also ich finde Unities gut ... und andere sicher auch
---------------------------------------
  - Thomas -          
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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

archtools
Mitglied



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

Beiträge: 823
Registriert: 09.10.2004

Entwickler für AutoCAD, BricsCAD u.a., alle Systeme

erstellt am: 06. Aug. 2013 13:25    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 jörg.jwd 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von CADmium:
Wenn's  um Punktevergleich geht bietet sich auch

(=(distance PKT1 PKT2)0)

an ...... nur mal so


Das ist nach einiger Überlegung, und wenn man equal mit 'nem Fuzzy-Wert statt = verwendet, gar keine schlechte Idee. Zwar muss da für (distance ..) was mit einigem Aufwand berechnet werden, aber dafür spart man sich die sonst notwendigen Prüfungen und Anpassungen von 2D- und 3D-Punkten, was ja auch etliche Zeit benötigt.

Ich selbst verwende für sowas eine eigene Funktion (equal-pp ..), die natürlich die ganzen Prüfungen durchführt. Ich bin mir aber fast sicher, dass die Prüfung mittels distance effizienter ist.

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

jörg.jwd
Ehrenmitglied V.I.P. h.c.
CAD-PDM Administrator


Sehen Sie sich das Profil von jörg.jwd an!   Senden Sie eine Private Message an joerg.jwd  Schreiben Sie einen Gästebucheintrag für joerg.jwd

Beiträge: 3109
Registriert: 05.11.2003

erstellt am: 08. Aug. 2013 09: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

Hallo zusammen,

erstmal Dank an alle. Ihr habt mir quasi das WE gerettet. Ü's sind verteilt.
Mit meiner letzten Punkteliste komme ich allerdings nicht zu Rande. Da bekomme ich beim  command ..."_WP" ptlist die Meldung Fehlerhafte Punkteliste. Könnte evtl. einer von euch draufschauen wo der Fehler im Code liegt?

(setq ulet (list (-(car (getvar "extmax")) 509.5) (- (cadr (getvar "extmin")) 1)))
(setq olet (list (-(car (getvar "extmax")) 509.5) (+ (cadr (getvar "extmin")) 56)))
(setq omet (list (-(car (getvar "extmax")) 342.5) (+ (cadr (getvar "extmin")) 56)))
(setq omoet (list (-(car (getvar "extmax")) 342.5) (+ (cadr (getvar "extmin")) 64.5)))
(setq oret (list (-(car (getvar "extmax")) 177.5) (+ (cadr (getvar "extmin")) 64.5)))
(setq uret (list (-(car (getvar "extmax")) 177.5) (- (cadr (getvar "extmin")) 1)))
(setq ptlist (cons (list ulet olet omet omoet oret uret) ptlist))
(command "_change" (ssget "_WP" ptlist) "" "_p" "_la" "1" "_c" "_bylayer" "")

------------------
Grüße

Jörg

früher war die Zukunft besser (Karl Valentin)

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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

Alles

erstellt am: 08. Aug. 2013 11:21    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 jörg.jwd 10 Unities + Antwort hilfreich

Die Rückmeldung verrät es dir ja bereits: " Fehlerhafte Punkteliste."

Ein Blick in die LispHilfe:
(setq ss1 (ssget "WP" (list pt1 pt2 pt3)))
Creates a selection set of the objects inside the polygon defined by the points
(0,0), (5,5), and (4,1)

Die Punkteliste sollte also so aussehen: ((20 25 0)(33 55 0)(5 -3 0)usw.)

Dann schaust du dir deinen Wert von PTLIST mal an:

(((-356.025 132.205) (-356.025 189.205) (-189.025 189.205) (-189.025 197.705) (-24.0247 197.705) (-24.0247 132.205)))

Wenn du die Liste mit (car PTLIST) übergeben würdest, wäre Acad glücklich,
dir sollte aber der eigentliche (Denk)Fehler bewußt sein: Dein Konstrukt mit cons
Kann man Sinnvoll nutzen, aber dann eben bewußt und richtig.

Wobei da die Frage ist ob es denn bereits Punkte in PTLIST geben kann,
falls nicht wäre das cons nämlich vollkommen überflüssig.

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

[Diese Nachricht wurde von cadffm am 08. Aug. 2013 editiert.]

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



Bauingenieure (m/w/d) für die Betonfertigteilkonstruktion

GOLDBECK?realisiert zukunftsweisende Immobilien in Europa. Wir verstehen Gebäude als Produkte und bieten alle Leistungen aus einer Hand: vom Design über den Bau bis zu Services im Betrieb. Aktuell beschäftigt unser Familienunternehmen mehr als 12.000 Mitarbeitende an über 100 Standorten bei einer?Gesamtleistung von über 6 Mrd. Euro. Unser Anspruch ?building?excellence? steht dabei für Spitzenleistungen ...

Anzeige ansehenBauwesen
jörg.jwd
Ehrenmitglied V.I.P. h.c.
CAD-PDM Administrator


Sehen Sie sich das Profil von jörg.jwd an!   Senden Sie eine Private Message an joerg.jwd  Schreiben Sie einen Gästebucheintrag für joerg.jwd

Beiträge: 3109
Registriert: 05.11.2003

erstellt am: 08. Aug. 2013 11: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

Hallo cadffm
kaum macht man's richtig...
ich weiß meine Codes sehen besch... aus. Habe vor 10 Jahren noch anständig und sauber programmiert. Seither nicht mehr. Und das was ich jetzt schreiben muss kommt alle Jahr mal vor, und dann noch so nebenher (aber gestern fertig sein). Ich hoffe meine User tun in Zukunft was ich Ihnen sage, dann muss ich nicht hinterher das Kind aus dem Brunnen ziehen.

Trotz allem vielen Dank. Ich weiß selbst was man denkt wenn man solche (eigentlich trivialen) Dinge liest.

------------------
Grüße

Jörg

früher war die Zukunft besser (Karl Valentin)

[Diese Nachricht wurde von jörg.jwd am 08. Aug. 2013 editiert.]

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

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