Code:
Public Class Form1 Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
'##### Variablendeklaration
Dim CATIA As INFITF.Application
Dim oDocs1 As Documents
Dim oProdDoc1 As ProductDocument
Dim oProd1 As Product
Dim oParams1 As Parameters
Dim oParamSet1 As ParameterSet
Dim length1 As Length
Try '##### Fehlerabfangroutine
CATIA = System.Runtime.InteropServices.Marshal.GetActiveObject("CATIA.Application") '##### Catia-Sitzung holen
Catch ex As System.Runtime.InteropServices.COMException
MessageBox.Show("Catia nicht gefunden!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) '##### Falls kein Catia gefunden wird, Meldung an Benutzer
End '##### Programm komplett schließen und beenden
End Try '##### Ende Fehlerabfangroutine
Try '##### Fehlerabfangroutine
oDocs1 = CATIA.Documents
oProdDoc1 = oDocs1.Open("Z:\xx\xx\xxxx.CATProduct") '##### Holen des Produkts aus Dateipfad
Catch ex As Exception
MessageBox.Show("Datei-Öffnen Fehler!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) '##### Falls kein CATPart geöffnet werden kann, Meldung an Benutzer
End '##### Programm komplett schließen und beenden
End Try '##### Ende Fehlerabfangroutine
MsgBox("Dies ist ein Tool zur schnellen Erzeugung einer Einpressvorrichtung für geschlitze Gummilager" & vbNewLine & vbNewLine & "Folgende Angaben sind notwendig:" & vbNewLine & vbNewLine & "-Einbaudurchmesser des Lenkerauges" & vbNewLine & "-Außendurchmesser des entspannten Lagers" & vbNewLine & "-Höhe der Stufe im Trichter" & vbNewLine & "-Höhe der Stufe in der Spreizhülse" & vbNewLine & "-Wandstärke der Stufe in der Spreizhülse", vbOKOnly, "Einführung")
'##### Variablen der Anwendereingaben #####
Dim d_einbau As String '### Durchmesser
'##### Anwendereingaben #####
Do
d_einbau = InputBox("Geben Sie den kleinsten Einbaudurchmesser des Lenkers an. Dieses ergibt sich aus dem Nennmaß abzüglich der unteren Toleranz.", "Lenkerauge", "49", -1, -1) '##### Eingabebox
If d_einbau = "" Then Exit Sub '##### bei Abbbruch oder keiner Eingabe wird das Programm geschlossen
Loop Until IsNumeric(d_einbau) '##### Dauerschleife bis die Eingabe eine Zahl ist
'##### Ende der Anwendereingabe #####
Dim x As Double
x = Val(d_einbau)
oProd1 = oProdDoc1.Product
oProd1 = oProd1.ReferenceProduct
oParams1 = oProd1.Parameters
oParamSet1 = oParams1.RootParameterSet
length1 = oParams1.Item("D_Einbau")
length1.Value = x
oProd1.Update() '##### Produkt aktualisieren
End Sub
End Class