Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Versetzen in die richtige Richtung

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:  Versetzen in die richtige Richtung (1359 mal gelesen)
Erich Klein
Mitglied



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

Beiträge: 27
Registriert: 25.03.2008

erstellt am: 02. Apr. 2008 15:46    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,

ein Problem, das mich quält, sieht folgendermaßen aus:
In einem LISP-Programm wird eine Polylinie als geschlossene Kontur gezeichnet. Diese Kontur besteht ausschließlich aus Linien und Bögen. Die gezeichnete Kontur muss nach innen versetzt werden. Es wird ein Punkt im Inneren der Kontur gewählt und die gesamte Kontur versetzt sich in Richtung dieses Punktes, solange die geschlossene Polylinie besteht.
Es kommt aber manchmal vor, dass die geschlossene Kontur nicht als Polylinie bestehen bleiben kann und die einzelnen Elemente nach innen versetzt werden müssen. Und hier entsteht das Problem bei mir. Je nachdem, wie der Innenpunkt im Verhältnis zu den einzelnen Elementen steht, erfolgt das Verstzen entweder nach innen oder nach außen bezgl. der geschlossenen Kontur.
Kann ich das Versetzen aller Elemente stets nach Innen erzwingen ohne eine Polylinie zu bilden???

Für eine Hilfe danke ich Euch
Erich

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

Theodor Schoenwald
Ehrenmitglied



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

Beiträge: 1672
Registriert: 16.04.2002

erstellt am: 02. Apr. 2008 23:40    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 Erich Klein 10 Unities + Antwort hilfreich

Hallo Erich,

da fällt mir nur ein, mit einem kleinen Versetztool eine Polylinie machen und die Kontur nach dem Versetzen wieder auflösen.
Ein anderer Weg wäre (auch mit einem Tool) zuerst einen Punkt wählen und den Versatz auf diesen Punkt beziehen. Dann musst Du nicht bei jedem Element eine Punkt für die Richtung wählen.

Gruß
Theodor

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: 03. Apr. 2008 14:20    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 Erich Klein 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Erich Klein:
Hallo,

ein Problem, das mich quält, sieht folgendermaßen aus:
In einem LISP-Programm wird eine Polylinie als geschlossene Kontur gezeichnet. Diese Kontur besteht ausschließlich aus Linien und Bögen. Die gezeichnete Kontur muss nach innen versetzt werden. Es wird ein Punkt im Inneren der Kontur gewählt und die gesamte Kontur versetzt sich in Richtung dieses Punktes, solange die geschlossene Polylinie besteht.
Es kommt aber manchmal vor, dass die geschlossene Kontur nicht als Polylinie bestehen bleiben kann und die einzelnen Elemente nach innen versetzt werden müssen. Und hier entsteht das Problem bei mir. Je nachdem, wie der Innenpunkt im Verhältnis zu den einzelnen Elementen steht, erfolgt das Verstzen entweder nach innen oder nach außen bezgl. der geschlossenen Kontur.
Kann ich das Versetzen aller Elemente stets nach Innen erzwingen ohne eine Polylinie zu bilden???

Für eine Hilfe danke ich Euch
Erich


Wenn die zu versetzende Kontur stets eine geschlossene Polylinie ist, dann ist die Sache relativ einfach. Nimm einfach eine gedachte Gerade, die die Kontur irgend wie durchkreuzt, beispielsweise senkrecht vom Mittelpunkt einer Verbindungslinie der Kontur, und darauf links und rechts der Verbindungslinie zwei beliebige Punkte (prüfe sicherheitshalber, dass die Verbindungslinie der Punkte die Kontur nur einmal schneidet). Für diese beiden Punkte prüfst Du nun, ob sie innerhalb oder außerhalb der Kontur liegen - einer muss drin sein und der andere draußen.

Die Prüfung, ob ein beliebiger Punkt innerhalb oder außerhalb einer Kontur liegt, ist für Polygone ziemlich trivial (Schnittprüfung eines Strahls ins Unendliche mit dem Polygon - ungerade Zahl von Schnittpunkten -> Punkt ist drin). Für Kreisbogenabschnitte innerhalb der Kontur würde ich empfehlen, diese vorher durch beliebig feine Polygonzüge anzunähern.

Tom


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

Erich Klein
Mitglied



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

Beiträge: 27
Registriert: 25.03.2008

erstellt am: 03. Apr. 2008 18:10    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 Theodor, Hallo Tom,

ich danke für die Antworten. Ich werde versuchen, daraus die Lösung meines Problems abzuleiten.

Gruß
Erich

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