| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Koordinate einer AcadEntity ermitteln (667 mal gelesen)
|
dimpflmoser Mitglied
Beiträge: 12 Registriert: 17.01.2008
|
erstellt am: 05. Jan. 2009 13:37 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, Mit folgendem Code erstelle ich eine Selection aller Text-Elemente:
Code:
Dim oDoc As Object Dim oSS AcadSelectionSet Dim FilterType(0) As Integer Dim FilterData(0) As VariantFilterType(0) = 0 FilterData(0) = "Text" ' Zeiger auf aktuelles Dokument Set oDoc = ThisDrawing ' Selection-Set initialisieren Set oSS = oDoc.SelectionSets.Add("VBA") ' Selection bilden oSS.Select acSelectionSetAll, , , FilterType, FilterData
Das Funktioniert auch prima. Nun möchte ich die Einfüge-Koordinaten eines Elementes ermitteln: Code: oSS.Item(iZaehler)
Tja, und da steh ich auf dem Schlauch ... Kann mir jemand helfen, wie der Code weitergeht? Danke Helmut Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 05. Jan. 2009 13:53 <-- editieren / zitieren -->
Hi Helmut, Zitat: Nun möchte ich die Einfüge-Koordinaten eines Elementes ermitteln
Jedes Element (das gezeichnet wird) hat Koordinaten, aber nicht unbedingt 'Einfüge-Koordinaten', da musst Du dann nach Elementtyp unterscheiden. Eine Linie hat Startpunkt und Endpunkt Eine Polylinie hat mehrere Vertex-Punkte Eine Blockreferenz hat einen Einfügepunkt Ein Text hat einen Einfügepunkt und gegebenenfalls einen Ausrichtungspunkt .... also was ist Dein primäres Ziel? - alfred - |
dimpflmoser Mitglied
Beiträge: 12 Registriert: 17.01.2008
|
erstellt am: 05. Jan. 2009 14:03 <-- editieren / zitieren --> Unities abgeben:
|
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten
Beiträge: 2154 Registriert: 02.05.2005 CAD: AutoCAD 2.6 bis 2014 ADT 2005 bis ACA 2013 Arcibem System: Windows Internet-Startseite: http://www.archi.de
|
erstellt am: 05. Jan. 2009 14:16 <-- editieren / zitieren --> Unities abgeben: Nur für dimpflmoser
Hi Helmut, Versuch's doch mal so: Code: Dim oItem As AcadObject Dim oPoint As Variant Set oItem = oSS.Item(0) oPoint = oItem.InsertionPoint
Ach ja, und nicht vergessen, den Auswahlsatz wieder zu löschen. Und - es gibt auch ein VBA- Forum...Grüsse, Henning ------------------ Henning Jesse VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de [Diese Nachricht wurde von wronzky am 05. Jan. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 05. Jan. 2009 14:35 <-- editieren / zitieren -->
Hi, bitte aufpassen, neben dem 'InsertionPoint' gibt's dann auch noch die Eigenschaft 'TextAlignmentPoint', die abhängig von der Textausrichtung statt dem InsertionPoint gültig ist!! - alfred - |
dimpflmoser Mitglied
Beiträge: 12 Registriert: 17.01.2008
|
erstellt am: 05. Jan. 2009 15:02 <-- editieren / zitieren --> Unities abgeben:
|