RhinoCommon - rhcommon_c.dll error on Windows 10

error
rhinocommon
bug
rhino5

#1

Hello!

Lately I have been working on a project which utilizes some awesomeness of RhinoCommon along side the Revit API. The purpose is to use RhinoCommon as a more efficient solution for some geometry operations where the Revit API becomes too heavy and memory intensive. So far its been great on Windows 8, but I lately have changed workstations and now am setting up with Windows10 and am discovering some issues.

The error I am getting is with rhcommon_c.dll :

Another error log:

System.DllNotFoundException: Unable to load DLL ‘rhcommon_c’: A dynamic link library (DLL) initialization routine failed. (Exception from HRESULT: 0x8007045A) at Microsoft.Scripting.Interpreter.NewInstruction.Run(InterpretedFrame frame) at Microsoft.Scripting.Interpreter.Interpreter.Run(InterpretedFrame frame) at Microsoft.Scripting.Interpreter.LightLambda.Run5[T0,T1,T2,T3,T4,TRet](T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4) at System.Dynamic.UpdateDelegates.UpdateAndExecute4[T0,T1,T2,T3,TRet](CallSite site, T0 arg0, T1 arg1, T2 arg2, T3 arg3) at Microsoft.Scripting.Interpreter.DynamicInstruction`5.Run(InterpretedFrame frame) at Microsoft.Scripting.Interpreter.Interpreter.Run(InterpretedFrame frame) at Microsoft.Scripting.Interpreter.LightLambda.Run2[T0,T1,TRet](T0 arg0, T1 arg1) at IronPython.Compiler.PythonScriptCode.RunWorker(CodeContext ctx) at Microsoft.Scripting.Hosting.ScriptSource.Execute(ScriptScope scope) at pyRevitLoader.ScriptExecutor.ExecuteScript(String …

I am using pyRevit which uses IronPython 2.7:

clr.References

  • mscorlib, Version=4.0.0.0
  • System, Version=4.0.0.0
  • IronPython.SQLite, Version=2.7.0.40
  • IronPython.Wpf, Version=2.7.0.40
  • RhinoCommon, Version=5.1.30000.17

Example:

import sys
import clr

clr.AddReference(‘RevitAPI’)
clr.AddReference(‘RevitAPIUI’)
import Autodesk
from Autodesk.Revit.UI import *
from Autodesk.Revit.DB import *

version = revit.Application.VersionNumber.ToString()
uidoc = revit.ActiveUIDocument
currentView = uidoc.ActiveView

sys.path.append(“C:\Program Files\Rhinoceros 5 (64-bit)\System”)

clr.AddReference(‘RhinoCommon’)
import Rhino as r
import Rhino.Geometry as rg

testPoint = rg.Point3d(1,1,1) #works
print testPoint

testLine = rg.LineCurve(rg.Point3d(0,0,0), rg.Point3d(1,1,1)) #crashes
print testLine

Any advice on this issue? The fact that some classes work and some don’t is odd. Is there something that I’m missing with using RhinoCommon on windows 10? Or am I going in the wrong direction all together?

Any help is much appreciated!

Best,

Brian


(Steve Baer) #2

If you are trying to execute RhinoCommon functionality from inside the Revit process, you are going to need to use Rhino3dmIo instead of RhinoCommon. RhinoCommon is solely designed to run inside of the Rhino process.


#5

Thanks Steve!