Community
Inventor - Deutsch
Das Forum für alle Fragen rund um Autodesk Inventor, iLogic, Factory Design, Automation und mehr. Der Ort zum Fragen stellen, Antworten erhalten und Wissen teilen.
abbrechen
Suchergebnisse werden angezeigt für 
Anzeigen  nur  | Stattdessen suchen nach 
Meintest du: 

ClientGraphics in MouseMove - viel zu langsam

0 ANTWORTEN 0
Antworten
Nachricht 1 von 1
georg_troska
41 Aufrufe, 0 Antworten

ClientGraphics in MouseMove - viel zu langsam

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

0 ANTWORTEN 0

Sie finden nicht, was Sie suchen? Fragen Sie die Community oder teilen Sie Ihr Wissen mit anderen.

In Foren veröffentlichen  

Autodesk Design & Make Report