//If any ON_BinaryArchive::Write*() functions return false than you should //immediately return false otherwise return true if all data was written //successfully. Returning false will cause Rhino to stop writing this document. protected override void WriteDocument(Rhino.RhinoDoc doc, Rhino.FileIO.BinaryArchiveWriter archive, Rhino.FileIO.FileWriteOptions options) { //This function is called because ShouldCallWriteDocument returned True. //Write your plug-in data to the document string date_string = System.DateTime.Now.ToShortDateString(); string time_string = System.DateTime.Now.ToShortTimeString(); //It is a good idea to always start with a version number //so you can modify your document read/write code in the future archive.Write3dmChunkVersion(1, 0); archive.WriteString(date_string); archive.WriteString(time_string); UI.Pach_Source_Object S_command = Pach_Source_Object.Instance; UI.Pach_Receiver_Object R_command = Pach_Receiver_Object.Instance; foreach (System.Guid ID in SourceConduit.Instance.UUID) { System.Guid N_ID = new System.Guid(ID.ToString()); archive.WriteGuid(N_ID); archive.WriteString("Source"); } foreach (System.Guid ID in ReceiverConduit.Instance.UUID) { System.Guid N_ID = new System.Guid(ID.ToString()); archive.WriteGuid(N_ID); archive.WriteString("Receiver"); } }