| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Geometrie (1260 mal gelesen)
|
Theo37 Mitglied Techniker
Beiträge: 423 Registriert: 08.10.2008
|
erstellt am: 06. Apr. 2011 14:39 <-- editieren / zitieren --> Unities abgeben:
Hallo an Alle, ich habe ein Geometrie-Problem und finde irgendwie keinen guten Ansatz. Ich möchte aus drei Punkten ein Rechteck zeichnen. Wobei A - B die Grundlinie des Rechtecks ergibt und sich aus C die Höhe des Rechtecks ergeben soll. Siehe dazu auch den Anhang. Die drei Punkte sind als Double-Array gegeben. Allerdings sind die Z-Werte Null und werden nicht verwendet. Hat Jemand nee Idee oder ein Beispiel? Danke, Theo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 06. Apr. 2011 14:52 <-- editieren / zitieren -->
Hi, Sinus und Kosinus sind in diesem Fall als Freunde zu betrachten. Einfach betrachtet hast Du durch die 3 Punkte ein Dreieck, aus diesem mit geometrischen Formeln (im INet einigermaßen zahlreich zu finden) die Höhe ausrechnen. Nachfolgend kannst Du mit Höhe und Winkel A-B die verbleibenden Punkte des Rechtecks ermitteln. - alfred - ------------------ www.hollaus.at |
Christian Blei Mitglied
Beiträge: 124 Registriert: 23.06.2008 Thinkpad T60p, 4GB XP,Autocad 2010, ProStructures V8i 2, VBA, VB.NET,
|
erstellt am: 08. Apr. 2011 11:27 <-- editieren / zitieren --> Unities abgeben: Nur für Theo37
Hallo. ein Weg nach Rom... Linie AB als Geometry.Linesegment3d definieren. Anschliessen Fusspunkt des Lotes von C auf AB mit H=Geometry.linesegment3d.getclosestPoint(C) finden Mit Vector HC aus A und B die Rechteckecken E und F erzeugen. Vielleicht prüfen, dass C nicht auf AB liegt... Gruss Christian Blei Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Theo37 Mitglied Techniker
Beiträge: 423 Registriert: 08.10.2008
|
erstellt am: 08. Apr. 2011 11:44 <-- editieren / zitieren --> Unities abgeben:
Hallo Christian, danke für Deine Antwort. Ich hab das Problem inzwischen nach Alfreds-Vorschlag gelöst. Ich habe eine Länge und einen Winkel des Dreiecks berechnet, daraus die Höhe mit dem Sinus erhalten. Und damit kann ich die anderen beiden Punkte bestimmen. Das klappt schon mal. Aber Deine Antwort wirft mal wieder eine andere Frage bei mir auf. Gibt es für "Geometry.linesegment3d.getclosestPoint" irgendeine deutschsprachige Doku (oder Hilfe) oder irgendwas in dem man suchen kann? Wenn ich sowas gehabt hätte, wäre ich vieleicht selbst darauf gekommen. Gruß, Theo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 08. Apr. 2011 12:23 <-- editieren / zitieren -->
Hi, 'Geometry.xxxx' ist nicht VBA, sondern dotNET, das kannst Du in der VBA-Hilfe gar nciht finden. Und auch das ObjectARX-Kit heruntergeladen inkludiert nur englische Doku (da wärs aber drin), sorry. - alfred - ------------------ www.hollaus.at |
Theo37 Mitglied Techniker
Beiträge: 423 Registriert: 08.10.2008
|
erstellt am: 08. Apr. 2011 13:54 <-- editieren / zitieren --> Unities abgeben:
Hi, ich muß zugeben mein Englisch ist leider eher schwach. Trotzdem hab ich mal versucht in der Object ARX Hilfe was zu finden. ich komme bis: Autodesk.AutoCAD.Geometry Namespace > LineSegment3d Class > LineSegment3d Methods Aber da steht leider nicht viel. Und "getclosestPoint" gibt es gar nicht. Auch Suchen findet nichts.
Es ist grad als hätte ich die Hilfe nicht ganz installiert. Wo würdet ihr, danach suchen? Gruß, Theo Ps. Inzwischen mache ich Beides. VBA und .NET. Wobei ich bei .NET COM und Managed kräftig mische (was aber problemlos funktioniert)
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |