Varun Bhartiya
Varun Bhartiya

Reputation: 123

Rhino 3d plugin for opening a .3dm file

I am new to writing plugin for rhino 3d. I have gone through the documentation and sample code here: http://wiki.mcneel.com/developer/dotnetplugins

but unable to figure out how to open a .3dm file from plugin.

Can someone help me?

Thanks!!

Upvotes: 1

Views: 2178

Answers (2)

Steve Baer
Steve Baer

Reputation: 111

It depends a little on what you are trying to do and which version of Rhino you are running.

If you are running Rhino 4 and using the Rhino_DotNet SDK, then you need to have your command class derive from MRhinoScriptCommand and call RhinoApp().RunScript(@"-_Open C:\path_to_model.3dm")

If you are running Rhino 5 and using the RhinoCommon SDK (recommended), then you should call RunScript in a fashion that Brian suggested above. You also need to mark your command class with the the Rhino.Commands.Style attribute of ScriptRunner

ex.

using Rhino.Commands;

[CommandStyle(ScriptRunner)]
class MyCommand : Rhino.Commands.Command
{
  public override string EnglishName { get { return "MyCommand"; } }

  protected override Result RunCommand(RhinoDoc doc, RunMode mode)
  {
    RhinoApp.RunScript(@"-_Open C:\model.3dm");
  }
}

This will open the 3dm file and make it the active document.

On the other hand if you just want to read the 3dm file into memory and inspect the contents of it, I would recommend using the Rhino.FileIO.File3dm class in RhinoCommon. There is a static Read function on that class that you can use.

Upvotes: 3

Brian Gillespie
Brian Gillespie

Reputation: 3273

You can script the Open command from inside a plug-in using:

Rhino.RhinoApp.RunScript() to script the open command. For example:

Rhino.RhinoApp.RunScript(@"-_Open C:\model.3dm");

Upvotes: 2

Related Questions