| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Koordinatensysteme (1385 mal gelesen)
|
Peter Schriebl Mitglied selbstständig
Beiträge: 13 Registriert: 16.10.2010 Windows XP Autocad 2009 Visual Studio 2010 Express
|
erstellt am: 31. Okt. 2010 20:45 <-- editieren / zitieren --> Unities abgeben:
Hallo Forum ! Da ich in meiner Anwendungspraxis viel und oft zwischen WKS,BKS und zB.blockinternes OKS hin und herspringe war die altehrwürdige VBA-Funktion "TranslateCoordinates" extrem hilfreich. Gibts da was Ähnliches oder Gleichwertiges in vb.net ? Ich wäre über entsprechenden Beispiele überfroh ! Grüße Peter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 31. Okt. 2010 21:23 <-- editieren / zitieren -->
Hi, diese Funktion steht Dir auch in dotNET zur Verfügung: Autodesk.AutoCAD.Interop.AcadUtilityClass.TranslateCoordinates - alfred - ------------------ www.hollaus.at |
Peter Schriebl Mitglied selbstständig
Beiträge: 13 Registriert: 16.10.2010 Windows XP Autocad 2009 Visual Studio 2010 Express
|
erstellt am: 01. Nov. 2010 09:14 <-- editieren / zitieren --> Unities abgeben:
Vielen Dank für den Tipp. Ich kann leider die Funktion bei mir nicht aktiv bekommen: Imports Autodesk.Autocad.Interop. ...dann kommt bei mir "Common" und danach kein "AcadUtilityClass". (ich verwende Autocad 2009) Frage: Wo ist da der Wurm drinnen ? Grüße Peter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 01. Nov. 2010 10:14 <-- editieren / zitieren -->
Hi, probier mal:
Code: Imports Autodesk.AutoCAD.... Dim tAcadDoc As ApplicationServices.Document = ApplicationServices.Application.DocumentManager.MdiActiveDocument Dim tAcadDocCOM As Interop.AcadDocument = CType(tAcadDoc.AcadDocument, Interop.AcadDocument) tAcadDocCOM.Utility.TranslateCoordinates.....
Unter Verweise musst Du dazu aus der Liste der COM-Interfaces 'AutoCAD 2009 Type Library' (+ empfohlen dann gleich mit 'AutoCAD/ObjectDBX Common 17.2') hinzugefügt haben (Version 17.2 bin ich jetzt nicht sicher, ob da nicht nur 17.0 verfügbar ist, hab aber jetzt kein 2009 bei der Hand). - alfred -
------------------ www.hollaus.at |
fuchsi Mitglied Programmierer c#.net Datawarehouse
Beiträge: 1201 Registriert: 14.10.2003 AutoCad Version 2012 deu/enu <P>Windows 7 64bit
|
erstellt am: 04. Nov. 2010 11:23 <-- editieren / zitieren --> Unities abgeben: Nur für Peter Schriebl
|
Ex-Mitglied
|
erstellt am: 04. Nov. 2010 11:44 <-- editieren / zitieren -->
Hi, Du kannst natürlich Dich auch mit Geometry.Matrix3d aus der Liste der UCS arbeiten, und COM tut doch nicht weh und aus zwei Gründen war es von mir so genannt: a) Peter scheint von VBA nach dotNET umzustellen, da fällt dieses deutlich leichter (weil bekannt) b) es ist auch schneller programmiert. Es gibt schon bei allem, was mit Datenbank und Entities zu tun hat, einen großen Unterschied durch TransActions in der Performance, ob ich über COM oder managed arbeite. Nur bei Punktumrechnungen zwischen unterschiedlichen (CAD-)Koordinatensystemen bist Du mit einer Code-Zeile durch, jetzt nur des 'managed' wegen Mat's herauszuholen kostet schon deutlich mehr Zeit. - alfred - ------------------ www.hollaus.at |
Peter Schriebl Mitglied selbstständig
Beiträge: 13 Registriert: 16.10.2010 Windows XP Autocad 2009 Visual Studio 2010 Express
|
erstellt am: 04. Nov. 2010 21:56 <-- editieren / zitieren --> Unities abgeben:
|
Ex-Mitglied
|
erstellt am: 04. Nov. 2010 22:21 <-- editieren / zitieren -->
Hi, mit einem Satz geht das nicht, grob gesprochen aus der AutoCAD-Sicht: COM ist das, was Du mit VBA gemacht hast (Funktionen/Methoden/Eigenschaften des ActiveX-Servers von AutoCAD angesprochen) managed Code ist eine Art der Kompilation von SourceCode in eine Zwischensprache (>>>CIL/CLR<<<), welche erst zur Laufzeit auf den entsprechenden Prozessor/das Betriebssystem auf Maschinensprache übersetzt und ausgeführt wird. Die Zugriffsmethoden zwischen Programmen sind hier hauptsächlich >>>Framework<<<-basiert. COM: siehe >>>hier<<< managed Code: siehe >>>hier<<< - alfred - ------------------ www.hollaus.at |