It´s a good thing interact with Rhino 5 over COM interface. Rhino 6 I cannot start.
Error Message from Visual Studio:
Es konnte kein Verweis auf “Rhinoceros 6 Type Library” hinzugefügt werden. ActiveX-Typbibliothek “C\Program Files\Rhino 6\System\Rhino.tlb” konnte nicht registriert werden.
thank you for the good advice. The registry is now o.k. (there was an other bug too: win32 for win64) and I cood register the Rhinoceros 6 Type Library and the RhinoScript Type Library 6.0.
But the Rhino.RhinoApplication doesn´t start:
Dim RhinoSitzung As Rhino.RhinoApplication = New Rhino.RhinoApplication With {.Visible = True, .ReleaseWithoutClosing = True}
System.InvalidCastException ist aufgetreten.
HResult=0x80004002
Nachricht = Das COM-Objekt des Typs “System.__ComObject” kann nicht in den Schnittstellentyp “Rhino.RhinoApplication” umgewandelt werden. Dieser Vorgang konnte nicht durchgeführt werden, da der QueryInterface-Aufruf an die COM-Komponente für die Schnittstelle mit der IID “{9837542C-DC30-4EBE-BA30-B6EBDF471508}” aufgrund des folgenden Fehlers nicht durchgeführt werden konnte: Schnittstelle nicht unterstützt (Ausnahme von HRESULT: 0x80004002 (E_NOINTERFACE)).
In Rhino5 this works properly:
Dim RhinoSitzung As Rhino5x64.Rhino5x64Application = New Rhino5x64.Rhino5x64Application With {.Visible = True, .ReleaseWithoutClosing = True}
Now I wood know, what is the practice in Rhino 6 ?
By hand-ediing the Registry, to fix the errors induced by the installer, I am able to get this to work:
Dim rhinoApp As Rhino.RhinoApplication
Try
rhinoApp = New Rhino.RhinoApplication With {.ReleaseWithoutClosing = True}
Catch ex As Exception
Console.WriteLine(ex.Message)
Return
End Try
' Wait until Rhino is initialized before calling into it
Const totalTime As Integer = 15 * 1000
dim waitingTime = 0
while (0 = rhinoApp.IsInitialized())
Thread.Sleep(100)
waitingTime = waitingTime + 100
if (waitingTime > totalTime) Then
Console.WriteLine("Rhino initialization failed")
Return
End If
End While
rhinoApp.Visible = 1
have tried your code, but comes the same error-message:
Das COM-Objekt des Typs “System.__ComObject” kann nicht in den Schnittstellentyp “Rhino.RhinoApplication” umgewandelt werden.
Dieser Vorgang konnte nicht durchgeführt werden, da der QueryInterface-Aufruf an die COM-Komponente für die Schnittstelle mit der IID “{9837542C-DC30-4EBE-BA30-B6EBDF471508}” aufgrund des folgenden Fehlers nicht durchgeführt werden konnte:
Schnittstelle nicht unterstützt (Ausnahme von HRESULT: 0x80004002 (E_NOINTERFACE)).