Ein Film sagt mehr als 1000 Bilder :)
15.12.2014
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. ‘’’
'[ 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…
…und das Makro ausführen.
Im Lokal-Fenster unter obj findest du alle Infos zu dem gewählte Objekt bzw. der aktuelle Datei.
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
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
Beachte:
- Der VBA-Code oben führt eine interne Regel aus. Für eine externe Regel diesen Code verwenden.
- Soll die (externe) Regel ein globales Formular öffnen, da muss die Regel so ausehen: iLogicForm.ShowGlobal("Formular")