Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  Inventor-Funktion Komponente platzieren nachprogrammieren

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
  
PNY präsentiert die neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung
Autor Thema:  Inventor-Funktion Komponente platzieren nachprogrammieren (506 / mal gelesen)
DerBrain87
Mitglied
Mathematiker


Sehen Sie sich das Profil von DerBrain87 an!   Senden Sie eine Private Message an DerBrain87  Schreiben Sie einen Gästebucheintrag für DerBrain87

Beiträge: 86
Registriert: 29.04.2015

Inventor 2021

erstellt am: 03. Mai. 2024 10:34    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo zusammen,
ich möchte in einem Makro die Funktionalität der Funktion "Platzieren" aus dem Reiter "Komponente" nachprogrammieren.
Hierbei soll anstelle des Öffnen-Dialogs eine fester Pfad zu einem Bauteil verwendet werden.
Diesen soll es 'an die Maus anhängnen' damit der Benutzer das Bauteil dort hin setzen kann, wo er möchte.
Ich habe 2 Ideen, wie es funktionieren könnte, bei beiden fehlt mir aber etwas die Umsetzbarkeit.

Idee 1:
Ich verwende so etwas wie Application.CommandManger.Pick um vom Benutzer die Matrix zu erhalten, an welche ich dann das Bauteil per ComponentDefinition.Occurrences.add(pfad, matrix) einfüge.
Hier fehlt mir die Möglichkeit des Aufrufs um die Matrix zu erhalten. Weiter müsste natürlich das Bauteil an den Mauszeiger geklebt werden, damit der Benutzer sieht, wo das Ding hin kommen würde....

Idee 2:
Ich finde eine Möglichkeit die Inventor-Funktion aufzurufen und gebe ihr den Pfad direkt mit...
Theoretisch könnte das evtl. Application.CommandManager.StartExecutable(???) machen. Wenn dem so ist, fehlen  mir hier die richtigen Parameter...

Ich hoffe ich konnte mich halbwegs verständlich ausdrücken :-)

Vielen Dank im Voraus schonmal an alle die mir helfen können
Gruß Claus

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




Sehen Sie sich das Profil von rkauskh an!   Senden Sie eine Private Message an rkauskh  Schreiben Sie einen Gästebucheintrag für rkauskh

Beiträge: 2686
Registriert: 15.11.2006

Windows 10 x64, AIP 2020-2025

erstellt am: 03. Mai. 2024 12:17    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für DerBrain87 10 Unities + Antwort hilfreich

Moin

Das CommandManager.PostPrivateEvent benutzen, um den vollständigen Pfad in die Zwischenablage von Inventor zu schreiben. Anschließend über den CommandManager den Befehl "Komponente platzieren" (ich meine AssemblyPlaceComponentCmd) auslösen. Inventor schaut immer zuerst in seine Zwischenablage und wenn da was passendes drin steht, kommt kein Dialog, sondern das Teil baumelt direkt am Cursor.

EDIT:
Beispiel

Code:

Option Explicit

Private Sub Place()

Dim sPath As String
sPath = "C:\Temp\Bauteil1.ipt"

Dim oApp As Inventor.Application
Set oApp = ThisApplication

Call oApp.CommandManager.PostPrivateEvent(kFileNameEvent, sPath)

Dim oControlDef As ControlDefinition
Set oControlDef = oApp.CommandManager.ControlDefinitions.Item("AssemblyPlaceComponentCmd")

Call oControlDef.Execute

End Sub



------------------
MfG
Ralf

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Teamoh
Mitglied


Sehen Sie sich das Profil von Teamoh an!   Senden Sie eine Private Message an Teamoh  Schreiben Sie einen Gästebucheintrag für Teamoh

Beiträge: 5
Registriert: 29.10.2024

ArbeitsPC / Homeoffice PC
CPU: i7-5930K / i7-9700K
RAM: 32GB / 64GB
GPU: GTX1050 / RTX2070SUPER
OS: Win 10 Pro / Win 11 Pro
Inventor 2025.1.2 + Vault Basic

erstellt am: 16. Dez. 2024 09:06    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für DerBrain87 10 Unities + Antwort hilfreich

Moin,
könnte man den oben geannten Code auch als iLogic Regel ausführen?
Von wegen man führt die Regel aus und schwups baumelt das Teil "C:\Temp\Bauteil1.ipt" am Curser?

------------------
MfG Timo

[Diese Nachricht wurde von Teamoh am 16. Dez. 2024 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2024 CAD.de | Impressum | Datenschutz