Rhino7 overwrite CRhinoPlugIn::ReadDocument() running problem

Hello,
I’m the engineer of Moldex3D,here is the problem I want to fix in Rhino 7.
ReadDocument() below the picture is the function which overwrite CRhinoPlugIn::ReadDocument()


When I read the 3dm file which is created by the previous version(Rhino in 2004),the override ReadDocument() was no response.
I wonder how to fix this problem,thanks.

Hi @nick_chang,

To save document user data your plugin must override three CRhinoPlugIn base class functions:

CRhinoPlugIn::CallWriteDocument
CRhinoPlugIn::WriteDocument
CRhinoPlugIn::ReadDocument

When Rhino writes a .3dm file, it goes through all the plugins that are currently loaded. First Rhino calls CallWriteDocument() to see if the plugin wants to save document user data. If CallWriteDocument() returns true , Rhino saves information that identifies the plugin and then calls WriteDocument() when it is time for the plugin to save its document user data.

When Rhino reads a .3dm file and it encounters document user data, it uses the plugin identification information (e.g. GUID) to load the plugin and then calls the plugin’s ReadDocument() to read the plugin’s document user data.

Given this, does the plug-in you are working have the same plug-in ID as the one that originally wrote the document user text back in 2004?

– Dale

Hi @dale ,

I’ve already done these three base class functions as following:



But it doesn’t call the override function ReadDocument() when I run the program.

In addition, I check the plug-in ID which I’m working, it seems like it has the same plug-in ID as before.

So I really have no idea about this problem.

Hi @nick_chang,

Can you send me a file that contains your old document data? Feel free to send a pm if needed.

– Dale

Hi @dale ,

Here is the test model :

Test_model.rar (13.7 MB)

Hope it’s useful for solving this problem,thanks.

Hi @nick_chang,

Thanks for the models. I’ve logged the issue so we can review it.

https://mcneel.myjetbrains.com/youtrack/issue/RH-65148

– Dale

Hi @dale ,

Thank you for helping us to solve this problem, I really appreciate that.
About this problem, cloud you let me know what versions of Rhino are not supported by the current version (Rhino 7)?

By the way, I wonder what forums is more convenient for asking problem, this one or the other one you pasted?

Hi Nick -

This forum is for asking questions and helping other users. The YouTrack site is our bug-tracking tool. Bugs and feature requests are mostly open to the general public and you can check the status of a specific issue on that site. McNeel developers and testers will communicate with each other as part of the tracking process but user discussions about issues should be done here on Discourse or by private eMail.

I’m not 100% sure what you are asking for here. Rhino 7 can open 3dm files from Rhino 2 and up. As Dale Lear notes in the issue, document user data from Rhino 3 files is not read. Possible special-casing reading document user data from plug-in 3FD68AC9-9A01-43c4-A3E7-CE4F83BA9EA in Rhino 3 files is something that will have to be looked at for Rhino 8.
-wim