| | | 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
Beiträge: 7 Registriert: 27.11.2011 AutoCAD 2012, Bentley Prostructures V8i Select 4,
|
erstellt am: 27. Nov. 2011 16:14 <-- editieren / zitieren --> Unities abgeben:
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
Beiträge: 4171 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools
|
erstellt am: 28. Nov. 2011 09:28 <-- editieren / zitieren --> Unities abgeben: Nur für M.Kocyigit
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
Beiträge: 7 Registriert: 27.11.2011 AutoCAD 2012, Bentley Prostructures V8i Select 4,
|
erstellt am: 01. Dez. 2011 16:46 <-- editieren / zitieren --> Unities abgeben:
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
Beiträge: 4171 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools
|
erstellt am: 02. Dez. 2011 07:20 <-- editieren / zitieren --> Unities abgeben: Nur für M.Kocyigit
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
Beiträge: 7 Registriert: 27.11.2011 AutoCAD 2012, Bentley Prostructures V8i Select 4,
|
erstellt am: 02. Dez. 2011 07:45 <-- editieren / zitieren --> Unities abgeben:
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
Beiträge: 4171 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools
|
erstellt am: 02. Dez. 2011 10:12 <-- editieren / zitieren --> Unities abgeben: Nur für M.Kocyigit
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
Beiträge: 7 Registriert: 27.11.2011 AutoCAD 2012, Bentley Prostructures V8i Select 4,
|
erstellt am: 02. Dez. 2011 10:42 <-- editieren / zitieren --> Unities abgeben:
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 >>)
|