| |  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte | | |  | PNY: der unverzichtbare Partner für umfassende KI-Lösungen von Workstations bis zu Edge Computing und KI-Cluster-Bereitstellung, eine Pressemitteilung
|
Autor
|
Thema: Länge vom Beginn bis zu einem Punkt auf Polylinie berechnen (6837 mal gelesen)
|
m-troeger Mitglied gel. Bauzeichner; Vermessungszeichner, Vermesser im Außendienst, GIS-Erfassung in PARIS
 
 Beiträge: 295 Registriert: .. ACAD14 und 2005; MAP4; GeoCAD; PARIS; ( Vermessung )
|
erstellt am: 08. Okt. 2002 21:32 <-- editieren / zitieren --> Unities abgeben:         
Hallo zusammen, (ACAD2000/MAP4) also ich hab eine 2D POLYLINE mit Bögen, und Blöcke neben der PL. 1. wie berechnet mann einen Punkt X, welcher der Schnittpunkt einer gedachten Linie (vom Einfügebasispunktes eines gewählten Blockes zum LOT auf die Polylinie) und der Polylinie ist. (VBA oder LISP) 2. wie berechnet man die Länge vom Beginn der PL bis zum Punkt X. (VBA oder LISP) 3. wie bekomme ich den Blocknamen, den Wert des 1. und 2. Attributes eines gewählten Blockes (bei VBA, in LSP ist mir's klar) ich hoffe Euch fällt was dazu ein Danke Mario Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
       

 Beiträge: 4189 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 09. Okt. 2002 12:47 <-- editieren / zitieren --> Unities abgeben:          Nur für m-troeger
Hallo Mario, Zwischenfrage: Sind die Bögen in der Polylinie a) als Kreisbogen gezeichnet oder b) die Polylinie in eine Kurve gewandelt worden? Vorgehensweise: zu a)genaue Berechnung möglich, da sich der Kreisbogen in der Lage zum Rest der Polylinie nicht ändert! Polylinie Stutzen und Länge berechnen lassen (perimeter) zu b)KEINE genaue Berechnung mit den unter a) beschriebenen Weg möglich, da sich der Bogen in der Lage zum Rest der Polylinie ändert! Eine Lösung fällt mir dazu gerade nicht ein. Grüße Holger ------------------ Holger Brischke CADlon Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
m-troeger Mitglied gel. Bauzeichner; Vermessungszeichner, Vermesser im Außendienst, GIS-Erfassung in PARIS
 
 Beiträge: 295 Registriert: .. ACAD14 und 2005; MAP4; GeoCAD; PARIS; ( Vermessung )
|
erstellt am: 09. Okt. 2002 18:36 <-- editieren / zitieren --> Unities abgeben:         
Hallo Holger, es wird nur beim zeichnen der PL die Option Bogen benutzt, also KEIN Spline, Kurve angleichen bzw ausrunden. Wie ist es wenn ich nachträglich die Polylinie picke und mittels den Griffen den Bogen sprich Bogenradius ändere, lässt sich dies dann auch noch genau berechnen? Ansonsten kannst Du Dir wohl denken worauf ich hinaus will. Gruß Mario [Diese Nachricht wurde von m-troeger am 09. Oktober 2002 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
       

 Beiträge: 4189 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 09. Okt. 2002 19:27 <-- editieren / zitieren --> Unities abgeben:          Nur für m-troeger
Hallo Mario, das spielt keine Rolle. Überprüfen kannst du das, wenn du eine Polylinie mitten im Bogen stutzt. Ergebnis: Der bogen wird einfach dort abgeschnitten. Im anderen Fall, wenn also die Bögen durch Angleichen erzeugt worden sind, verändert sich die Geometrie. Kannst du auch prüfen, Zeichne eine Polylinie, mit pedit in eine Kurvenlinie umwandeln und dann irgendwo stutzen. Die Geometrie ändert sich. Ansonsten vom programmieren her gesehen alles klar? Bei Fragen ... Grüße Holger ------------------ Holger Brischke CADlon Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
m-troeger Mitglied gel. Bauzeichner; Vermessungszeichner, Vermesser im Außendienst, GIS-Erfassung in PARIS
 
 Beiträge: 295 Registriert: .. ACAD14 und 2005; MAP4; GeoCAD; PARIS; ( Vermessung )
|
erstellt am: 09. Okt. 2002 20:21 <-- editieren / zitieren --> Unities abgeben:         
Hallo Holger, na mit dem Programieren hab ich keine Ahnung wie ichs machen soll. zu 1. Punkt X finden, Linie vom Blockbasispunkt zum LOT auf PL, LOT auf PLsegment 1 ist doch anders als auf PLsegment 5 usw. zu 2. Berechnen der Länge, ich möchte meinetwegen 150 Blöcke entlang der PL nacheinander anklicken, nach jedem Klick soll die Länge berechnet werden und weiterverarbeitet weden, was ich dannselbst kann. zu 3. wie krieg ich den Blocknamen und die werte des 1. und 2. Attributes in VBA kannst Du mir da mit CODE weiterhelfen Servus Mario Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
       

 Beiträge: 4189 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 11. Okt. 2002 08:38 <-- editieren / zitieren --> Unities abgeben:          Nur für m-troeger
Hallo Mario, wenn es unbedingt VBA sein soll, dann bin ich nicht der richtige. Mit LISP kann man das aber auch machen. Zu 1. und 2. werde ich mir mal meine Gedanken machen, und melde mich dann wieder. Grüße Holger PS: Mir fällt gerade noch was ein. zu 1. Kann man sagen, dass der Abstand vom Blockbasispunkt immer in der Nähe zu einem Bestimmten Polyliniensegment liegt? Dann kann man über einen Längenvergleich der Lotstrecken das Segment eindeutig identifizieren. Dann gibt es auch eine Lösung. Holger ------------------ Holger Brischke CADlon - Lisp over night Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
m-troeger Mitglied gel. Bauzeichner; Vermessungszeichner, Vermesser im Außendienst, GIS-Erfassung in PARIS
 
 Beiträge: 295 Registriert: .. ACAD14 und 2005; MAP4; GeoCAD; PARIS; ( Vermessung )
|
erstellt am: 13. Okt. 2002 19:36 <-- editieren / zitieren --> Unities abgeben:         
Hallo Holger, es muß nicht unbedingt VBA sein, Haupsache mann kriegt das irgendwie gebastellt. Mit dem Abstand vom Basispunkt zur Polylinie hast Du recht. Es müßte eben nach jedem wählen eines Blockes der Abstand zum LOT jedes Polyliniensegmentes ermittelt werden, und dort Wo der Abstand am kleinsten ist, wäre der LOtpunkt auf dem PLsegment der Punkt X. Aber keine Ahnung wie mann das macht, soweit bin ich noch nicht. Servus Mario Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mapcar Mitglied CADmin

 Beiträge: 1250 Registriert: 20.05.2002 Time flies like an arrow, fruit flies like a banana (Groucho Marx)
|
erstellt am: 17. Okt. 2002 15:31 <-- editieren / zitieren --> Unities abgeben:          Nur für m-troeger
Hi Mario, hab ja schon angedeutet, dass mir die Aufgabenstellung nicht ganz klar ist. Also, was bedeutet 'Lot auf Polylinie'? Ich weiss ja nicht, worum es da geht, aber ich vermute einfach, dass es um den Punkt auf der PL geht, der dem Block-EP am nächsten ist. Liegt dieser Punkt auf einem Liniensegment, ist es ein LOT. Liegt er auf einem Bogen, na ja.. Das kriegst du mit vlax-curve-getClosestPointToProjection (ich gehe davon aus, dass dieses Stück im Flachland gespielt wird). Den Abstand auf der PL bis dahin kriegst du mit vlax-curve-getDistAtParam. vermutlich gibt es beide Funktionen auch in VBA, wenn auch unter etwas anderen Namen. Hoffe, das hilft erstmal! Gruss, Axel ------------------ http://www.tutorial.autolisp.info
http://www.advanced.autolisp.info
http://www.activex.autolisp.info Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mapcar Mitglied CADmin

 Beiträge: 1250 Registriert: 20.05.2002 Time flies like an arrow, fruit flies like a banana (Groucho Marx)
|
erstellt am: 18. Okt. 2002 10:45 <-- editieren / zitieren --> Unities abgeben:          Nur für m-troeger
Ich formuliere die Aufgabe einfach mal so: In den USA sind auf dem Lande die Briefkästen nicht am Haus, sondern sie stehen an der Strasse. Stellen wir uns mal vor, es wird eine neue Siedlung gebaut. Die Breifkästen sollen so an die Strasse gesetzt werden, dasss jeder Hausbesitzer den kürzesten Weg (Luftlinie) zwischen Haus und Briefkasten hat. Bei welchen Strassenkilometern liegen die Briefkästen? Die Strasse muss als Polylinie (Geraden, Bögen, auch geglättet) oder Spline, Kreis, Ellipse usw. vorliegen, also irgendein Entity-Typ, der aus AcDbCurve abgeleitet ist. Als Häuser habe ich in der Beispielzeichnung einfach ein paar Kreise eingezeichnet, deren Zentrum man verwenden kann - aber jeder andere Punkt tut's auch. Das Programm fordert erstmal auf, die Strasse zu wählen, und dann erwartet es die Eingabe eines Punktes für die Lage des Hauses. Es zeichnet eine Linie vom Haus zum Briefkasten und gibt die Strassenkilometer (Abstand vom Anfang der Strasse bis zum Briefkasten) auf der Kommandozeile aus. Und das war's auch schon. Das Programm ist übrigens alles andere als kompliziert und sehr kurz. Kann dir aber nicht sagen, ob es die verwendeten Funktion vlax-curve-getDistAtPoint und vlax-curve-getClosestPointTo auch in VBA gibt. Falls nicht, bist du mit VB gebräunt, denn die vlax-curve-Funktionen sind unersetzlich! ************************************************** (defun c:bk( / road house mailbox milestone) (vl-load-com) (setq road(car(entsel "Strasse wählen: "))) (setq house(getpoint "Haus wählen: ")) (setq mailbox (vlax-curve-getClosestPointTo (vlax-ename->vla-object road) house ) ) (entmake (list'(0 . "LINE") (cons 10 house) (cons 11 mailbox) '(62 . 1) ) ) (setq milestone (vlax-curve-getDistAtPoint (vlax-ename->vla-object road) mailbox ) ) (princ(strcat"Briefkasten bei Kilometer: "(rtos milestone 2 3))) (princ) ) ************************************************** Gruss, Axel ------------------ http://www.tutorial.autolisp.info
http://www.advanced.autolisp.info
http://www.activex.autolisp.info Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
m-troeger Mitglied gel. Bauzeichner; Vermessungszeichner, Vermesser im Außendienst, GIS-Erfassung in PARIS
 
 Beiträge: 295 Registriert: .. ACAD14 und 2005; MAP4; GeoCAD; PARIS; ( Vermessung )
|
erstellt am: 18. Okt. 2002 15:49 <-- editieren / zitieren --> Unities abgeben:         
Hallo Axel, mit deinen Worten, hätte ich mir die Zeichnung sparen können. So erklärt, verstehe sogar ich das ;-)), und andere sicherlich auch. Schreibe doch mal ein Benutzerhandbuch mit solchen Worten, und es gibt nur noch Experten. Vielen Dank für Deine Hilfe, werde es am WE gleich ausprobieren. Ich hab gestern schon mit den VLAX-... rumgebastelt, aber entweder hatte ich zuviel Argumente oder zu wenig, und der engl. Sprache bin ich nicht mächtig, und Autod... kann sich ja keinen Übersetzer leisten. Dafür kann ich aber erzgebirgisch. Also nochmal besten Dank. HOCHachtungsVOLL Mario Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mapcar Mitglied CADmin

 Beiträge: 1250 Registriert: 20.05.2002 Time flies like an arrow, fruit flies like a banana (Groucho Marx)
|
erstellt am: 20. Okt. 2002 02:46 <-- editieren / zitieren --> Unities abgeben:          Nur für m-troeger
Hi Mario, ist denn 'erzgebirgisch' eine eigene Sprache, die man sprechen kann? Das wäre mir allerdings neu... Wir haben hier aber (bei uns zu Hause) so eine kleine Sammlung erzgebirgischer Holzfiguren stehen - und den größten Bergmann hat heute unser Jaromir (das ist unser junger Kater) grad runtergeschmissen und zertrümmert - ich weiss, er wollte doch nur eine Fliege fangen. Na ja, bevor ich AutoCAD-Spezialist wurde, war ich Holzarbeiter - ich werd's wieder hinkriegen. Ich kann schon Knochenleim von Pattex unterscheiden;-) Erzähl mal, was du mit dem Erzgebirge zu tun hast... Freut mich jedenfalls, wenn ich die Aufgabenstellung richtig verstanden habe! Gruss, Axel ------------------ http://www.tutorial.autolisp.info
http://www.advanced.autolisp.info
http://www.activex.autolisp.info Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
m-troeger Mitglied gel. Bauzeichner; Vermessungszeichner, Vermesser im Außendienst, GIS-Erfassung in PARIS
 
 Beiträge: 295 Registriert: .. ACAD14 und 2005; MAP4; GeoCAD; PARIS; ( Vermessung )
|
erstellt am: 20. Okt. 2002 20:50 <-- editieren / zitieren --> Unities abgeben:         
@AXEL Glück Auf Axel, ich hab jetzt mal Deinen Code getestet, und er funzt absolut, genau was ich wollte. Du bist ne richtige Schatzkiste ;-)). Dank Dir noch mal. Tja ich lebe im schönen Arzgebirg, do bi ich dor Hamm, nämlich do wu de Hasen Hosen haas'n, und de Hosen Husen haas'n. Des Arzgebirg is ne schiene Gechend, besonnersch im Windor und im Advent. Do kah'mer schie Scheeschuh fahr'n, un de ganz'n Lichtle in de Faenster, na wast schie. ;-))) Schau halt mal wieder auf meiner HP vorbei (Hobby). und www.westerzgebirge.com Servus Mario
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RoSiNiNo Mitglied Konstrukteur
   
 Beiträge: 1126 Registriert: 09.10.2002
|
erstellt am: 11. Nov. 2002 07:56 <-- editieren / zitieren --> Unities abgeben:          Nur für m-troeger
Hallo Mario, bin erst jetzt auf diesen Beitrag gestoßen. Wenn du so etwas in VBA programmieren möchtest, kein Problem. Es gibt da von AcadX zwei tolle Klassenmodule die alles was du benötigst können. Hier einmal der Link: AcadX. Unter Downloads findest du Curve und VLAX. Alles andere ist dann eigentlich ein Kinderspiel . ------------------ Roland [Diese Nachricht wurde von RoSiNiNo am 11. November 2002 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
m-troeger Mitglied gel. Bauzeichner; Vermessungszeichner, Vermesser im Außendienst, GIS-Erfassung in PARIS
 
 Beiträge: 295 Registriert: .. ACAD14 und 2005; MAP4; GeoCAD; PARIS; ( Vermessung )
|
erstellt am: 11. Nov. 2002 17:22 <-- editieren / zitieren --> Unities abgeben:         
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |