Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  AutoCAD ObjectARX und .NET
  AutoCAD Geometrie - Anwendungsbeispiele

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:  AutoCAD Geometrie - Anwendungsbeispiele (2273 mal gelesen)
M.Kocyigit
Mitglied
Techniker

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

Beiträge: 7
Registriert: 27.11.2011

AutoCAD 2012, Bentley Prostructures V8i Select 4,

erstellt am: 27. Nov. 2011 16: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

Hallo,

seit ein paar Monaten versuche die dotNet-Sprache für AutoCAD zu erlernen. Gibt es seitens Autodesk geometrische Funktionen bzw. fertige C#-Klassen die folgende geometrische Hilfen anbieten:


    * Distance point to plane
    ... Abstand berechnen -> von einer 3D-Punkt zur einen Fläche (Plane).

    * Point in Direction
    ... Von einer Ausgangspunkt aus entlang bekannten Vektor und Abstandsmas den Zielpunkt ermitteln.

    * Ortho project point to Line
    ... Lotrechte, kürzeste 3D-Punkt zur einer Linie / Vektor ermitteln

    * Angle between two vectors:
    ... Winkel zwei Vektoren ermitteln.

Vorallen weis ich nicht, wie man die fertigen AutoCAD-Klassen anwenden soll.
z.B. Geometrie Klassen wie

Code:
Autodesk.AutoCAD.Geometry.Plane
und
Code:
Autodesk.AutoCAD.Geometry.Vector3d
am effektivsten anwenden soll ...

Für Ihre Hilfe bzw. Tipps wäre ich sehr dankbar ...

[Diese Nachricht wurde von M.Kocyigit am 27. Nov. 2011 editiert.]

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

Brischke
Moderator
CAD on demand GmbH




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

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools

erstellt am: 28. Nov. 2011 09:28    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 M.Kocyigit 10 Unities + Antwort hilfreich

Hallo M.Kocyigit,

so ganz verstehe ich ich nicht, wo dein Problem ist.
Plane _mPlane = new Plane();
Vector3d _mVector3d = new Vector3d();

Danach hast du Objecte, von denen du dann natürlich die Methoden verwenden kannst.

Grüße!
Holger

------------------
Holger Brischke
CAD on demand GmbH
Individuelle Lösungen von Heute auf Morgen.


defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!

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

M.Kocyigit
Mitglied
Techniker

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

Beiträge: 7
Registriert: 27.11.2011

AutoCAD 2012, Bentley Prostructures V8i Select 4,

erstellt am: 01. Dez. 2011 16: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


Intersection_Line_with_Plane.pdf

 
Hallo Herr Brischke,

Ich benötige geometrische Hilfsfunktionen / Klassen die am besten mit AutoCAD - Klassen realisiert werden.
Zum besseren Verständnis habe ich ein Beispiel als Anhang beigefügt.

Beispiel: 'Intersection Linie with Plane".

Es handelt sich um Analytisches - Geometrie die früher mit AutoCAD Rel.12 als Bonus CD in Sprache Cveröffentlicht wurde:
Bei dieser Beispiel ist der Richtungsvektor (Vector3d) und die Fläche (Plane) die mit 3-Punkten vorgespannt ist bekannt.
Gesucht ist die Schnittpunkt auf der Fläche der Linie bzw. Vektor durchdringt.

Solche Funktionen möchte ich mit Autodesk-Klassen z.B ,,Autodesk.AutoCAD.Geometry'' effektiv erstellen.

Ehrlich gesagt ich weis nicht wie man die bereits existieren Autodesk-Klassen (Autodesk.AutoCAD.Geometry.Plane, Autodesk.AutoCAD.Geometry.Vector3d) einsetzt.

Ich könnte die alten C-Dateien Zeile für Zeile abschauen und umschreiben. Es macht aber keinen Sinn bzw. ist Redundant, wen ich z.B 50 Zeilen abtippe und das ganze wäre mit Autodesk-Klassen / Methoden in 10 Zeilen lösbar ...

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

Brischke
Moderator
CAD on demand GmbH




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

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools

erstellt am: 02. Dez. 2011 07: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 M.Kocyigit 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von M.Kocyigit:
[B]... Ehrlich gesagt ich weis nicht wie man die bereits existieren Autodesk-Klassen (Autodesk.AutoCAD.Geometry.Plane, Autodesk.AutoCAD.Geometry.Vector3d) einsetzt.  ...

Hallo M.Kocyigit,
sind bei dir Grundkenntnisse in der .Net-Programmierung vorhanden?

Eine neue Instanz einer Klasse realisiert man mit dem Schlüsselwort new

Code:
Autodesk.AutoCAD.Geometry.Vector3d MeinVector = new Autodesk.AutoCAD.Geometry.Vector3d();


Grüße!
Holger

------------------
Holger Brischke
CAD on demand GmbH
Individuelle Lösungen von Heute auf Morgen.


defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!

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

M.Kocyigit
Mitglied
Techniker

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

Beiträge: 7
Registriert: 27.11.2011

AutoCAD 2012, Bentley Prostructures V8i Select 4,

erstellt am: 02. Dez. 2011 07:45    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 Herr Brischke,

Ja, ich habe C#-Grundkentnisse. Ich weiß auch das man mit 'new eine Klasse instanzieren muß. Anstatt mit meiner Kentnisse rum zu eiern hätte ich eher Hilfestellung gebraucht.

trotzdem Danke, Sorry für meinen direkten Art ...

werden in englischen meinen Glück versuchen müssen

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

Brischke
Moderator
CAD on demand GmbH




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

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools

erstellt am: 02. Dez. 2011 10:12    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 M.Kocyigit 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von M.Kocyigit:
... Anstatt mit meiner Kentnisse rum zu eiern hätte ich eher Hilfestellung gebraucht. ...

ähmmmmm sorry, aber das sind Grundkenntnisse, wie man die Objekte nutzt. DIe Frage war nicht unbegründet .. oder ich habe dein Problem nicht richtig verstanden.
Zitat:
Original erstellt von M.Kocyigit:
... Sorry für meinen direkten Art ...

Ich habe da kein Problem damit .. aber weise trotzdem darauf hin, dass du ein fachliches Problem hast, und nicht ich. Ich habe dir versucht zu helfen. Hilfe ist allerdings nur möglich, wenn als Basis der Diskussion ein Minimum an Grundkenntnissen vorhanden ist.
Zitat:
Original erstellt von M.Kocyigit:
werden in englischen meinen Glück versuchen müssen

poste mal den Link, wo du fragst ... ich wäre sehr gespannt darauf, ob im englichen Deine Frage anders verstanden wird, die Antworten also mehr Hilfe bieten.

------------------------------------------
Trotzdem nachfolgend ein CodeSchnipsel, aus dem du die Verwendung der AcObjekte ersehen kannst.

Code:
public static void VectorEbeneSchnittpunkt()
        {
            //-> Zugriff auf Database ...
            Database _db = Autodesk.AutoCAD.DatabaseServices.HostApplicationServices.WorkingDatabase;
            Document _doc = Application.DocumentManager.MdiActiveDocument;
            Editor _ed = _doc.Editor;
            //<- Zugriff auf Database ...
            //-> Punkte abfragen
            PromptPointResult _ppr = _ed.GetPoint("\nPunkt");
            Autodesk.AutoCAD.Geometry.Point3d _point = _ppr.Value;
            PromptPointOptions _ppo = new PromptPointOptions("\nZweiter Punkt für Richtung: ");
            _ppo.BasePoint = _point;
            _ppo.UseBasePoint = true;
            _ppo.UseDashedLine = true;
            _ppr = _ed.GetPoint(_ppo);
            Point3d _point2 = _ppr.Value;
            Autodesk.AutoCAD.Geometry.Vector3d _vec = _point.GetVectorTo(_point2);
            //<- Punkte abfragen
            //-> Ebene festlegen
            //  es wird die xY-Ebene definiert (Ursprung 0,0,0, NormalVector 0,0,1)
            Autodesk.AutoCAD.Geometry.Plane _plane = new Autodesk.AutoCAD.Geometry.Plane(new Autodesk.AutoCAD.Geometry.Point3d(), new Autodesk.AutoCAD.Geometry.Vector3d(0, 0, 1));
            //<- Ebene festlegen
            //-> Durchstoßpunkt berechnen
            Autodesk.AutoCAD.Geometry.Point3d _pointSPT = _point.Project(_plane, _vec);
            //<- Durchstoßpunkt berechnen
            //-> Ausgabe als Punkte und Linie
            //--> Punkte und Linie erzeugen
            DBPoint _p1 = new DBPoint(_point);
            DBPoint _p2 = new DBPoint(_point2);
            DBPoint _p3 = new DBPoint(_pointSPT);
            Line _l = new Line(_point, _pointSPT);
            //<-- Punkte und Linie erzeugen
            //--> Punkte und Linie der database (Modellbereich) hinzufügen
            using (Transaction _tr = _db.TransactionManager.StartTransaction())
            {
                BlockTable _bt = (BlockTable)_tr.GetObject(_db.BlockTableId, OpenMode.ForRead);
                BlockTableRecord _ms = (BlockTableRecord)_tr.GetObject(_bt["*Model_Space"], OpenMode.ForWrite);
                _bt.Close();
                _ms.AppendEntity(_p1);
                _tr.AddNewlyCreatedDBObject(_p1, true);
                _ms.AppendEntity(_p2);
                _tr.AddNewlyCreatedDBObject(_p2, true);
                _ms.AppendEntity(_p3);
                _tr.AddNewlyCreatedDBObject(_p3, true);
                _ms.AppendEntity(_l);
                _tr.AddNewlyCreatedDBObject(_l, true);
                _ms.Close();
                _tr.Commit();
            }
            //<-- Punkte und Linie der database (Modellbereich) hinzufügen
            //<- Ausgabe als Punkte und Linie
        }

Holger

------------------
Holger Brischke
CAD on demand GmbH
Individuelle Lösungen von Heute auf Morgen.


defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!

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

M.Kocyigit
Mitglied
Techniker

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

Beiträge: 7
Registriert: 27.11.2011

AutoCAD 2012, Bentley Prostructures V8i Select 4,

erstellt am: 02. Dez. 2011 10:42    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 Herr Brischke,

ich habe auch auch nicht behauptet, das ich mit dieser Thema gut auskenne. Ich bin ein eingefleischter Lisp-Programmierer der sich am Anfangstatus befindet und sehr schwer tut ...

Diese Snippets was Sie gepostet haben ist genau das richtige ...
Vielen Vielen Dank.

Nochmals Entschuldigung ...

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