Hallo,
ich fange an mich mit Addins zu beschäftigen.
Ich würde gerne einen eigenen Befehl erzeugen mit dem ich zunächst einen Punkt in einer Skizze anklicken kann und dann noch den Winkel verändern kann. Ich möchte, dass während der Operation ein "Platzhalter" angezeigt wird. Während der Angabe des Winkels möchte ich dass eine zusätzliche Linie angezeigt wird.
Ich habe das im Grunde auch zum Laufen bekommen, leider ist das Updating der ClientGraphics viel zu langsam.... Gibt es eine Alternative Möglichkeit, so dass MouseMove nicht immer alles (langsam) löschen und neuzeichnen muss?
Hier der wesentliche Ausschnitt des Quellcodes, bitte denkt Euch den Rest - ich programmiere in VB.Net, aber das Beispiels stammt eigentlich aus VBA (siehe hier: https://help.autodesk.com/view/INVNTOR/2025/ENU/?guid=InteractionGraphics_Sample)
Das erzeugt Kreuz wird durch die ClientGraphicsCollection der ComponentDefinition "geleitet".
Im Grunde funktioniert das - nur es ruckelt wie verrückt. Gibt es eine bessere Möglichkeit?
Private Sub oMouseEv2_OnMouseMove(Button As MouseButtonEnum, ShiftKeys As ShiftStateEnum, ModelPosition As Point, ViewPosition As Point2d, View As View)
Dim Shift As Double = 0.5
Points = {
ModelPosition.X - Shift,
ModelPosition.Y - Shift,
0,
ModelPosition.X + Shift,
ModelPosition.Y + Shift,
0,
ModelPosition.X - Shift,
ModelPosition.Y + Shift,
0,
ModelPosition.X + Shift,
ModelPosition.Y - Shift,
0}
oCoordSet.PutCoordinates(Points)
oLineSet.CoordinateSet = oCoordSet
invApp.ActiveView.Update()
End Sub
Danke
Georg