| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | PNY: der unverzichtbare Partner für umfassende KI-Lösungen von Workstations bis zu Edge Computing und KI-Cluster-Bereitstellung, eine Pressemitteilung
|
Autor
|
Thema: Punktkoords als Texteinfügepunkt (436 mal gelesen)
|
ManuelKuhn Mitglied Techniker und DvD :-)
 
 Beiträge: 100 Registriert: 23.03.2005 Intel XEON W3503 @ 2.4GHz 8 GB DDR3 NVIDIA QUADRO FX3800 WinXP Prof SP3 x64 ACAD 2007 + ProSteel 17.2/ 18 ACAD 2010 + ProSteel V8i S3 Rhino 3D V4 Autodesk VIZ-2006 ( bald vielleicht Max2011 :-D )
|
erstellt am: 02. Sep. 2008 14:52 <-- editieren / zitieren --> Unities abgeben:         
Hallo an alle bin neu hier im VBA-Forum (war sonst nur im Rund um AutoCad und LIPS Forum unterwegs) und wollte mal Hallo sagen... Naja und ne Frage hab ich auch gleich mitgebracht Ich habe vor kurzen angefangen mich mit der Programmierung von AutoCAD auseinander zu setzten, zuerst wollte ich das ganze über LISP angehen (mit Hilfe des Kochbuchs) aber ich glaube, das für meine zukünftigen Vorhaben VBA der bessere Weg ist... (ich weiß hier scheiden sich die "Geister" aber für mich ist es, meiner Meinung nach, sinnvoller) Zu meiner Frage: Ich habe vor ein kleines Programm zu schreiben um von beliebigen Punkten die Koordinaten abzufragen und diese Koordinaten dann als Einfügepunkt für einen Text zu verwenden. Nur komme ich irgendwie nicht wirklich weiter... habe in meinen Büchern geblättert und im Internet rumgesucht aber nix gefunden. Momentan schaut das ganze so aus: (ist halt noch ein Test für einen Punkt und bitte nicht schlagen, auch wenn das ganze für die Profis wahrscheinlich zum Haarestreuben ist) Code: Public Sub MeinErstesSelectionSet() Dim objSS As AcadSelectionSet Dim objAcadText As AcadText Dim strText As String Dim ssPoint As AcadPoint Dim dblPoint(2) As Double On Error Resume Next With ThisDrawing.Utility ''neues SelectionSet erzeugen Set objSS = ThisDrawing.SelectionSets.Add("SSPunkte") objSS.SelectOnScreen ''Anzahl der Objekte zurück geben MsgBox " ' " & objSS.Count & " '" & "Objekt(e) gewählt", vbInformation, "SelectionSets" ''Koordinaten an Text knüpfen strText = "Test" ssPoint = objSS.Item(0) dblPoint(2) = ssPoint.Coordinates Set objAcadText = ThisDrawing.ModelSpace.AddText(strText, dblPoint, 5) End With objSS.Delete End Sub
ich bekomme es irgendwie nicht hin, die Koordinaten des Punktes aus dem SelectionSet auszulesen und an den Text als Einfügepunkt zu hängen. habe auch schon folgendes versucht
Code: ''Koordinaten an Text knüpfen strText = "Test" ssPoint = objSS.Item(0) dblPoint(0) = ssPoint(0): dblPoint(1) = ssPoint(1): dblPoint(2) = ssPoint(2) Set objAcadText = ThisDrawing.ModelSpace.AddText(strText, dblPoint, 5)
kann mir jemand da mal bitte helfen... ------------------ Immer auf der Suche nach Wissen....wenn ichs doch nur finden würde....???kann mir jemand helfen???  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
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 - ACA 2013 Arcibem System: Windows NT, 2000, XP Internet-Startseite: http://www.archi.de
|
erstellt am: 02. Sep. 2008 15:14 <-- editieren / zitieren --> Unities abgeben:          Nur für ManuelKuhn
Hallo Manuel, 1. also die with-Anweisung kannst Du komplett streichen, da Du ja nichts damit machst. 2. die dblPoint-Variable brauchst Du eigentlich auch nicht, da Du den Punkt für addText auch direkt aus ssPoint nehmen kannst (.coordinates) 3. vor ssPoint = objSS.Item(0) muss Du ein SET setzen (ist eine Objektvariable) könnte also dann so aussehen: Code: Public Sub MeinErstesSelectionSet() Dim objSS As AcadSelectionSet Dim objAcadText As AcadText Dim strText As String Dim ssPoint As AcadPoint On Error Resume Next Set objSS = ThisDrawing.SelectionSets.Add("SSPunkte") objSS.SelectOnScreen ' MsgBox " ' " & objSS.Count & " '" & "Objekt(e) gewählt", vbInformation, "SelectionSets" strText = "Test" Set ssPoint = objSS.Item(0) Set objAcadText = ThisDrawing.ModelSpace.AddText(strText, ssPoint.Coordinates, 5) objSS.Delete End Sub
Grüsse, Henning
------------------ Henning Jesse VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ManuelKuhn Mitglied Techniker und DvD :-)
 
 Beiträge: 100 Registriert: 23.03.2005 Intel XEON W3503 @ 2.4GHz 8 GB DDR3 NVIDIA QUADRO FX3800 WinXP Prof SP3 x64 ACAD 2007 + ProSteel 17.2/ 18 ACAD 2010 + ProSteel V8i S3 Rhino 3D V4 Autodesk VIZ-2006 ( bald vielleicht Max2011 :-D )
|
erstellt am: 02. Sep. 2008 16:33 <-- editieren / zitieren --> Unities abgeben:         
SUUUUPPPPEEEERRRRR Danke dir Henning!! Das mit dem "Set" hatte ich ja total vergeigt... ist ja eigentlich klar, das ich eine Variable erstmal setzten muss, sonst passiert da ja nix und ich hab mich immer gewundert warum der Text im Ursprung eingefügt wird! Unities sind unterwegs!!! ------------------ Immer auf der Suche nach Wissen....wenn ichs doch nur finden würde....???kann mir jemand helfen???  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
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 - ACA 2013 Arcibem System: Windows NT, 2000, XP Internet-Startseite: http://www.archi.de
|
erstellt am: 02. Sep. 2008 16:39 <-- editieren / zitieren --> Unities abgeben:          Nur für ManuelKuhn
Zitat: Original erstellt von ManuelKuhn: ist ja eigentlich klar, das ich eine Variable erstmal setzten muss...
aber nicht JEDE, nur Objektvariablen: Zitat: Set ssPoint = objSS.Item(0)
aber: Zitat: strText = "Test"
Grüsse, Henning ------------------ Henning Jesse VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure
http://www.voxelman.de [Diese Nachricht wurde von wronzky am 02. Sep. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ManuelKuhn Mitglied Techniker und DvD :-)
 
 Beiträge: 100 Registriert: 23.03.2005 Intel XEON W3503 @ 2.4GHz 8 GB DDR3 NVIDIA QUADRO FX3800 WinXP Prof SP3 x64 ACAD 2007 + ProSteel 17.2/ 18 ACAD 2010 + ProSteel V8i S3 Rhino 3D V4 Autodesk VIZ-2006 ( bald vielleicht Max2011 :-D )
|
erstellt am: 03. Sep. 2008 07:31 <-- editieren / zitieren --> Unities abgeben:         
Ah Ok, klar (ich glaube sowas in der Richtung hab ich in meinem "schlauen Buch" auch schon mal gelesen  ) Wie gesagt, ich habe erst vor kurzem (um genau zu sein vor nicht mal einer Woche) angefangen mich mit AutoCAD und VBA auseinander zu setzten und die Zeit die ich habe wirklich intensiv was zu machen ist ziemlich knapp, da auf der Arbeit viel zu tun und zuhause muss ich momentan auf meine Techniker Prüfungen im Oktober lerner.... aber das wird schon!! Vielen Dank auf jeden Fall für die schnelle Hilfe!! ------------------ Immer auf der Suche nach Wissen....wenn ichs doch nur finden würde....???kann mir jemand helfen???  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |