Export plugin

Export plugin

Anonymous
Not applicable
561 Views
1 Reply
Message 1 of 2

Export plugin

Anonymous
Not applicable

Hi guys, I want to build an exporter plugin for my engine. I'm new in 3ds max sdk development.

I just copied the basic parts of the code from the IGameExporter sample, no problems building it, and in 3ds max is loaded, showing me the description, but, when I try to export something, my extension doesn't appear in the list.

I feel stupid, because I think is a simple problem, I searched in this forum without find a solution, and on the internet, actually I don't know what to search.

Maybe you have the solution.

0 Likes
562 Views
1 Reply
Reply (1)
Message 2 of 2

Anonymous
Not applicable

Hello,

 

I guess you are inheriting from SceneExport already, as you can see descriptions etc. There should also be a class that inherits from ClassDesc2 which has some information that needs to be populated, first off is the class id which has to be unique, generate one and define it somewhere.

 

(Assuming ABC as extension)

#define ABC_CLASS_ID Class_ID(0x00000000, 0x00000000)

Then in the class description, modify the class id with your own, also modify category, class- and internal name.

 

class Max_ABC_Plugin_Class_Desc : public ClassDesc2
{
public:
virtual int IsPublic() { return 1; }
virtual void *Create(BOOL loading = FALSE) { return new Max_ABC_Plugin(); } // the class inheriting from SceneExport
virtual SClass_ID SuperClassID() { return SCENE_EXPORT_CLASS_ID; }
virtual Class_ID ClassID() { return ABC_CLASS_ID; }
virtual const TCHAR* Category() { return _T("ABC Exporter"); }
virtual HINSTANCE HInstance() { return hInstance; } 

const TCHAR* ClassName() { return _T("ABC Exporter"); }
const TCHAR* InternalName() { return _T("ABC Exporter"); }
};

 

If this information is populated correctly it should show up in the list.

 

Best,
Dalton Sleeper

0 Likes