Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  nächstliegende Objekte finden

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:  nächstliegende Objekte finden (1173 mal gelesen)
flaschenpost
Mitglied
Architekt


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

Beiträge: 497
Registriert: 29.09.2004

ADT 2004 / Windows XP

erstellt am: 17. Nov. 2004 22:57    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 liebe LISP-ler,

ich bin dabei, mir einige kleine Routinen zum Thema Geländehöhen zu machen. Im Moment fehlt mir eine Funktion, mit der ich beim Tippen eines Punktes irgendwo in die Zeichnungsfläche die 1-3 nächstliegenden Elemente (z.B. Text / Höhenzahl) automatisch bekomme. Es geht um die reine x,y-Entfernung (Ignorieren von Z).
Vielleicht hat jemand dazu eine Idee.

Gruß FP


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

mapcar
Mitglied
CADmin



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

Beiträge: 1250
Registriert: 20.05.2002

Time flies like an arrow, fruit flies like a banana (Groucho Marx)

erstellt am: 17. Nov. 2004 23: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 flaschenpost 10 Unities + Antwort hilfreich

Did you mean "Picken eines Punktes"?

Gruß, Axel Strube-Zettler

------------------
(defun - Lisp over night - AutoLisp-Programmierung für AutoCad - Da weiß man, wann man's hat
Meine AutoLisp-Seiten Mein Angriff auf dein Zwerchfell Mein Lexikon der Fotografie Mein gereimtes Gesülze

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

CAD-Huebner
Ehrenmitglied V.I.P. h.c.
Verm.- Ing., ATC-Trainer



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

Beiträge: 9732
Registriert: 01.12.2003

One AutoCAD 2.5 - 2023, Civil 3D, Win10/win11

erstellt am: 18. Nov. 2004 07:07    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 flaschenpost 10 Unities + Antwort hilfreich

Geht es darum, vorhandene 2D-Pläne mit Punkten und in der Nähe stehenden Texten für ein Geländemodell vorzubereiten?
Abhängig davon, ob die Texte immer im gleichen Abstand (gleiche Lage) relative zum Höhenpunkt stehen,
siehe dazu mal-> http://ww3.cad.de/foren/ubb/Forum54/HTML/008456.shtml
geht das mehr oder weniger gut mit
(SSGET "_C" (GETPOINT)(GETPOINT)'(( -4 . "<OR")( 0 . "TEXT")(0 . "MTEXT") (-4 . "OR>")))

Sollen Punkte neu erzeugt werden, würde ich Blöcke mit Attributen vorziehen (Attribtute sind dann Punktrnr, Höhe, evt. Punktcode)

Mit freundlichem Gruß

Udo Hübner

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

Brischke
Moderator
CAD on demand GmbH




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

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools (d-tools.eu)

erstellt am: 18. Nov. 2004 07:28    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 flaschenpost 10 Unities + Antwort hilfreich

Hallo FP,

programmieren kann man das. Ich selbst habe das in diesem Programm(pdf-Beschreibung) umgesetzt.
Grundlage ist die vom CAD-Huebner gepostete Lisp-Zeile, nur dass eben die Fensterkoordinaten automatisiert berechnet werden. D.h. ausgehend vom Einfügepunkt des Textobjektes, wird ein immer größer werdendes CrossingWindow 'aufgezogen' - solange bis ein Punkt gefunden oder eine Grenzgröße gefunden ist.

Bei Fragen ...

Grüße Holger

------------------
Holger Brischke
(defun - Lisp over night!
AutoLISP-Programmierung für AutoCAD
Da weiß man, wann man's hat!

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

flaschenpost
Mitglied
Architekt


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

Beiträge: 497
Registriert: 29.09.2004

ADT 2004 / Windows XP

erstellt am: 18. Nov. 2004 11:39    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 Udo und Holger,
ich habe schon an so ein wachsendes Auswahlfenster gedacht - aber wenn das Fenster quadratisch ist, sind die Ergebnisse nicht exakt. Das Fenster müßte kreisförmig sein.
Eine andere Möglichkeit wäre, alle Punkte (oder Texte) auszulesen und dann die Entfernungen zu vergleichen. Das erschien mir etwas aufwendig und träge.

Gruß Carsten

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

Brischke
Moderator
CAD on demand GmbH




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

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools (d-tools.eu)

erstellt am: 18. Nov. 2004 11: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 flaschenpost 10 Unities + Antwort hilfreich

Hallo Carsten,

das ist auch nicht exakt. Es wird hierfür keine lösung geben, die 100%ig funktioniert.

In dem Tool, von dem ich hier die Beschreibung gepostet habe, berücksichtigt ja diesen Fakt, mit der einzugebenden Schrittweite. Das kommt ja dem entgegen, dass der am naheliegendste Punkt gewählt wird.

Grüße Holger

------------------
Holger Brischke
(defun - Lisp over night!
AutoLISP-Programmierung für AutoCAD
Da weiß man, wann man's hat!

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

flaschenpost
Mitglied
Architekt


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

Beiträge: 497
Registriert: 29.09.2004

ADT 2004 / Windows XP

erstellt am: 18. Nov. 2004 12:15    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

Wenn man die Schrittweite zu eng wählt, dann dauert es sicher ewig. Aber das meinte ich nicht. Wenn Du ein Quadrat hast, dann hast Du in der Diagonalen einen Punkt erwischt, der weiter weg sein kann, als ein anderer, den Du nicht erfaßt. Das ist das eigentliche Problem, deshalb muß es ein Kreis sein.

Gruß Carsten

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

gmk
Mitglied
Dipl.-Ing.(FH) Vermessung


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

Beiträge: 667
Registriert: 23.10.2002

Autocad 2004, WS CadCompass, Normica V2000, WinXP Prof., AMD Athlon 64 X2, 2GB, NVIDIA GeForce 7600GS, HP1055CM

erstellt am: 18. Nov. 2004 13:49    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 flaschenpost 10 Unities + Antwort hilfreich

du könntest für ssget diesen parameter verwenden (aus der acad-hilfe):
WP WPolygon (all objects within the specified polygon).
müsstest halt vorher deinen fangkreis in eine polylinie umwandeln. dafür gibt's aber, glaub' ich, jede menge lösungen hier im forum.

ciao georg

[edit] hier z.B. http://ww3.cad.de/foren/ubb/Forum145/HTML/000885.shtml [edit]

[Diese Nachricht wurde von gmk am 18. Nov. 2004 editiert.]

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

Dabrunz
Mitglied



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

Beiträge: 127
Registriert: 28.05.2003

erstellt am: 18. Nov. 2004 15:13    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 flaschenpost 10 Unities + Antwort hilfreich

Tag Zusammen.

Zitat:
[..] Wenn Du ein Quadrat hast, dann hast Du in der Diagonalen einen Punkt erwischt, der weiter weg sein kann, als ein anderer, den Du nicht erfaßt. Das ist das eigentliche Problem, deshalb muß es ein Kreis sein.

Da möchte ich mich dann doch einmal zu Wort melden, denn das stimmt so nicht! Hier geht's ja schließlich nicht um Entfernungswerte in cm, sondern um einen etwas flexiblernen Begriff von 'zeichnerischer Nähe'. Es ist durchaus gebräuchlich, solche 'Abstände' als das Maximum der einzelnen Koordinaten-Differenzen fest zu legen. (wird auch 'Maximumsmetrik' genannt)

Allerdings gehört das Einsammeln aller (passenden) Geometrie innerhalb einer starren Umgebung nicht zwingend zu den optimalen Lösungs-Ansätzen, um die 'nächstliegenden Elemente' eines Punktes zu finden. Wenn es tatsächlich um die (durch ihre Anzahl festgelegten) *Texte geht, deren Abstand zu einem Punkt am geringsten ist, dann bietet sich ein Vergleich über die BoundingBoxes aller passenden Elemente an. Hierbei kann natürlich die 'starre' Umgebung als brauchbare Vorauswahl herhalten und du darfst auch mit dem Abstands-Begriff, der dir am besten gefällt, prüfen, welcher Text sich denn nun am engsten an den Punkt heran wagt.

Achim Dabrunz

------------------

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