Die Inventor FAQ wird unterstützt von:

Inventor FAQ Logo

12.12.2014

iLogic: Code- und Kommentarblöcke definieren und im Editor ein- und ausklappen

Um einen Codeblock zu definieren, den gewünschten Programmbereich mit ‘[ …’] einklammern.

Kommentarblöcke können mittels 3’ definiert werden. ‘’’

image ==> image

'[ test
MsgBox ("Hallo")
']
'[ test2
MsgBox ("Hello Again")
']
'''Kommentar
'''zum
'''Einklappen

09.12.2014

VBA Programmierung: Eigenschaften von Objekte anschauen

Wer programmiert, für den ist es nützlich, die verschiedenen Eigenschaften eines Inventorobjekts (Bauteil, Bemaßung, usw.) zu sehen. Hierbei hilft dir dieses kleine Macro:

Sub Infos_auslesen()
   Dim obj As Object
   On Error GoTo Keine_Auswahl
    'Überwachung auf obj erstellen oder Lokal Fenster öffnen um obj zu untersuchen
    Set obj = ThisApplication.ActiveDocument.SelectSet(1)
    GoTo halt
Keine_Auswahl:
    Set obj = ThisApplication.ActiveDocument
halt:
    'Sorgt dafür das hier die Ausführung angehalten wird
     Stop
End Sub

Einfach gewünschte Objekt markieren bzw. Datei öffnen, das Lokal-Fenster öffnen…

image

…und das Makro ausführen.

Im Lokal-Fenster unter obj findest du alle Infos zu dem gewählte Objekt bzw. der aktuelle Datei.

image

iLogic Formular als Icon in die Inventoroberfläche einbinden

Du hast ein iLogicformular, das du über ein Icon aufrufen willst.

Denkbar wäre dieser Weg:

1. iLogicregel erstellen, die das Formular aufruft

image

2. Diese iLogicregel über einen VBA-Makro aufrufen. Der Makro könnte so aussehen:

Public Sub Export()
  RuniLogic "Formular_oeffnen"
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

3. Den Makro “Export” in die Inventoroberfläche einbinden

image

image

Beachte:

  1. Der VBA-Code oben führt eine interne Regel aus. Für eine externe Regel diesen Code verwenden.
  2. Soll die (externe) Regel ein globales Formular öffnen, da muss die Regel so ausehen:  iLogicForm.ShowGlobal("Formular")
Inventor FAQ Newsletter. Emailadresse: