Пример #1
0
        public void DeserializeObjects()
        {
            Object objectToDeserialize = null;

            try
            {
                while (stream.CanSeek)
                {
                    objectToDeserialize = (Object)bformatter.Deserialize(stream);
                    if (objectToDeserialize is SerialNode)
                    {
                        SerialNode serialNode = (SerialNode)objectToDeserialize;
                        Node       node       = new Node(serialNode);
                    }
                    else if (objectToDeserialize is SerialRelation)
                    {
                        SerialRelation serialRelation = (SerialRelation)objectToDeserialize;
                        Relation       rel            = new Relation(serialRelation);
                    }
                }
            }
            catch (SerializationException ex)
            {
                Console.WriteLine(ex.Message);
                Console.WriteLine("EndoOfFile");
            }
        }
Пример #2
0
        public void saveConfigTree(ModelDoc2 model, LinkNode BaseNode, bool warnUser)
        {
            Object[]  objects = model.FeatureManager.GetFeatures(true);
            string    oldData = "";
            Parameter param;

            foreach (Object obj in objects)
            {
                Feature feat = (Feature)obj;
                string  t    = feat.GetTypeName2();
                if (feat.GetTypeName2() == "Attribute")
                {
                    SolidWorks.Interop.sldworks.Attribute att = (SolidWorks.Interop.sldworks.Attribute)feat.GetSpecificFeature2();
                    if (att.GetName() == "URDF Export Configuration")
                    {
                        param   = att.GetParameter("data");
                        oldData = param.GetStringValue();
                    }
                }
            }
            //moveComponentsToFolder((LinkNode)tree.Nodes[0]);
            retrieveSWComponentPIDs(BaseNode);
            SerialNode    sNode = new SerialNode(BaseNode);
            StringWriter  stringWriter;
            XmlSerializer serializer = new XmlSerializer(typeof(SerialNode));

            stringWriter = new StringWriter();
            serializer.Serialize(stringWriter, sNode);
            stringWriter.Flush();
            stringWriter.Close();

            string newData = stringWriter.ToString();

            if (oldData != newData)
            {
                if (!warnUser ||
                    (warnUser &&
                     MessageBox.Show("The configuration has changed, would you like to save?", "Save Export Configuration",
                                     MessageBoxButtons.YesNo) == DialogResult.Yes))
                {
                    int ConfigurationOptions = (int)swInConfigurationOpts_e.swAllConfiguration;
                    SolidWorks.Interop.sldworks.Attribute saveExporterAttribute = createSWSaveAttribute("URDF Export Configuration");
                    param = saveExporterAttribute.GetParameter("data");
                    param.SetStringValue2(stringWriter.ToString(), ConfigurationOptions, "");
                    param = saveExporterAttribute.GetParameter("name");
                    param.SetStringValue2("config1", ConfigurationOptions, "");
                    param = saveExporterAttribute.GetParameter("date");
                    param.SetStringValue2(DateTime.Now.ToString(), ConfigurationOptions, "");
                    param = saveExporterAttribute.GetParameter("exporterVersion");
                    param.SetStringValue2("1.1", ConfigurationOptions, "");
                }
            }
        }
Пример #3
0
        static public List <SerialNode> GetSerialNodeList(string XmlPath = "素材合成.exe.config")
        {
            //将XML文件加载进来
            XDocument document = XDocument.Load(XmlPath);

            List <SerialNode> serialNodes = new List <SerialNode>();
            //获取到XML的根元素进行操作
            //  = document.Elements("Flow");
            var firstNodes = document.Nodes();

            foreach (var secondNode in firstNodes)
            {
                foreach (var thirdNode in secondNode.Document.Elements())
                {
                    if (thirdNode.Name == "configuration")
                    {
                        foreach (var fourNode in thirdNode.Elements())
                        {
                            if (fourNode.Name == "SerialNode")
                            {
                                foreach (var fiveNode in fourNode.Elements())
                                {
                                    SerialNode flow = new SerialNode();
                                    foreach (var item in fiveNode.Attributes())
                                    {
                                        if (item.Name == "command")
                                        {
                                            flow.Command = item.Value;
                                        }
                                        if (item.Name == "key")
                                        {
                                            flow.key = item.Value;
                                        }
                                        if (item.Name == "content")
                                        {
                                            flow.Content = item.Value;
                                        }
                                    }
                                    serialNodes.Add(flow);
                                }
                            }
                        }
                    }
                }
            }
            //获取根元素下的所有子元素

            return(serialNodes);
        }
Пример #4
0
        /// <summary>
        /// Load from the deprecated XML serialized scheme
        /// </summary>
        /// <param name="data">Data string to deserialize using XMLSerializer</param>
        /// <returns>TreeView LinkNode</returns>
        private static LinkNode LoadConfigFromStringXML(string data)
        {
            LinkNode baseNode = null;

            if (!string.IsNullOrWhiteSpace(data))
            {
                XmlSerializer serializer = new XmlSerializer(typeof(SerialNode));
                XmlTextReader textReader = new XmlTextReader(new StringReader(data));
                SerialNode    sNode      = (SerialNode)serializer.Deserialize(textReader);
                textReader.Close();

                baseNode = sNode.BuildLinkNodeFromSerialNode();
            }
            return(baseNode);
        }
Пример #5
0
        /// <summary>
        /// Load from the deprecated XML serialized scheme
        /// </summary>
        /// <param name="data">Data string to deserialize using XMLSerializer</param>
        /// <returns>TreeView LinkNode</returns>
        private static LinkNode LoadConfigFromStringXML(string data)
        {
            LinkNode baseNode = null;

            if (!string.IsNullOrWhiteSpace(data))
            {
                XmlSerializer serializer = new XmlSerializer(typeof(SerialNode));
                XmlTextReader textReader = new XmlTextReader(new StringReader(data));
                // Not reading external files, so this can set to prohibit. Resolves CA3075
                textReader.DtdProcessing = DtdProcessing.Prohibit;
                SerialNode sNode = (SerialNode)serializer.Deserialize(textReader);
                textReader.Close();

                baseNode = sNode.BuildLinkNodeFromSerialNode();
            }
            return(baseNode);
        }
Пример #6
0
        public void Serialize(string filename)
        {
            SerializeData data = new SerializeData(filename + ".gombi");

            Node[] nodes = MDiagram.Nodes;
            foreach (Node node in nodes)
            {
                SerialNode serial = node.Serialize();
                data.SerializeObject(serial);
            }
            Relation[] relations = MDiagram.Relations;
            foreach (Relation rel in relations)
            {
                SerialRelation serial = rel.Serialize();
                data.SerializeObject(serial);
            }
            data.CloseStream();
        }
Пример #7
0
        // Calls the Exporter loadConfigTree method and then populates the tree with the loaded config
        public void loadConfigTree()
        {
            Object[] objects = ActiveSWModel.FeatureManager.GetFeatures(true);
            string   data    = "";

            foreach (Object obj in objects)
            {
                Feature feat = (Feature)obj;
                string  t    = feat.GetTypeName2();
                if (feat.GetTypeName2() == "Attribute")
                {
                    SolidWorks.Interop.sldworks.Attribute att = (SolidWorks.Interop.sldworks.Attribute)feat.GetSpecificFeature2();
                    if (att.GetName() == "URDF Export Configuration")
                    {
                        Parameter param = att.GetParameter("data");
                        data = param.GetStringValue();
                    }
                }
            }
            LinkNode basenode = null;

            if (!data.Equals(""))
            {
                XmlSerializer serializer = new XmlSerializer(typeof(SerialNode));
                XmlTextReader textReader = new XmlTextReader(new StringReader(data));
                SerialNode    node       = (SerialNode)serializer.Deserialize(textReader);
                basenode = new LinkNode(node);
                Common.loadSWComponents(ActiveSWModel, basenode);
                textReader.Close();
            }

            if (basenode == null)
            {
                basenode = createEmptyNode(null);
            }
            addDocMenu(basenode);

            tree.Nodes.Clear();
            tree.Nodes.Add(basenode);
            tree.ExpandAll();
            tree.SelectedNode = tree.Nodes[0];
        }