Hallo,
ich habe mir vor einer ganzen weile eine RangeBox zusammen gesucht aus diversen Forenbeiträgen mit der ich meine 3 Parameter Bruttobreite, Bruttotiefe, Bruttohöhe mit den Abmaßen füllen kann. Das ganze funktioniert auch prima in allen Bauteilen und Baugruppen. Das ganze führe ich als Globale Regel aus bei Bauteilen und Baugruppen.
Ich habe allerdings jetzt festgestellt das gelegentlich in Baugruppenzeichnungen nun Fehlermeldungen auftauchen. Ich habe leider nicht mal ansatz weise viel ahnung von iLogic benötige aber etwas was diese Paramter sauber erzeugt.
Er meldet folgendes:
Fehler in Zeile 27 in Regel RangeBox xyz, in Document xxxxxx.idw
Mitglied nicht gefunden. (Ausnahme von HRESULT:0x80020003(DISP_E_MEMBERNOTFOUND))
Weiter Informationen in der Fehlermeldung sind noch :
System.Runtime.InteropServices.COMException (0x80020003): Mitglied nicht gefunden. (Ausnahme von HRESULT: 0x80020003 (DISP_E_MEMBERNOTFOUND))
bei Microsoft.VisualBasic.CompilerServices.LateBinding.LateGet(Object o, Type objType, String name, Object[] args, String[] paramnames, Boolean[] CopyBack)
bei Microsoft.VisualBasic.CompilerServices.NewLateBinding.LateGet(Object Instance, Type Type, String MemberName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, Boolean[] CopyBack)
bei ThisRule.Main() in Externe Regel: RangeBox xyz:Zeile 34.
bei Autodesk.iLogic.Exec.AppDomExec.ExecRuleInAssembly(Assembly assem)
bei iLogic.RuleEvalContainer.ExecRuleEval(String execRule)
Mein Code schaut wie folgt aus.
Sub Main()
Try
If iProperties.Value("Custom", "Bruttobreite") = True Then
Else
iProperties.Value("Custom", "Bruttobreite") = ""
End If
Catch
End Try
Try
If iProperties.Value("Custom", "Bruttotiefe") = True Then
Else
iProperties.Value("Custom", "Bruttotiefe") = ""
End If
Catch
End Try
Try
If iProperties.Value("Custom", "Bruttohöhe") = True Then
Else
iProperties.Value("Custom", "Bruttohöhe") = ""
End If
Catch
End Try
oCompDef = ThisApplication.ActiveDocument.ComponentDefinition '' Hier meldet es den Fehler in Zeile 27
Ax= Round(10*(oCompDef.RangeBox.MaxPoint.X - oCompDef.RangeBox.MinPoint.X),2)
Ay= Round(10*(oCompDef.RangeBox.MaxPoint.Y - oCompDef.RangeBox.MinPoint.Y),2)
Az= Round(10*(oCompDef.RangeBox.MaxPoint.Z - oCompDef.RangeBox.MinPoint.Z),2)
iProperties.Value("Custom", "Bruttobreite") = Ax
iProperties.Value("Custom", "Bruttotiefe") = Ay ''Zeile 34
iProperties.Value("Custom", "Bruttohöhe") = Az
InventorVb.DocumentUpdate()
End Sub
Der Fehler scheint auch nicht immer zu kommen.
Kann mir hier jemand weiterhelfen?
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP