Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  allg. für Entities: Punkt auf Entity ermitteln

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:  allg. für Entities: Punkt auf Entity ermitteln (518 mal gelesen)
autocart
Mitglied
Technischer Redakteur


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

Beiträge: 695
Registriert: 08.09.2003

erstellt am: 05. Aug. 2009 10: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 AutoLISP-Gemeinschaft!

Kennt jemand von euch eine Möglichkeit, wie man mit EINER allgemein gehaltenen Methode einen Punkt auf einem Entity ermitteln kann?
Die Methode soll also als Argument eine ENAME erhalten und als Rückgabewert einen Punkt zurückgeben, der graphisch gesehen auf dem Entity liegt. Es ist dabei weniger wichtig, wo der Punkt genau liegt, solange er auf dem Entity liegt. Das Problem dabei ist, dass es egal sein soll, welches (graphische) Entity man übergibt.

Meine Idee wäre, get-boundingbox zu machen und dann die bbox mit dem Entity zu schneiden, aber aufgrund dieses Beitrags traue ich der get-boundingbox-Methode nicht für so ganz allgemeine Methoden.

Natürlich könnte man eine Fallunterscheidung für alle theoretisch möglichen Entities machen, aber die Methode sollte ja möglichst kurz und dann vor allem möglichst wartungsfrei sein.

Lösungen für fast alle Entities mit ein bis drei bekannten Ausnahmen würden mir auch weiterhelfen. Allerdings sollten Inserts NICHT bei den Ausnahmen sein.

Danke für jede Idee.

------------------
Gruß, Stephan
www.stbartl.at

"Every thing should be made as simple as possible but not simpler." - Albert Einstein

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

tunnelbauer
Ehrenmitglied V.I.P. h.c.
Bauingenieur



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

Beiträge: 7085
Registriert: 13.01.2004

ich hab eh keine Probleme damit...

erstellt am: 05. Aug. 2009 10: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 autocart 10 Unities + Antwort hilfreich

Wie schauts mit dem internen Geometrie-Rechner aus?

------------------
Grüsse

Thomas

Korrekturen zum Kochbuch AutoLISP

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

wronzky
Ehrenmitglied V.I.P. h.c.
CAD-Dienstleistungen für Architekten



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

Beiträge: 2154
Registriert: 02.05.2005

CAD:
AutoCAD 2.6 bis 2014
ADT 2005 - 2014
Arcibem
System:
Windows 2000, XP, NO VISTA
Internet-Startseite:
http://www.archi.de

erstellt am: 05. Aug. 2009 11:02    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 autocart 10 Unities + Antwort hilfreich

Zitat:
Allerdings sollten Inserts NICHT bei den Ausnahmen sein.

Das wird wohl nicht gehen, wo sollte der Punkt denn dann liegen??
Ansonsten: nimm doch einfach GC 10, den gibt's meistens.

Grüsse, Henning

------------------
Henning Jesse
VoxelManufaktur
Computer-Dienstleistungen für Architekten und Ingenieure

  http://www.voxelman.de

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

autocart
Mitglied
Technischer Redakteur


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

Beiträge: 695
Registriert: 08.09.2003

erstellt am: 05. Aug. 2009 11: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

Du meinst KAL oder _CAL, ja?
Grundsätzlich vergesse ich auf den meistens, aber auch nachdem ich mir nochmal angeschaut habe, was dieser Rechner drauf hat, ist mir nicht ganz klar, wie mir dieser bei der Lösung meines Problems helfen würde.

Vielleicht noch ein Zusatz: Ich will natürlich keine Benutzereingaben in meiner Methode abfragen. Sollte eigentlich klar sein, aber man kann ja nie genau genug sein.

------------------
Gruß, Stephan
www.stbartl.at

"Every thing should be made as simple as possible but not simpler." - Albert Einstein

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

autocart
Mitglied
Technischer Redakteur


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

Beiträge: 695
Registriert: 08.09.2003

erstellt am: 05. Aug. 2009 11:24    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

@Henning:
Ja, an den GC 10 dachte ich auch gleich. Ist aber eben bei Inserts ein Problem (Einfügepunkt/Basispunkt kann in Relation zur Geometrie ja irgentwo liegen) sowie bei Kreisen, Bögen und Ellipsen (dort ist der GC 10 nämlich der Mittelpunkt) sowie bei Texten und was weiß ich noch wo. Bei manchen Entities gibt es den GC 10 nicht einmal.

Grundsätzlich muss ich sowieso damit rechnen, dass ich einige Ausnahmen habe, aber mit dem GC 10 wären es eindeutig zu viele Ausnahmen.

Trotzdem danke für den Input an euch beide.

------------------
Gruß, Stephan
www.stbartl.at

"Every thing should be made as simple as possible but not simpler." - Albert Einstein

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

wronzky
Ehrenmitglied V.I.P. h.c.
CAD-Dienstleistungen für Architekten



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

Beiträge: 2154
Registriert: 02.05.2005

CAD:
AutoCAD 2.6 bis 2014
ADT 2005 - 2014
Arcibem
System:
Windows 2000, XP, NO VISTA
Internet-Startseite:
http://www.archi.de

erstellt am: 05. Aug. 2009 11:42    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 autocart 10 Unities + Antwort hilfreich

Für GEOMETRIEN könntest Du noch die Funktion vlax-curve-getClosestPointTo verwenden:
Code:
(vlax-curve-getClosestPointTo (vlax-ename->vla-object (setq ele (car (entsel)))) (cdr (assoc 10 (entget ele))))
Aber bei anderen Elementen...
Wo sollte denn Deiner Meinung nach so ein Punkt bei Text, Blöcken etc. liegen?

Grüsse, Henning

------------------
Henning Jesse
VoxelManufaktur
Computer-Dienstleistungen für Architekten und Ingenieure

  http://www.voxelman.de

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

autocart
Mitglied
Technischer Redakteur


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

Beiträge: 695
Registriert: 08.09.2003

erstellt am: 05. Aug. 2009 11:54    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

Zitat:
Original erstellt von wronzky:
Wo sollte denn Deiner Meinung nach so ein Punkt bei Text, Blöcken etc. liegen?

Ist mir egal, solange gesichert ist dass der Punkt irgentwo AUF dem Entity liegt.

Aber grundsätzlich: Deshalb habe ich ja diesen Thread begonnen, weil ich auch auf keine Lösung kam. Trotzdem ist die Funktion vlax-curve-getClosestPointTo sehr interessant. Überhaupt die ganzen vlax-curve-Funktionen. Danke für diesen Anstoss. Us sind unterwegs.

------------------
Gruß, Stephan
www.stbartl.at

"Every thing should be made as simple as possible but not simpler." - Albert Einstein

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