FileExportPlugIn
PlugInRhino plug-in that exports data from Rhino to other file formats; can support more than one format.
Constructors
FileExportPlugIn
#protected FileExportPlugIn()
Properties
Description
Returns the description of the plug-in, as found in the plug-in's assembly attributes.
LicenseId
LoadAtStartup
obsoleteUse LoadTime virtual property instead
LoadTime
Plug-ins are typically loaded on demand when they are first needed. You can change this behavior to load the plug-in at during different stages in time by overriding this property.
LocalPlugInName
Optionally override this to provide a localized plug-in name
Name
Returns the name of the plug-in, as found in the plug-in's assembly attributes.
SettingsDirectory
Get the plug-in's settings directory. This is the directory where the plug-in's persistent settings files are saved. This directory will be located in the user's profile folder. Note, this does not verify the directory exists.
SettingsDirectoryAllUsers
Get the plug-in's "all users" settings directory. This directory will be located in the system's program data folder. Note, this does not verify the directory exists.
Version
Returns the version of the plug-in, as found in the plug-in's assembly attributes.
WindowPositionSettings
Methods
AddFileTypes
#Parameters:
| options (FileWriteOptions) |
AskUserForLicense
protected bool AskUserForLicense(LicenseBuildType productBuildType, bool standAlone, string textMask, object parentWindow, ValidateProductKeyDelegate validateProductKeyDelegate, OnLeaseChangedDelegate onLeaseChangedDelegate)
Parameters:
| productBuildType (LicenseBuildType) | |
| standAlone (bool) | |
| textMask (string) | |
| parentWindow (object) | |
| validateProductKeyDelegate (ValidateProductKeyDelegate) | |
| onLeaseChangedDelegate (OnLeaseChangedDelegate) |
CommandSettings
Parameters:
| name (string) |
CreateCommands
protected virtual void CreateCommands()
Called right after plug-in is created and is responsible for creating all of the commands in a given plug-in. The base class implementation Constructs an instance of every publicly exported command class in your plug-in's assembly.
DisplayHelp
Called by Rhino if AddToHelpMenu is true and menu item associated with this plug-in is selected.
Parameters:
| windowHandle (nint) | Native Window handle of the active Rhino interface. |
Returns: true = Help displayed successfully, false = Error displaying help
DisplayOptionsDialog
#DocumentPropertiesDialogPages
Override this function if you want to extend the document properties sections of the options dialog. This function is called whenever the user brings up the Options dialog.
Parameters:
| doc (RhinoDoc) | document that the pages are set up for |
| pages (List<OptionsDialogPage>) | list of pages to add your custom options dialog page(s) to. |
GetLicense
protected bool GetLicense(LicenseBuildType productBuildType, ValidateProductKeyDelegate validateProductKeyDelegate, OnLeaseChangedDelegate leaseChangedDelegate)
Verifies that there is a valid product license for your plug-in, using the Rhino licensing system. If the plug-in is installed as a standalone node, the locally installed license will be validated. If the plug-in is installed as a network node, a loaner license will be requested by the system's assigned Zoo server. If the Zoo server finds and returns a license, then this license will be validated. If no license is found, then the user will be prompted to provide a license key, which will be validated.
Parameters:
| productBuildType (LicenseBuildType) | The product build contentType required by your plug-in. |
| validateProductKeyDelegate (ValidateProductKeyDelegate) | Since the Rhino licensing system knows nothing about your product license, you will need to validate the product license provided by the Rhino licensing system. This is done by supplying a callback function, or delegate, that can be called to perform the validation. |
| leaseChangedDelegate (OnLeaseChangedDelegate) | Called by the ZooClient when the cloud zoo lease is changed. |
Returns: true if a valid license was found. false otherwise.
GetLicense
protected bool GetLicense(LicenseCapabilities licenseCapabilities, string textMask, ValidateProductKeyDelegate validateProductKeyDelegate, OnLeaseChangedDelegate leaseChangedDelegate)
Verifies that there is a valid product license for your plug-in, using the Rhino licensing system. If the plug-in is installed as a standalone node, the locally installed license will be validated. If the plug-in is installed as a network node, a loaner license will be requested by the system's assigned Zoo server. If the Zoo server finds and returns a license, then this license will be validated. If no license is found, then the user will be prompted to provide a license key, which will be validated.
Parameters:
| licenseCapabilities (LicenseCapabilities) | In the event that a license was not found, or if the user wants to change the way your plug-in is licenses, then provide what capabilities your license has by using this enumeration flag. |
| textMask (string) | In the event that the user needs to be asked for a license, then you can provide a text mask, which helps the user to distinguish between proper and improper user input of your license code. Note, if you do not want to use a text mask, then pass in a null value for this parameter. For more information on text masks, search MSDN for the System.Windows.Forms.MaskedTextBox class. |
| validateProductKeyDelegate (ValidateProductKeyDelegate) | Since the Rhino licensing system knows nothing about your product license, you will need to validate the product license provided by the Rhino licensing system. This is done by supplying a callback function, or delegate, that can be called to perform the validation. |
| leaseChangedDelegate (OnLeaseChangedDelegate) | Called by the ZooClient when the cloud zoo lease is changed. |
Returns: true if a valid license was found. false otherwise.
GetLicenseOwner
Get the customer name and organization used when entering the product license.
GetPlugInObject
Parameters:
| size (Size) | The desired size in pixels. |
Returns: The icon if successful, null otherwise.
IsTextureSupported
Returns true if this renderer can render the texture natively without needing it to be baked into a bitmap, false otherwise. By default, returns false for all textures.
Parameters:
| texture (RenderTexture) |
ObjectPropertiesPages
obsoleteUse ObjectPropertiesPages(ObjectPropertiesPageCollection collection) instead
Override this function is you want to extend the object properties dialog
Parameters:
| pages (List<ObjectPropertiesPage>) |
ObjectPropertiesPages
Override this function is you want to extend the object properties dialog. This method will be called each time a new document is created for each instance of a object properties panel. On Windows there will be a single panel per document but on Mac there may be many properties panel per document.
Parameters:
| collection (ObjectPropertiesPageCollection) | Add custom pages by calling collection.Add |
OnLoad
Is called when the plug-in is being loaded.
Parameters:
| errorMessage (ref string) | If a load error is returned and this string is set. This string is the error message that will be reported back to the user. |
Returns: An appropriate load return code.
The default implementation returns LoadReturnCode.Success.
OnShutdown
protected virtual void OnShutdown()
OptionsDialogPages
Override this function if you want to extend the options dialog. This function is called whenever the user brings up the Options dialog.
Parameters:
| pages (List<OptionsDialogPage>) | list of pages to add your custom options dialog page(s) to. |
ReadDocument
protected virtual void ReadDocument(RhinoDoc doc, BinaryArchiveReader archive, FileReadOptions options)
Called whenever a Rhino document is being loaded and plug-in user data was encountered written by a plug-in with this plug-in's GUID.
Parameters:
| doc (RhinoDoc) | A Rhino document that is being loaded. |
| archive (BinaryArchiveReader) | OpenNURBS file archive object Rhino is using to read this file. Use BinaryArchiveReader.Read*() functions to read plug-in data. If any BinaryArchive.Read*() functions throws an exception then archive.ReadErrorOccurve will be true and you should immediately return. |
| options (FileReadOptions) | Describes what is being written. |
Parameters:
| command (Command) |
ResetMessageBoxes
protected virtual void ResetMessageBoxes()
ReturnLicense
Returns, or releases, a product license that was obtained from the Rhino licensing system. Note, most plug-ins do not need to call this as the Rhino licensing system will return all licenses when Rhino shuts down.
SaveSettings
public void SaveSettings()
Write settings to disk which will raise a PlugIn.SettingsSaved event.
SetLicenseCapabilities
protected void SetLicenseCapabilities(string textMask, LicenseCapabilities capabilities, Guid licenseId)
Parameters:
| textMask (string) | |
| capabilities (LicenseCapabilities) | |
| licenseId (Guid) |
ShouldCallWriteDocument
Called whenever a Rhino is about to save a .3dm file. If you want to save plug-in document data when a model is saved in a version 5 .3dm file, then you must override this function to return true and you must override WriteDocument().
Parameters:
| options (FileWriteOptions) | The file write options, such as "include preview image" and "include render meshes". |
Returns: true if the plug-in wants to save document user data in the version 5 .3dm file. The default returns false.
WriteDocument
protected virtual void WriteDocument(RhinoDoc doc, BinaryArchiveWriter archive, FileWriteOptions options)
Called when Rhino is saving a .3dm file to allow the plug-in to save document user data.
Parameters:
| doc (RhinoDoc) | The Rhino document instance that is being saved. |
| archive (BinaryArchiveWriter) | OpenNURBS file archive object Rhino is using to write the file. Use BinaryArchiveWriter.Write*() functions to write plug-in data. OR use the ArchivableDictionary If any BinaryArchiveWriter.Write*() functions throw an exception, then archive.WriteErrorOccured will be true and you should immediately return. Setting archive.WriteErrorOccured to true will cause Rhino to stop saving the file. |
| options (FileWriteOptions) | The file write options, such as "include preview image" and "include render meshes". |
WriteFile
#protected abstract WriteFileResult WriteFile(string filename, int index, RhinoDoc doc, FileWriteOptions options)
Parameters:
| filename (string) | |
| index (int) | |
| doc (RhinoDoc) | |
| options (FileWriteOptions) |
Events
SettingsSaved
This event is raised when an instance of Rhino has modified the external settings file associated with this plug-in's PlugIn.Settings property.