Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  ILogic Formular mittels VBA starten

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
Autor Thema:  ILogic Formular mittels VBA starten (4623 mal gelesen)
Dilpschi
Mitglied
Ing. Verfahrenstechnik


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

Beiträge: 18
Registriert: 29.04.2013

erstellt am: 29. Apr. 2013 10:21    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 Allerseits,

ich verschiebe mittels eines kleinen VBA-Formulars Bauteile entlang der Achsen im Raum. Dies erfolgt über die ActiveDocument / Transformation Methode. Das Bauteil muss hierzu also nur selektiert und das Makro gestartet werden (geht über rechte Maustaste). Jetzt habe ich für dieses Bauteil ein iLogic Formular entworfen, welches ich gern aus dem VBA-Formular heraus starten möchte. Das Object ist ja als solches über SelectSet.Item vorhanden. Mir fehlt nur die Methode, um das iLogic - Formular für das selektierte Object aufzurufen.

VG Dilp

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

Michael Puschner
Ehrenmitglied V.I.P. h.c.
Rentner



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

Beiträge: 12982
Registriert: 29.08.2003

Toshiba Encore mit MS Office<P>Ein Programm sollte nicht nur Hand und Fuß, sondern auch Herz und Hirn haben.
(Michael Anton)

erstellt am: 29. Apr. 2013 15:57    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 Dilpschi 10 Unities + Antwort hilfreich

Willkommen bei CAD.DE und AUGCE! 
Vier wichtige Links für den problemlosen Einstieg:
Richtig Fragen - Nettiquette - Suchfunktion - System-Info


Ich verschiebe den Thread mal in das IV-VBA-Forum.

Ich vermute, dort wird man eher eine Antwort finden.

------------------
Michael Puschner
Autodesk Inventor Certified Expert
Mensch und Maschine Scholle GmbH

Dieses Jahr mach' ich Ünflation: Jeder Beitrag, unabhängig von seinem Inhalt, bekommt von mir 10Ü, solange der Vorrat reicht.

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: 2166
Registriert: 15.11.2006

Windows 10 x64, AIP 2022

erstellt am: 01. Mai. 2013 13:22    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 Dilpschi 10 Unities + Antwort hilfreich

Hallo

Paßt zwar nicht 100%, aber zumindest kann man damit aus VBA eine iLogic-Regel aufrufen.

Code:
Public Sub LaunchMyRule1()
  RuniLogic "Regel0" '<------- Name anpassen
End Sub

Public Sub RuniLogic(ByVal RuleName As String)
  Dim iLogicAuto As Object
  Dim oDoc As Document

  Set oDoc = ThisApplication.ActiveDocument
  If oDoc Is Nothing Then
    MsgBox "Missing Inventor Document"
    Exit Sub
  End If

  Set iLogicAuto = GetiLogicAddin(ThisApplication)
  If (iLogicAuto Is Nothing) Then Exit Sub

  iLogicAuto.RunRule oDoc, RuleName
End Sub

Function GetiLogicAddin(oApplication As Inventor.Application) As Object
'Set AddIns = oApplication.ApplicationAddIns

'Find the add-in you are looking for
Dim addIn As ApplicationAddIn
On Error GoTo NotFound
Set addIn = oApplication.ApplicationAddIns.ItemById("{3bdd8d79-2179-4b11-8a5a-257b1c0263ac}")

If (addIn Is Nothing) Then Exit Function

addIn.Activate
Set GetiLogicAddin = addIn.Automation
Exit Function
NotFound:
End Function


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

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

Dilpschi
Mitglied
Ing. Verfahrenstechnik


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

Beiträge: 18
Registriert: 29.04.2013

erstellt am: 03. Mai. 2013 08:47    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 Ralf

vielen Dank für Deine Hilfe und für die Erleuchtung, daß ich das Ganze über das Inhaltscenter-Addin laufen lassen muss  . Ich dachte es gibt eine an das Objekt direkt gekoppelte Methode zum Aufruf der  Regel/Formular. Jetzt stellt sich das Problem, daß das Addin nur Regeln der gesamten Baugruppe aufruft. Wenn ich das Ganze für ein selektiertes Objekt abändere, bekomme ich einen Argument-Fehler. Beim Addin-Aufruf gibt es wahrscheinlich mit dem Objekttyp (kAssemblyDocumentObject) ein Problem. Hast Du da noch eine Idee? Globale rules fallen aus, weil ich verschiedene Objekte mit unterschiedlichen Formularen habe.

VG Tom

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: 2166
Registriert: 15.11.2006

Windows 10 x64, AIP 2022

erstellt am: 03. Mai. 2013 09:50    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 Dilpschi 10 Unities + Antwort hilfreich

Hallo

In welchem Dokument er die Regel ausführt legt

Code:
Set oDoc = ThisApplication.ActiveDocument

fest. Für ein selektiertes Objekt müßte man

Code:
Set oDoc = ThisApplication.ActiveDocument.SelectSet.Item(1)

nehmen. Ob das direkt so einfach funktioniert mußt du ausprobieren, hab grad keinen Inventor.

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

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

Dilpschi
Mitglied
Ing. Verfahrenstechnik


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

Beiträge: 18
Registriert: 29.04.2013

erstellt am: 03. Mai. 2013 11:05    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 Ralf,

genau das hab ich probiert und den Fehler erhalten, daß die Argumente nicht stimmen. Das Übel liegt schon darin, daß man das SelectItem-Objekt als ComponentOccurrence deklarieren muss. Und damit kommt die RunRule-Methode nicht klar. Dis is'n bissel doof.  

VG Tom

[Diese Nachricht wurde von Dilpschi am 03. Mai. 2013 editiert.]

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: 2166
Registriert: 15.11.2006

Windows 10 x64, AIP 2022

erstellt am: 03. Mai. 2013 13:29    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 Dilpschi 10 Unities + Antwort hilfreich

Hallo

Das normal. Von der selektierten ComponentOccurrence kommst du über ComponentOccurrence.Definition.Document an das PartDocument. Steckt das Bauteil in einer Unterbaugruppe, ist das selektierte Bauteil glaub ich sogar ein ComponentOccurrenceProxy. Da müßte es aber genauso gehen.

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

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

Dilpschi
Mitglied
Ing. Verfahrenstechnik


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

Beiträge: 18
Registriert: 29.04.2013

erstellt am: 06. Mai. 2013 08:22    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 Ralf,

vielen Dank. Damit funzt es prima. Thema fertig.

VG Tom

------------------
Einfach mal rechts fahren....

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)2023 CAD.de | Impressum | Datenschutz