protected override bool Write(Rhino.FileIO.BinaryArchiveWriter archive)
        {
            var dict = new Rhino.Collections.ArchivableDictionary(20171031, "Values");

            int i = 0;

            foreach (GeometrySegment geoSeg in GeometrySegments)
            {
                dict.Set("geoSeg" + i, i);
                dict.Set("gsBrep" + i, geoSeg.BrepGeometry);
                if (geoSeg.Material.GetType() == typeof(ConcreteMaterial))
                {
                    ConcreteMaterial material = geoSeg.Material as ConcreteMaterial;

                    dict.Set("gsMaterial" + i, "Concrete");
                    dict.Set("gsMaterialStrength" + i, material.StrenghtClass);
                }
                else if (geoSeg.Material.GetType() == typeof(SteelMaterial))
                {
                    SteelMaterial material = geoSeg.Material as SteelMaterial;
                    dict.Set("gsMaterial" + i, "Steel");
                    dict.Set("gsMaterialName" + i, material.Name);
                }

                i++;
            }

            archive.WriteDictionary(dict);

            return(true);
        }
Beispiel #2
0
            //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");
                }
            }
        protected override bool Write(Rhino.FileIO.BinaryArchiveWriter archive)
        {
            Rhino.Collections.ArchivableDictionary dict = new Rhino.Collections.ArchivableDictionary(1, "IgnorantCustomClass");
            base.WriteHotLoadData(dict);

            return(true);
        }
        protected override bool Write(Rhino.FileIO.BinaryArchiveWriter archive)
        {
            archive.Write3dmChunkVersion(1, 0);
            var dic = Serialize();

            archive.WriteDictionary(dic);
            return(!archive.WriteErrorOccured);
        }
Beispiel #5
0
 protected override bool Write(Rhino.FileIO.BinaryArchiveWriter archive)
 {
     Rhino.Collections.ArchivableDictionary dict = new Rhino.Collections.ArchivableDictionary(1, "CustomDataClass");
     base.WriteHotLoadData(dict);
     dict.Set("alpha", alpha);
     dict.Set("beta", beta);
     dict.Set("classA", JsonConvert.SerializeObject(classA, Formatting.Indented));
     dict.Set("classB", JsonConvert.SerializeObject(classB, Formatting.Indented));
     dict.Set("classC", JsonConvert.SerializeObject(classC, Formatting.Indented));
     dict.Set("classD", JsonConvert.SerializeObject(classD, Formatting.Indented));
     dict.Set("classE", JsonConvert.SerializeObject(classE, Formatting.Indented));
     archive.WriteDictionary(dict);
     return(true);
 }
Beispiel #6
0
        protected override bool Write(Rhino.FileIO.BinaryArchiveWriter archive)
        {
            // you can implement File IO however you want... but the dictionary class makes
            // issues like versioning in the 3dm file a bit easier.  If you didn't want to use
            // the dictionary for writing, your code would look something like.
            //
            //  archive.Write3dmChunkVersion(1, 0);
            //  archive.WriteInt(IntegerData);
            //  archive.WriteString(StringData);
            var dict = new Rhino.Collections.ArchivableDictionary(1, "MyCustomData");

            dict.Set("IntegerData", IntegerData);
            dict.Set("StringData", StringData);
            archive.WriteDictionary(dict);
            return(true);
        }
        protected override bool Write(Rhino.FileIO.BinaryArchiveWriter archive)
        {
            var dict = new Rhino.Collections.ArchivableDictionary(20181023, "Values");

            dict.Set("baseBrep", BaseBrep);
            dict.Set("Id", Id);
            if (OwnerBeam != null)
            {
                dict.Set("BeamId", OwnerBeam.Id);
            }
            else
            {
                dict.Set("BeamId", -1);
            }
            dict.Set("NoBaseCurves", BaseCurves.Count);
            for (int i = 0; i < BaseCurves.Count; i++)
            {
                dict.Set("BaseCurve" + i, BaseCurves[i]);
            }

            if (Material.GetType() == typeof(ConcreteMaterial))
            {
                ConcreteMaterial material = Material as ConcreteMaterial;
                dict.Set("Material", "Concrete");
                dict.Set("MaterialStrength", material.StrengthClass);
            }
            else if (Material.GetType() == typeof(SteelMaterial))
            {
                SteelMaterial material = Material as SteelMaterial;

                dict.Set("Material", "Steel");
                dict.Set("MaterialName", material.StrengthClass);
            }

            archive.WriteDictionary(dict);

            return(true);
        }
        protected override bool Write(Rhino.FileIO.BinaryArchiveWriter archive)
        {
            var dict = new Rhino.Collections.ArchivableDictionary(20171031, "Values");

            dict.Set("Point", BasePoint);
            dict.Set("OutLine", OutLine);
            dict.Set("Diameter", _diameter);


            if (Material is SteelMaterial material)
            {
                dict.Set("MaterialName", material.Name);
            }
            else
            {
                dict.Set("MaterialName", "B500B");
                RhinoApp.WriteLine("No material was assigned to reinforcement.");
            }


            archive.WriteDictionary(dict);

            return(true);
        }
 private static int InternalWriteDocument(int plugin_serial_number, int doc_id, IntPtr pBinaryArchive, IntPtr pWriteOptions)
 {
   int rc = 1; //TRUE
   PlugIn p = LookUpBySerialNumber(plugin_serial_number);
   RhinoDoc doc = RhinoDoc.FromId(doc_id);
   if (p != null && doc != null && pBinaryArchive != IntPtr.Zero && pWriteOptions != IntPtr.Zero)
   {
     Rhino.FileIO.BinaryArchiveWriter writer = new Rhino.FileIO.BinaryArchiveWriter(pBinaryArchive);
     Rhino.FileIO.FileWriteOptions wo = new Rhino.FileIO.FileWriteOptions(pWriteOptions);
     try
     {
       p.WriteDocument(doc, writer, wo);
       rc = writer.WriteErrorOccured ? 0 : 1;
     }
     catch (Exception ex)
     {
       HostUtils.ExceptionReport(ex);
       rc = 0; //FALSE
     }
     // in case someone tries to hold on to instances of these classes
     writer.ClearPointer();
     wo.Dispose();
   }
   return rc;
 }
Beispiel #10
0
 protected override void WriteDocument(RhinoDoc doc, Rhino.FileIO.BinaryArchiveWriter archive, Rhino.FileIO.FileWriteOptions options)
 {
     archive.WriteDictionary(m_dict);
 }
Beispiel #11
0
 protected override bool Write(Rhino.FileIO.BinaryArchiveWriter archive)
 {
     archive.Write3dmChunkVersion(1, 0);
     archive.WriteString(Notes);
     return(!archive.WriteErrorOccured);
 }
Beispiel #12
0
 /// <summary>Writes the content of this data to a stream archive.</summary>
 /// <param name="archive">An archive.</param>
 /// <returns>true if the data was successfully written. The default implementation always returns false.</returns>
 protected virtual bool Write(Rhino.FileIO.BinaryArchiveWriter archive)
 {
     return(false);
 }