| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Point2D die Koordinaten ändern (857 / mal gelesen)
|
tappenbeck Mitglied Vermessungsingenieur
Beiträge: 1213 Registriert: 30.05.2002 AutoCAD (Map)2019, Topobase, MapEdit, Lisp, .vb.net
|
erstellt am: 11. Mai. 2016 08:47 <-- editieren / zitieren --> Unities abgeben:
Moin! ich habe ein Point2D und möchte diesem Koordinaten zuweisen bzw. diese ändern. Code: Dim LastPoint As New Autodesk.AutoCAD.Geometry.Point3d(0, 0, 0)
Das funktioniert schon einmal - aber wenn ich dann Code: LastPoint.X
eingebe, dann wird mir angezeigt, dass hier nur ein ReadOnly zur Verfügung steht. Kann mir einer weiterhelfen ? Gruß Jan ------------------ jan :-) 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: 11. Mai. 2016 08:53 <-- editieren / zitieren --> Unities abgeben: Nur für tappenbeck
Hallo Jan, wenn du die Koordinaten eines Punktes ändern möchtest, dann musst du diesem einen Vector hinzuaddieren. Beispiel 250ZE in X-Richtung: LastPoint.Add(new Vector3d(250 , 0 , 0)); 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 |
cadplayer Ehrenmitglied CADniker
Beiträge: 1832 Registriert: 28.04.2009
|
erstellt am: 01. Jun. 2016 13:09 <-- editieren / zitieren --> Unities abgeben: Nur für tappenbeck
Hi Jan! Ich hab dir hier mal etwas zusammengeflickt zur Veranschaulichung. Code:
public void ModifyPosition() { Document doc = Application.DocumentManager.MdiActiveDocument; Database db = doc.Database; Editor ed = doc.Editor; try { // Ask user to select entities PromptEntityOptions peo = new PromptEntityOptions("\nSelect Points!"); peo.SetRejectMessage("\n No Point selected!"); peo.AddAllowedClass(typeof(DBPoint), true); PromptEntityResult res = ed.GetEntity(peo); using (Transaction tr = db.TransactionManager.StartTransaction()) { Entity ent = (Entity)tr.GetObject(res.ObjectId, OpenMode.ForWrite); if (ent == null) return; else { DBPoint oldPt = ent as DBPoint; if (!ent.IsWriteEnabled) ent.UpgradeOpen(); PromptPointOptions ppo = new PromptPointOptions("\nGet new Position!"); PromptPointResult ppr = ed.GetPoint(ppo); if (ppr.Status != PromptStatus.OK) return; Point3d newPt = ppr.Value; Vector3d offset = newPt - oldPt.Position; ent.TransformBy(Matrix3d.Displacement(offset)); } tr.Commit(); } } catch (System.Exception ex) { ed.WriteMessage("\nError!"); } } }
------------------ Gruss Dirk Blog | Adolf Spende | Infra-Feed | ÅF AB
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|