When providing support for new file format, is it required that you do that with C++ or you also can do it with .net?
Could you explan these classes as there’s no description and the rest is meaningless for me. Before putting something in the Python editor
Disclaimer: I don’t know if this works for Python, untested code, directly typed into discourse reply area, but…
FileExportPlugIn the process is roughly:
- derive class from
protected FileTypeList AddFileTypes(FileWriteOptions fwo). This pretty much means instantiating a
FileTypeList, then adding an entry for each extension you want, something like
def AddFileTypes(self, fwo): ftl = FileTypeList() ftl.AddFileType("MY TYPE (*.mytyp)", "mytyp") return ftl
protected WriteFileResult WriteFile(string name, int index, RhinoDoc doc, FileWriteOptions fwo)
def WriteFile(self, name, idx, doc, fwo): # idx is the index of extensions in order as added in AddFileTypes # open a file with `name` # iterate over the doc data and # convert into the data format you want # then write to that file. Finally return the proper # FileWriteResult member return FileWriteResult.Success
edit: it would be interesting to hear if this works with a Python plug-in. You’ll have to ensure you can compile a proper assembly with all assembly attributes and all. Essentially create a plug-in as you normally would, but with
FileExportPlugIn as the base class instead of
Thank you Nathan.
This is a great description. I’ll try to do something.
Yes, I would really like at first to create a simple “Hello World!” plugin to get all attributes in place and test if it works with ironpython compiled dll.
My attempts so far have failed.