Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  Punkt innerhalb Fläche aus Polylinie

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:  Punkt innerhalb Fläche aus Polylinie (2355 mal gelesen)
otm
Mitglied
Bauingenieur


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

Beiträge: 167
Registriert: 26.08.2009

erstellt am: 29. Okt. 2009 22:09    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 Forum,

ich  bin seit geraumer Zeit am Knobeln, wie ich bei beliebig geformten Polylinien einen Koordinatenpunkt innerhalb der von der Polylinie umschriebenen Fläche ermitteln kann, um an diesem Punkt die Flächengröße als Text einzutragen.

Die Polylinien sind alle geschlossen und kreuzen sich nirgends (keine 8 oder so ähnliche Formen).

In Civil gibt es ein Objekt Parzelle. Die Beschriftung der Fläche etc. wird immer innerhalb der Fläche plaziert, auch wenn ich sichelförmige Flächen zeichne.

Kennt hier jemand einen Lösungsansatz?

------------------
Christian

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


Ex-Mitglied

erstellt am: 29. Okt. 2009 22:41    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

Variante A) es gibt eine Map-Funktion '_mapcreatecentroids', die erzeugt innerhalb von geschlossenen Polylinien Punkte, vorsicht dabei aber, Inseln werden GIS-technisch nicht richtig erkannt.

Variante B) Du beschäftigst Dich mit GIS, mit Topologieerstellung, dann können Beschriftungspositionen von Flächenobjekten (werden dann im GIS Polygone genannt) automatisch generiert werden (und an diesen Positionen auch Texte positioniert werden, deren Textinhalt aus Informationen aus der Fläche befüllt werden kann).

Variante C) Du schreibst Deine geschlossenen Polylinien als SDF-Datei raus, bindest diese SDF-Dateien mittels FDO ein, dann ist die Beschriftungsposition sogar dynamisch in der Fläche, Inhalte der Beschriftung können über Stil-Einstellungen definiert werden.

- alfred -

------------------
www.hollaus.at

otm
Mitglied
Bauingenieur


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

Beiträge: 167
Registriert: 26.08.2009

erstellt am: 29. Okt. 2009 22: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

Hi alfred,

ich werd's mal mit A probieren.
Danke.

------------------
Christian

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


Ex-Mitglied

erstellt am: 29. Okt. 2009 22:58    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi Christian,

>> ich werd's mal mit A probieren

Da hast Du mich jetzt aber sehr überrascht. 

Entweder Du kanntest die obigen Ansätze (dann würde ich die Frage hier nicht verstehen), oder Du arbeitest über Bauchgefühl ohne reale Begründung. Oder wie bist Du, ohne alle 3 Varianten zumindest probiert zu haben, jetzt gerade auf Variante A gekommen, bei der eben KEIN Text, sonderen nur Punkte erzeugt werden?

- alfred -

------------------
www.hollaus.at

otm
Mitglied
Bauingenieur


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

Beiträge: 167
Registriert: 26.08.2009

erstellt am: 29. Okt. 2009 23:01    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

Hi alfred,

ich brauche nur einen Einfügepunkt, da ich die Textinfos alle habe und auch in die DWG schreiben kann.

Allein mein Weg den Einfügepunkt für meinen Text zu bekommen (Mittelpunkt des umgebenden Rechtecks = Texteinfügepunkt) ist bei nicht gedrungenen Flächen aus Polylinien falsch.

Deshalb probiere ich A.

------------------
Christian

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

otm
Mitglied
Bauingenieur


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

Beiträge: 167
Registriert: 26.08.2009

MS Win 10
AutoCAD Civil 3D 2019.3.4 Update
VBA Enabler 2019
MS Access Database Enginge X64
MSO 365 (64bit)

erstellt am: 03. Nov. 2009 09:05    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

Hi alfred,

jetzt muss ich nochmal nachhaken.

Ich hab den Befehl _mapcreatecentrois an einer geschlossenen Polylinie ausprobiert und er liefert mir einen Punkt innerhalb der Fläche.
So weit, so gut.

Wenn ich das ganze in ein VBA-Programm packe in dem geschlossene Polylinien als AcadObjekt übergeben werden, hat das Objekt die Eigenschaft .centroid nicht.

Die Hilfe spricht auch nur von 3DSolids, nicht aber von Polylinien in 2D.

Wie muss ich das ansprechen, um die Koordinaten des Punktes zu bekommen, ohne den Punkt einzufügen?

------------------
Christian

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


Ex-Mitglied

erstellt am: 03. Nov. 2009 14:35    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

>> in dem geschlossene Polylinien als AcadObjekt übergeben werden,
>> hat das Objekt die Eigenschaft .centroid nicht

Nee, die Polylinie hat keine Eigenschaft 'Centroid'. Die Map-Funktion 'mapcreatecentroids' generiert losgelöste Punkte, die nicht abhängig von der Polylinie sind. (Jetzt verstehst Du wahrscheinlich langsam meine Nachfrage nach Deiner Entscheidung zu A).


>> Die Hilfe spricht auch nur von 3DSolids

In welchem Zusammenhang? Hat wohl nichts mit 'mapcreatecentroids' zu tun?


>> Wie muss ich das ansprechen, um die Koordinaten des Punktes
>> zu bekommen, ohne den Punkt einzufügen?

Selbst programmieren oder mit SendCommand obige Funktion starten (einzeln für jedes Polygon oder gesamt für alle und nachträglich suchen, welcher Punkt zu der Polylinie gehört)...viele Wege bis hin zu ganz oben mit Topologiebildung oder über FDO-Programmierung.

- alfred -

------------------
www.hollaus.at

otm
Mitglied
Bauingenieur


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

Beiträge: 167
Registriert: 26.08.2009

erstellt am: 03. Nov. 2009 21:14    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

Hi,

ich denke A ist immer noch richtig, da ich keine verknüpften Daten erzeugen will, um die Sache für den permanent auftretenden Änderungsfall handlebar und für DAUs noch erfassbar zu gestalten.

Optimal wäre für meine Zwecke vor Einfügen des ACAD-Punktes die Koordinaten 'abzufangen' und dann den Text mit der Fläche der Polylinie einzufügen.

Also:
Alle Polylinien mit den Eigenschaften xy durchgehen -_mapcreatecentroids starten
punktkoordinaten abfangen
Text mit Flächenangabe einfügen
nächste PL

Wie spreche ich denn die einzelnen Parameter der Funktion über die Befehlszeile bzw. dann mit Sendcommand in VBA an?

Oder anders gefragt, welchen geometrischen Ansatz verfolgt die Funktion _mapcreatecentroids, wenn ich über selber programmieren nachdenken sollte?

Die andere von Dir angesprochene Lösung, alle Punkte erstellen lassen und dann suchen, welcher Punkt in welcher Fläche liegt, erscheint mir doppelt gemoppelt, aber machbar.
Ich hatte ja die Einfügekoordinaten bereits einmal. Nämlich in dem Moment, in dem der ACADPunkt eingefügt wurde. Das müsste doch irgendwie abzufangen sein, oder nicht?

------------------
Christian

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