v7.0
Edit
Exports the specified ICECompoundNode to a file.
oString = ExportICECompoundNode( [Compound], FullPath, Directory, Name, Version, [Private], [ForceEmbedded] ); |
Parameter | Type | Description |
---|---|---|
Compound | SelectionList or Selection | The compound you want to export
Default Value: If no argument is specified, the current selection is used. |
FullPath | String | If this parameter is used, the compound will be exported to that particular path and filename |
Directory | String | If FullPath is not defined, the path is built using Directory, Name and Version. The extension is provided automatically based on the Private flag. |
Name | String | Name of the compound. If not defined, it uses the current class name of the compound. If this value is different from the compound classname, it uses this value as the new compound classname. |
Version | String | Version of the compound. If undefined, it uses the current version of the compound. |
Private | Boolean | Export the compound in the XML format or as an encoded binary
version. Private compounds cannot be edited in the IceTree view and
all internal compounds are saved as ForceEmbedded.
Default Value: false |
ForceEmbedded | Boolean | If true, all internal compounds are saved inside the file. If
false, exported compounds are saved as if they were factory nodes.
Default Value: false |
/* This example demonstrates how to use the ExportICECompoundNode command to create both an XML and private (binary) version of a compound. */ NewScene(null , false); CreatePrim("Cone", "MeshSurface"); ApplyOp("ICETree", "cone", siNode, siPersistentOperation, null, siConstructionModeModeling); // Create a new ICE Compound AddICECompoundNode("Set Data", "cone.polymsh.ICETree"); SetValue("cone.polymsh.ICETree.Set_Data.Reference", "Self.PointPosition"); AddPortToICENode("cone.polymsh.ICETree.Set_Data.Value", siNodePortDataInsertionLocationAfter); SetValue("cone.polymsh.ICETree.Set_Data.Reference1", "Self.PointVelocity"); AddPortToICENode("cone.polymsh.ICETree.Set_Data.Value1", siNodePortDataInsertionLocationAfter); SetValue("cone.polymsh.ICETree.Set_Data.Reference2", "Self.Color"); CreateICECompoundNode("cone.polymsh.ICETree.Set_Data", "PointValues"); // Export a public version of the compound (using XML format) var userCompounds = XSIUtils.BuildPath( Application.InstallationPath(siUserPath), "Data", "Compounds" ); var exportPath = XSIUtils.BuildPath(userCompounds, "PointValues.xsicompound"); XSIUtils.EnsureFolderExists(exportPath, true); var pubCmpd = ExportICECompoundNode("cone.polymsh.ICETree.PointValues", exportPath); Application.LogMessage(pubCmpd); SetValue("cone.polymsh.ICETree.PointValues.Set_Data.Value_x", 5); SetValue("cone.polymsh.ICETree.PointValues.Set_Data.Value_y", 5); SetValue("cone.polymsh.ICETree.PointValues.Set_Data.Value_z", 5); // Export a private version Application.LogMessage( ExportICECompoundNode("cone.polymsh.ICETree.PointValues", "", userCompounds, "MyPrivatePointValue", "1.1", true) ); // INFO : <user_path>\Data\Compounds\PointValues.xsicompound // INFO : <user_path>\Data\Compounds\MyPrivatePointValue.1.1.xsicompoundp |