| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY präsentiert die neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung
|
Autor
|
Thema: Flächenermittlung durch Punkt (1006 mal gelesen)
|
GG-GREGOR Mitglied CAD - KONSTR.
Beiträge: 79 Registriert: 04.09.2002 SW. ACAD 2010 ACAD Map 3D 2006 Solid Works 2010 Cinema 4D Max 3D<P>HW. mix
|
erstellt am: 20. Jul. 2009 08:50 <-- editieren / zitieren --> Unities abgeben:
Hallo Gemeinde, Hat jemand eine Idee wie ich eine Flächenermittlung die nur mit einem Punkt in die Mitte zu wählen ist oder gibt es da schon was? sollte so funktionieren wie die Auswahl der Schraffur. (setq P1 (getpoint "Punkt wählen")) Werde aus Vlax nicht schlau ? (vlax-curve-getArea curve-obj) (vlax-curve-getDistAtParam curve-objparam) und (vlax-curve-getEndParam curve-obj) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 20. Jul. 2009 11:22 <-- editieren / zitieren -->
Hi, ohne Lisp mal theoretisch gefragt: Meinst Du mit Flächenermittlung, dass die die m² oder mm² ermittelt werden sollen? Oder möchtest Du ein Objekt wie z.B. eine Schraffur selektieren, also von einem Punkt rückschliessen, welche Schraffur dort liegt? In beiden Fällen (wenn Du keine GIS-Topolgie hast, die wiederum nur mit Map3D oder Civil3D funktioniert ==> da gleich: bitte SysInfo angeben), wirst Du wohl ein Objekt wählen müssen. Willst Du die Grenzen von AutoCAD suchen lassen, aus der sich eine Fläche ergeben soll, dann gibt's dann noch den Befehl '_bpoly'/'gpoly', aber wer den kennt, weiss, dass da nichts mit verläßlicher Automatisierung ist. - alfred - ------------------ www.hollaus.at |
GG-GREGOR Mitglied CAD - KONSTR.
Beiträge: 79 Registriert: 04.09.2002 SW. ACAD 2010 ACAD Map 3D 2006 Solid Works 2010 Cinema 4D Max 3D<P>HW. mix
|
erstellt am: 20. Jul. 2009 11:37 <-- editieren / zitieren --> Unities abgeben:
Hi Alfred, Map 3D 2006 Möchte gerne die Koordinaten von der umgrenzung haben. mit _gpoly hab ich es auch schon versucht. mein versuch ging so region erstellen, in Polylinie umwandeln und XY auslesen dann mit Grenzpunkte vergleichen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dorfy Mitglied Double-Dipl.-Ing. Bleistiftanspitzer
Beiträge: 900 Registriert: 21.07.2006 AutoCad2007, ProE, HiCad
|
erstellt am: 20. Jul. 2009 11:44 <-- editieren / zitieren --> Unities abgeben: Nur für GG-GREGOR
Hi Gregor, google oder die Suche im Forum sollten ausreichend Treffer liefern. Wenn nicht geh den Weg wie Alfred bereits sagte bpoly(boundary/umgrenzung) --> Polylinie erzeugen, ermittle dir das "neue" letzte Element (Polylinie) und hole dir von diesem die Fläche mit vla-get-area Beispiele u.a. bei cadwiesel.de Die "Eckpunkte" --> such mal nach Polylinie und vertex ------------------ Mfg Heiko Elefantenjagd in Afrika "... LISP-Programmierer bauen einen Irrgarten aus Klammern und hoffen, dass sich der Elefant darin verirrt..." (www.uni-leipzig.de/~rotheh/elefant.htm) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 20. Jul. 2009 11:46 <-- editieren / zitieren -->
Hi, Zitat: Map 3D 2006
...und Du arbeitest mit einer Flächentopologie? Oder mit 'normalen' AutoCAD-Geometrieelementen? - alfred - ------------------ www.hollaus.at |
GG-GREGOR Mitglied CAD - KONSTR.
Beiträge: 79 Registriert: 04.09.2002 SW. ACAD 2010 ACAD Map 3D 2006 Solid Works 2010 Cinema 4D Max 3D<P>HW. mix
|
erstellt am: 20. Jul. 2009 12:36 <-- editieren / zitieren --> Unities abgeben:
|
Ex-Mitglied
|
erstellt am: 20. Jul. 2009 12:45 <-- editieren / zitieren -->
Hi Gregor, Zitat: mit AutoCAD-Geometrieelementen
...dann hast Du das grundsätzliche Problem, dass es bei AutoCAD kein Objekt gibt, das sich über Punkt selektieren lässt und ein flächenartiges Objekt ist. Das macht mal den Unterschied zwischen GIS und CAD aus. Eine bestehende Polylinie zu selektieren, ist auch über Automatismus nur relativ schwer zu erzielen, denn bei zwei Polylinien (z.B. sich überlagende Kreise, oder auch eine innere Polylinie und eine un die innere umgebende Polylinie) kann es zu nicht-eindeutigen Ergebnissen kommen. Mathematisch kannst Du noch hinkommen, wenn Du z.B. einen Strahl von Deinem Punkt wegzeichnest, die Elemente selektierst, die mit diesem Strahl schneiden, dann die Schnittpunkte dieser Elemente mit dem Strahl auswertest und der dem Punkt am nächsten liegende Schnittpunkt ist mal ein 95%-Ergebnis, da muss dann noch ausgewertet werden, ob der Punkt innerhalb oder ausserhalb des Poly liegt. Beispiel zweier sich schneidender Kreise ist damit nicht abgehakt. Du hast bereits angedeutet, dass Du mit '_gpoly' bereits probiert hast ==> was hat funktioniert/was nicht/wo hängst Du? Je mehr Info, umso besseres Feedback, wenn Du ein wenig Hintergrundinfo geben kannst, wird's für uns leichter. - alfred - ------------------ www.hollaus.at |
GG-GREGOR Mitglied CAD - KONSTR.
Beiträge: 79 Registriert: 04.09.2002 SW. ACAD 2010 ACAD Map 3D 2006 Solid Works 2010 Cinema 4D Max 3D<P>HW. mix
|
erstellt am: 20. Jul. 2009 12:59 <-- editieren / zitieren --> Unities abgeben:
Hi Alfred, bei dem (setq P1 (getpoint "Punkt wählen")) (command "_boundary" P1 "" "J") (setq last-r(entlast)) (COMMAND "_.explode" last-r) (setq AWS2 (ssget "P")) AWS2 sollte mir die Letzten Objekte zeigen aber das tut es leider nicht. so kann ich wenigstens mal einen ansatz machen um die Koordinaten auszulesen. ist der ansatz falsch ?
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dorfy Mitglied Double-Dipl.-Ing. Bleistiftanspitzer
Beiträge: 900 Registriert: 21.07.2006 AutoCad2007, ProE, HiCad
|
erstellt am: 20. Jul. 2009 13:47 <-- editieren / zitieren --> Unities abgeben: Nur für GG-GREGOR
hi Gregor, "AWS2 sollte mir die Letzten Objekte zeigen " --> (setq P1 (getpoint "Punkt wählen")) (command "_boundary" P1 "" "J") (setq last-r(entlast)) (setq AWS2 (ssadd)) (COMMAND "_.explode" last-r) (while (setq last-r (entnext last-r)) (ssadd last-r AWS2) ) "ist der ansatz falsch" --> Stichwort Polylinie --> vertex ------------------ Mfg Heiko Elefantenjagd in Afrika "... LISP-Programmierer bauen einen Irrgarten aus Klammern und hoffen, dass sich der Elefant darin verirrt..." (www.uni-leipzig.de/~rotheh/elefant.htm) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADwiesel Moderator CAD4FM UG
Beiträge: 1989 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 20. Jul. 2009 15:03 <-- editieren / zitieren --> Unities abgeben: Nur für GG-GREGOR
Ich habe in meinen Downloads doch ein Tool, das sich Schwpkt nennt. Das ist bis auf die Ausgabe der Stützpunktkoordinaten vielleicht genau was du brauchst. Unter: Sonstiges->Flächen/Längen. Sieh dich mal um ------------------ Gruß CADwiesel Besucht uns im CHAT
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
scj Mitglied
Beiträge: 555 Registriert: 09.08.2001
|
erstellt am: 21. Jul. 2009 14:09 <-- editieren / zitieren --> Unities abgeben: Nur für GG-GREGOR
|
GG-GREGOR Mitglied CAD - KONSTR.
Beiträge: 79 Registriert: 04.09.2002 SW. ACAD 2010 ACAD Map 3D 2006 Solid Works 2010 Cinema 4D Max 3D<P>HW. mix
|
erstellt am: 27. Jul. 2009 08:45 <-- editieren / zitieren --> Unities abgeben:
Super ! mit dem noch dann ist es Perfekt (setq theobj1 (vlax-ename->vla-object (entlast))) (setq thelist-1 (vlax-get-property theobj1 'coordinates)) (setq thelist-GL1 (vlax-safearray->list (variant-value thelist-1))) Danke für eure Hilfe Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |