public LinkNode(SerialNode node) { linkName = node.linkName; jointName = node.jointName; axisName = node.axisName; coordsysName = node.coordsysName; ComponentPIDs = node.componentPIDs; jointType = node.jointType; isBaseNode = node.isBaseNode; isIncomplete = node.isIncomplete; Name = linkName; Text = linkName; foreach (SerialNode child in node.Nodes) { Nodes.Add(new LinkNode(child)); } }
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, ""); } } }