Seriously, what am I doing wrong here? Bumblebee + Dynamo 1.0

I am new to Dynamo so I am like 99% sure this is user error, but I have spent the last three days trying to figure out what I am doing wrong. Can someone please help me see my error?

I am completely unable to get bumblebee to return anything besides “null”. I have even resorted to copying exactly some of the definitions from the Bumblebee primer and I still get “null”.

So here is my node for node copy from the primer. And still “null”

I am running Revit 2016, Dynamo 1.0, Bumblebee (2016.5.27). Excel is not open.

@mae.rickardsson
Hi,
Check your file path.

It is working fine in Dynamo 1.0 Revit 2016.

thanks for the reply! That wasn’t it though. Tried to point at an existing file. Still returns “Null” :cry:

Quoting from the BB Primer
“File Path: [FilePath] If file path does not exist, please navigate to directory that you wish to create a new file in and instead of selecting it just type in its name and Excel file extension *.xlsx”

But maybe if I want to create a new file I would need to use the Directory Node instead?

I would suggest wait until @Konrad_K_Sobon reply to this issue. Alternatively you can use standard “WritetoExcel” node. Hope that helps!

I’ll give it a try in the meantime while I wait for Konrad. Thanks so much for helping!

Hi @mae.rickardsson,

This is strange. It works just fine on my setup. Can you do me a favor and double click on the Write Excel node. There will be a single Python node inside. Can you copy it and then go back to your main canvas and paste it there. Then wire it up like you would the custom node, so FilePath goes to IN[0], Boolean to IN[1] etc. It should turn yellow and give you a warning message. I am curious what that says.

Thank you,

Hi Konrad!

It returned the following error.

Warning: IronPythonEvaluator.EvaluateIronPythonScript operation failed.
Traceback (most recent call last):
File “”, line 30, in
File “C:\Users\mne\AppData\Roaming\Dynamo\Dynamo Revit\1.0\packages\Bumblebee\extra\bumblebee.py”, line 14, in
IOError: System.IO.IOException: Could not add reference to assembly ProtoGeometry
at IronPython.Runtime.ClrModule.AddReference(CodeContext context, String name)
at IronPython.Runtime.ClrModule.AddReference(CodeContext context, Object[] references)
at Microsoft.Scripting.Interpreter.ActionCallInstruction2.Run(InterpretedFrame frame) at Microsoft.Scripting.Interpreter.Interpreter.Run(InterpretedFrame frame) at Microsoft.Scripting.Interpreter.LightLambda.Run4[T0,T1,T2,T3,TRet](T0 arg0, T1 arg1, T2 arg2, T3 arg3) at System.Dynamic.UpdateDelegates.UpdateAndExecute3[T0,T1,T2,TRet](CallSite site, T0 arg0, T1 arg1, T2 arg2) at CallSite.Target(Closure , CallSite , CodeContext , Object , Object ) at IronPython.Compiler.Ast.CallExpression.Invoke1Instruction.Run(InterpretedFrame frame) at Microsoft.Scripting.Interpreter.Interpreter.Run(InterpretedFrame frame) at Microsoft.Scripting.Interpreter.LightLambda.Run1[T0,TRet](T0 arg0) at IronPython.Compiler.RuntimeScriptCode.InvokeTarget(Scope scope) at IronPython.Runtime.PythonContext.InitializeModule(String fileName, ModuleContext moduleContext, ScriptCode scriptCode, ModuleOptions options) at IronPython.Runtime.PythonContext.CompileModule(String fileName, String moduleName, SourceUnit sourceCode, ModuleOptions options) at IronPython.Runtime.Importer.LoadFromSourceUnit(CodeContext context, SourceUnit sourceCode, String name, String path) at IronPython.Runtime.Importer.LoadFromDisk(CodeContext context, String name, String fullName, String str) at IronPython.Runtime.Importer.ImportFromPathHook(CodeContext context, String name, String fullName, List path, Func5 defaultLoader)
at IronPython.Runtime.Importer.ImportTopAbsolute(CodeContext context, String name)
at IronPython.Runtime.Importer.ImportModule(CodeContext context, Object globals, String modName, Boolean bottom, Int32 level)
at IronPython.Modules.Builtin.import(CodeContext context, String name, Object globals, Object locals, Object fromlist, Int32 level)
at Microsoft.Scripting.Interpreter.FuncCallInstruction7.Run(InterpretedFrame frame) at Microsoft.Scripting.Interpreter.Interpreter.Run(InterpretedFrame frame) at Microsoft.Scripting.Interpreter.LightLambda.Run7[T0,T1,T2,T3,T4,T5,T6,TRet](T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6) at IronPython.Runtime.Operations.PythonOps.ImportBottom(CodeContext context, String fullName, Int32 level) at Microsoft.Scripting.Interpreter.FuncCallInstruction4.Run(InterpretedFrame frame)
at Microsoft.Scripting.Interpreter.Interpreter.HandleException(InterpretedFrame frame, Exception exception)
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 IronPython.Compiler.RuntimeScriptCode.InvokeTarget(Scope scope)
at Microsoft.Scripting.SourceUnit.Execute(Scope scope)
at DSIronPython.IronPythonEvaluator.EvaluateIronPythonScript(String code, IList bindingNames, IList bindingValues)

OK,

Can you check if this file exists at this location? C:\Program Files\Dynamo\Dynamo Core\1.0\ProtoGeometry.dll

Yes, the file does exist.

If I comment out the two following pieces of cod e from bumblebee.py, my little sample script executes succesfully:

clr.AddReference(‘ProtoGeometry’)
import Autodesk.DesignScript as ds.

I assume I would need those for more advanced uses of BB though.

Ok, further findings:

If I change
clr.AddReference(‘ProtoGeometry’)
to
clr.AddReferenceToFile(‘ProtoGeometry.dll’)

my script also executes succesfully. I don’t fully understand the difference between the two, but hopefully it means something to you :slight_smile:

4 Likes

I am afraid you will need that for anything that has to do with Color. I think I could rewrite this portion of Bumblebee to make it independent of Design Script library, but that will take a little more time than I have at the moment.

Your second finding is good. For me there is no difference whether I reference a module name or the actual file that contains the module. They both accomplish the same result - that is give me access to methods contained in that file. I will incorporate that change for next release of Bumblebee. Thanks for troubleshooting with me!

Konrad

Great! Thanks for your time and help. I have reverted back to the original BB script but made the change I mentioned in my last message. So all seems good for now.

Thanks again!