Liebes Forum,
dank eurer vielen Antworten auf die ganzen hier schon gestellten Fragen, habe ich es geschafft ein hübsches kleines Programm zu schreiben, das bis jetzt auch genau das tut was ich möchte. Jetzt komme ich allerdings nicht weiter und hoffe, dass jemand von euch vielleicht eine Idee hat. Im Prinzip geht es darum Linien und Bögen Informationen zuzuorden ( Fahrtrichtung, Geschwindigkeit ) und diese dann zusammen mit dem Objekt Handle an Excel zu übergeben um dort Streckenlänge, Durchschnittsgeschwindigkeit... zu berechnen. Das müsste eigentlich mit der SetXData / GetXData - Methode funktionieren. Bloß hab ich keine Idee, wie ich die zugeordneten Daten abfragen und weitergeben kann.
Die km/h etc. sollen nachher selbstverständlich vom Benutzer eingeben werden können, denn wenn alles immer 10 km/h wäre, bräuchte man ja nichts rechnen, zu Testzwecken hatte ich das allerdings erstmal festgelegt ("Mühsam ernährt sich das Eichhörnchen").
Der Anfang meines Subs lautet:
Dim objZeichnungselement As AcadEntity
Dim varEntityPickedPoint As Variant
'Element auswählen
MsgBox "Bitte wählen Sie das gewünschte Element aus."
ThisDrawing.Utility.GetEntity objZeichnungselement, varEntityPickedPoint, "Bitte ein Element auswählen."
If objZeichnungselement Is Nothing Then
MsgBox "Sie haben kein Element ausgewählt."
Else
Update
End If
'Infos zuordnen
Dim DataType(0 To 5) As Integer
Dim Data(0 To 5) As Variant
DataType(0) = 1001: Data(0) = "Attribute zuweisen"
DataType(1) = 1000: Data(1) = "Linie"
DataType(2) = 1002: Data(2) = "Ein-Richtungsverkehr"
DataType(3) = 1170: Data(3) = 10 ' km/h
objZeichnungselement.SetXData DataType, Data
Dim xdataOut As Variant
Dim xtypeOut As Variant
objZeichnungselement.GetXData "Attribute zuweisen", xtypeOut, xdataOut
So und ab diesem Punkt hier weiß ich nicht mehr weiter. Hab es schon mit Messageboxen etc. versucht, aber die bleiben leer. Wie kann ich den feststellen, was der Linie an Daten zugeordnet worden ist.
Ich hoffe ihr könnt im groben nachvollziehen, was ich vorhabe und habt vielleicht einen Lösungsvorschlag.
Danke, LG Marie
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP