| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: IDW node.DoSelect (1121 / mal gelesen)
|
BernoAn Mitglied
Beiträge: 164 Registriert: 16.01.2014
|
erstellt am: 27. Aug. 2018 12:18 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, Ich habe mir ein Script geschrieben welches mit ein Bauteil im Browser der IDW und in den Ansichten selektiert. Meine Frage: Wenn das Bauteil auf mehreren Ansichten ist verliere ich die Selektion. d.h ich kann das Bauteil nur einmal mit node.DoSelect anwählen. Von Hand drückt man die STRG Taste um mehrere zu selektieren, aber wie macht man das in VBA? Hat jemand eine Idee oder Lösung?
Gruß Berno
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KraBBy Mitglied Maschinenbau-Ingenieur
Beiträge: 601 Registriert: 19.09.2007 Inventor Professional 2020 WinX
|
erstellt am: 28. Aug. 2018 08:56 <-- editieren / zitieren --> Unities abgeben: Nur für BernoAn
Guten Morgen Berno, wenn ich das in der Hilfe richtig lese, wird der Klick auf das Element "simuliert". Ist es nicht naheliegend, mit der STRG Taste das gleiche zu tun? keybd_event Lib "user32" sollte passende Suchergebnisse liefern z.B. vbarchiv.net - API - keybd_event nach dem ersten .DoSelect: keybd_event VK_LCONTROL, 0&, 0&, 0& 'Taste drücken ... .DoSelect keybd_event VK_LCONTROL, 0&, KEYEVENTF_KEYUP, 0& 'Taste loslassen mit: Const VK_LCONTROL = &HA2 ' Linke STRG-Taste const KEYEVENTF_KEYUP = &H2 P.S. das habe ich jetzt nicht ausprobiert, hab auch noch nichts mit den BrowserNodes gemacht ------------------ Gruß KraBBy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BernoAn Mitglied
Beiträge: 164 Registriert: 16.01.2014
|
erstellt am: 28. Aug. 2018 10:08 <-- editieren / zitieren --> Unities abgeben:
Hallo KraBBy Danke, aber leider geht es mit Doselect nicht. Ich drücke über "keybd_event" die STRG Tast, das geht, Gestest mit VBA "STRG down" ohne "STRG up" und habe den ganzen Rechner lahmgelegt da er die Stringtaste weiterhin drückt auch wenn das Script beendet ist Aber DoSelect reagiert leider nicht darauf, schade. Aber vielen Dank für deine super Idee! Gruß Berno Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KraBBy Mitglied Maschinenbau-Ingenieur
Beiträge: 601 Registriert: 19.09.2007 Inventor Professional 2020 WinX
|
erstellt am: 28. Aug. 2018 13:46 <-- editieren / zitieren --> Unities abgeben: Nur für BernoAn
Zitat: Original erstellt von BernoAn: Aber vielen Dank für deine super Idee!
Danke für die Blumen. So super ist die Idee leider nicht, sonst würde sie funktionieren Wie machst Du jetzt weiter? Klappt es, deine Aktion einfach für jeden Node einzeln anzustoßen?
------------------ Gruß KraBBy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BernoAn Mitglied
Beiträge: 164 Registriert: 16.01.2014
|
erstellt am: 28. Aug. 2018 14:50 <-- editieren / zitieren --> Unities abgeben:
Das geht schon, aber mein Ehrgeiz will es anders Ich hab versucht von der Node aus die Farbe des Bauteils zu verändern, Von Hand wäre das: Auf Bauteil umstellen rechte Maustaste, Eigenschaften, Farbe In VBA finde ich aber nichts. Wenn in der IDW Bauteil ausgewählt ist, gibt es auch keine Layer. Bei Google finde ich auch nicht wie man die Farbe eines Bauteils in der IDW über VBA ändert. Gruß Berno
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BernoAn Mitglied
Beiträge: 164 Registriert: 16.01.2014
|
erstellt am: 11. Sep. 2018 13:39 <-- editieren / zitieren --> Unities abgeben:
Hallo, Rückmeldung Ich habe es nicht geschafft ein Bautel umzufärben, aber wenigstens ist es mir es gelungen die Ansicht und das Bauteil über die Nodes zu selektieren. Fall es mal jemand braucht, hier der Code. Code:
node.EnsureVisible ' <<<<<<<<<<<< Browsernode und zugehöriges Bauteil in der IDW selektieren
Gruß Berno
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |