Forum:Inventor VBA
Thema:IDW:(PL) Add-In-Funktin von Drittanbieter ausführen und auf Place-Funktion reagieren?
Möchten Sie sich registrieren?
Wer darf antworten? Registrierte Benutzer können Beiträge verfassen.
Hinweise zur Registrierung Sie müssen registriert sein, um Beiträge oder Antworten auf Beiträge schreiben zu können.
Ihr Benutzername:
Ihr Kennwort:   Kennwort vergessen?
Anhang:    Datei(en) anhängen  <?>   Anhänge verwalten  <?>
Grafik für den Beitrag:                                                
                                                       
Ihre Antwort:

Fachbegriff
URL
Email
Fett
Kursiv
Durchgestr.
Liste
*
Bild
Zitat
Code

*HTML ist AUS
*UBB-Code ist AN
Smilies Legende
Netiquette

10 20 40

Optionen Smilies in diesem Beitrag deaktivieren.
Signatur anfügen: die Sie bei den Voreinstellungen angegeben haben.

Wenn Sie bereits registriert sind, aber Ihr Kennwort vergessen haben, klicken Sie bitte hier.

Bitte drücken Sie nicht mehrfach auf "Antwort speichern".

*Ist HTML- und/oder UBB-Code aktiviert, dann können Sie HTML und/oder UBB Code in Ihrem Beitrag verwenden.

T H E M A     A N S E H E N
KraBBy

Beiträge: 329 / 0

Inventor Professional 2016
Win7

Zu dem Thema mit der (Klick)Position könnte man mit der CommandManager.PostPrivateEvent Method etwas rumspielen. Ich benutze das, um den Eingabedialog eines Speicherpfades o.ä. abzufangen. In der Hilfe liest es sich nicht unbedingt so, als ob das auch für einen Mauklick gedacht ist/funktioniert, aber versuchen kann man es ja trotzdem.

Das mit dem Mausklick per WinAPI finde ich nicht ganz falsch. Ich meine Klick ist Klick. Ich stelle es mir nur nicht ganz einfach vor, die richtigen Koordinaten zu finden  (ich gehe davon aus, dass die API Koordinaten bzgl. der "Darstellungsfläche" sprich Monitor(e) nimmt).
Eine mögliche Brotkrume: Camera.ModelToViewSpace Method

edit: kurz mit Camera.ModelToViewSpace rum probiert (im 3d-Modell, nicht in einer idw). -> liefert Koordinaten innerhalb des 'aktive View'.
Zu Koordinaten im 'Screen Space' kommt man dann über .GetWindowExtents.

Code:
Dim oView As View
    Set oView = ThisApplication.ActiveView
    Dim Top As Long, Left As Long, Height As Long, Width As Long
    Call oView.GetWindowExtents(Top, Left, Height, Width)

Du musst also den gewünschten Punkt im KS der Zeichnung kennen. ModelToViewSpace sollte dazu die Koordinaten im View liefern. Wenn man dann dazu noch Top bzw. Left von GetWindowExtents dazu addiert, sollten das die 'Screen'Koordinaten für den Mausklick sein.

------------------
Gruß KraBBy

[Diese Nachricht wurde von KraBBy am 02. Apr. 2020 editiert.]