//初始化配置对象 private void Init(string excelConfigFullName) { int t = 1; bool r = true; xml = new MyXML(excelConfigFullName); endFlag = xml.GetSingleNodeAttribute("Config", "EndFlag") != "" ? xml.GetSingleNodeAttribute("Config", "EndFlag") : "RowBlank";//默认判断是否读取结束的标志设为“RowBlank”,也就是空行。 r = int.TryParse(xml.GetSingleNodeAttribute("Config", "HeaderIndex"), out t); if (r) { headerIndex = Convert.ToByte(xml.GetSingleNodeAttribute("Config", "HeaderIndex")); } r = int.TryParse(xml.GetSingleNodeAttribute("Config", "DataIndex"), out t); if (r) { dataIndex = Convert.ToByte(xml.GetSingleNodeAttribute("Config", "DataIndex")); } if (MyFilleBase.FileBeing(excelConfigFullName))//根据完整路径判断文件是否存在 { AddEnities(excelConfigFullName); } else { throw new Exception("相应配置文件未找到,请检查相应文件是否存在!"); } }
public ClusterData(MyXML xml) { name = xml.elem.Name.ToString(); //xml.getDouble("D", ref D, tol); xml.getDouble("x", ref x, tol); xml.getDouble("y", ref y, tol); xml.getDouble("l", ref l, tol); if (startx < x) { startx = x; } if (starty < y) { starty = y; } //xml.getDouble("dx", ref dx, tol); xml.getDouble("dy", ref dy, tol); }
public Fastener(Document doc) { this.doc = doc as AssemblyDocument; if (this.doc == null) { return; } acd = I.getACD(doc); if (Macros.StandardAddInServer.xml == null) { xml = new MyXML("Fast.xml"); } else { xml = Macros.StandardAddInServer.xml; } cont = new MyXML("ContentCenter.xml"); find(acd.Occurrences); //faces = faces.Distinct(); int count = faces.Count; //addSlot(); foreach (var item in slots) { findSlots(item); } for (int i = 0; i < count; i++) { i++; List <EdgeProxy> lst = findEdges(); if (lst != null) { fastenerSource ed = new fastenerSource(lst); if (ed != null) { edges.Add(ed); } } if (faces.Count() == 0) { break; } /*lst = */ } cleanEdges(); }
public void txt() { string fn = I.aDoc().FullFileName; fn = fn.Replace(".ipt", "(Кластер).txt"); using (System.IO.StreamWriter sw = System.IO.File.CreateText(fn)) { int cx = (countX * ClusterData.countX) * data.Count / 2; int cy = (countY * ClusterData.countY) * data.Count / 2; if (data.Count == 2) { cy = countY * ClusterData.countY; } double a = 0; xml.getDouble("area", ref a, 1); sw.Write("Кластер: " + MyXML.getAtt(xml.elem, "val") + "\n"); sw.Write("Количество ударов: " + cx * cy / (ClusterData.countX * ClusterData.countY) + "\n"); sw.Write("Количество отверстий по горизонтали: " + cx + " шт.\n"); sw.Write("Количество отверстий по вертикали: " + cy + " шт.\n"); sw.Write("Общее количество отверстий: " + cx * cy + " шт.\n"); sw.Write("Площадь: " + (cx * cy * a).ToString("##.####") + "мм2."); } }
private void find(fastenerSource fast) { Occ.rev = 1; fast.create(); if (fast.filter()) { return; } if (fast.l.Length < 3) { return; } xml.setRoot(); cont.setRoot(); string nameAtt = "hole"; if (fast.tf == typeFastener.slot) { nameAtt = "slot"; } if (!xml.set(xml.getEl(new Dictionary <string, string>() { { "d1", u.convToString(fast.d.First(), 3, "##.##") }, { "d2", u.convToString(fast.d.Last(), 3, "##.##") }, { "name", nameAtt } }, false))) { return; } Occ old = default(Occ); bool first = true; bool change = false; fastEdge ed = fast.fe; if (MyXML.getAtt(xml.elem, "rev") != "") { ed = fast.le; } if (contentCenter.check(ed.e as EdgeProxy)) { return; } foreach (var item in xml.elem.Elements()) { string v = MyXML.getAtt(item, "val"); string strL = MyXML.getAtt(item, "l"); string r = MyXML.getAtt(item, "rev"); if (v == "") { continue; } if (v == "rev") { Occ.rev = -1; first = true; change = true; continue; } xml.setRoot(); var spl = v.Split(':'); xml.set("abbr", spl[0]); cont.set("name", MyXML.getAtt(xml.elem, "name")); int n = int.Parse(spl[1]) - 1; cont.set(n); string name = cont.getAtt("Id"); contentCenter cc = new contentCenter(doc as Document); Occ co = cc.place(name); string fname = xml.getAtt("folder"); addToFolder(co, fname); xml.setRoot(); cont.setRoot(); if ((spl[0] == "ГЗ" || spl[0] == "ГЗП") && !first) { //co.dist = ls + lm; if (strL == "" || !u.eq(strL, fast.l[1] * 10)) { co.remove(); continue; } if (fast.fe.Equals(fast.e.First())) { Array.Reverse(fast.l); } double d = -(fast.l[0] + fast.l[1]); bool axis = false; if (r != "") { axis = !axis; d = fast.l.Sum(); } if (nameAtt == "hole") { cc.add(ed.e, co, d, !axis); } else if (nameAtt == "slot") { fastenerSlot fs = fast as fastenerSlot; FaceProxy fac = u.get <FaceProxy>(ed.e.Faces, fi => fi.SurfaceType == SurfaceTypeEnum.kPlaneSurface); if (fac != null) { cc.add(fac, co, d, axis); } if (fs.fp != null) { cc.add(fs.fp, co); } } continue; } double dist = 0; if (change) { dist = co.dist; } if (first) { if (change) { dist = (fast.l.Sum()) * Occ.rev + co.dist; } switch (fast.tf) { case typeFastener.hole: cc.add(ed.e, co, dist); break; case typeFastener.slot: fastenerSlot fs = fast as fastenerSlot; FaceProxy fac = u.get <FaceProxy>(ed.e.Faces, fi => fi.SurfaceType == SurfaceTypeEnum.kPlaneSurface); if (fac != null) { cc.add(fac, co, dist); } if (fs.fp != null) { cc.add(fs.fp, co); } break; default: break; } first = false; Occ.rev = -Occ.rev; } else { cc.add(old, co, dist); } old = co; } }
static void UpdateXML() { MyXML.UpdateXML(Application.dataPath + "/XML/CompletePostion.xml", Selection.activeGameObject.GetComponent <Transform>()); }
static void CreateInilazabelXML() { MyXML.CreateXML(Application.dataPath + "/XML/Inilazable.xml", Selection.activeGameObject.GetComponentsInChildren <Transform>()); }
static void CreateCompletePositionXML() { MyXML.CreateXML(Application.dataPath + "/XML/CompletePostion.xml", Selection.activeGameObject.GetComponentsInChildren <Transform>()); }
public static void Main(string[] args) { string varFileXML = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + "\\process.xml"; string varKey = @" Доступнi ключi: /XML:process.xml /Server:localhost /DB:dw_olap /Cube: /Step:0 /PARALLEL:8 /Metod:0 /XMLA: 1 - процесити через XMLA, 0 - не використовувати XMLA для не INDEX процесінга /Metod:0 - ігнорувати помилки ключі з конвертацією, 1 - пробувувати без ігнорування /DAY: - за скільки днів перепроцешувати куби за замовчуванням 20 /STATE (:2) - Показує стани кубів. :2-Розширена інформація /DATESTART:DD.MM.YYYY - З Якої дати процесити партіциї. /PROCESSDIMENSION: - (NONE,UPDATE,FULL) По замовчуванню UPDATE /PROCESSCUBE: - (NONE,DATA,FULL) По замовчуванню FULL /ARX:01.01.2012 - Процесити в режимі архів. (З якої дати розширювати партиції) дата не обов'язковий параметр. /DAYPROCESS:20 - за скільки днів перепроцешувати партіциї (Переважає значення з налаштувань Виміру) "; //Перевіряємо чи є в параметрах XML файл for (int i = 0; i < args.Length; i++) { if (args[i].ToUpper().StartsWith("/XML:")) { varFileXML = args[i].Substring(5); } else if (args[i].ToUpper().StartsWith("/STEP:")) { GlobalVar.varStep = Convert.ToInt32(args[i].Substring(6)); } } //Перевіряємо наявність XML файла if (File.Exists(varFileXML)) { MyXML myXML = new MyXML(varFileXML); GlobalVar.varServer = (myXML.GetVar("Server") == null? GlobalVar.varServer : myXML.GetVar("Server")); GlobalVar.varDB = (myXML.GetVar("Database") == null? GlobalVar.varDB : myXML.GetVar("Database")); //GlobalVar.varStep = ( myXML.GetVar("DefaultStep") == null? GlobalVar.varStep : Convert.ToInt32( myXML.GetVar("DefaultStep")) ); GlobalVar.varMaxParallel = (myXML.GetAttribute("maxParallel", "XMLA") == null ? GlobalVar.varMaxParallel : Convert.ToInt32(myXML.GetAttribute("maxParallel", "XMLA"))); GlobalVar.varConectSQL = myXML.GetVar("ConectSQL"); GlobalVar.varKeyErrorLogFile = (myXML.GetVar("KeyErrorLogPath") == null ? GlobalVar.varKeyErrorLogFile :myXML.GetVar("KeyErrorLogPath") + "\\Error_" + DateTime.Now.ToString("yyyyMMdd") + ".log"); if (myXML.GetVar("Step" + GlobalVar.varStep.ToString().Trim(), "ProcessDimension") != null) { MyXMLA.SetProcessTypeDimension(myXML.GetVar("Step" + GlobalVar.varStep.ToString().Trim(), "ProcessDimension")); } GlobalVar.varPrepareSQL = myXML.GetVar("Step" + GlobalVar.varStep.ToString().Trim(), "PrepareSQL"); GlobalVar.varWaitSQL = myXML.GetVar("Step" + GlobalVar.varStep.ToString().Trim(), "WaitSQL"); GlobalVar.varTimeStart = (myXML.GetAttribute("Start", "Step" + GlobalVar.varStep.ToString().Trim(), "Time") == null ? GlobalVar.varTimeStart : Convert.ToInt32(myXML.GetAttribute("Start", "Step" + GlobalVar.varStep.ToString().Trim(), "Time"))); GlobalVar.varTimeEnd = (myXML.GetAttribute("End", "Step" + GlobalVar.varStep.ToString().Trim(), "Time") == null ? GlobalVar.varTimeEnd : Convert.ToInt32(myXML.GetAttribute("End", "Step" + GlobalVar.varStep.ToString().Trim(), "Time"))); GlobalVar.varRestartServicesOlap = (myXML.GetVar("Step" + GlobalVar.varStep.ToString().Trim(), "RestartServicesOlap") == null ? GlobalVar.varRestartServicesOlap : Convert.ToInt32(myXML.GetVar("Step" + GlobalVar.varStep.ToString().Trim(), "RestartServicesOlap"))); GlobalVar.varServicesOlap = (myXML.GetVar("ServicesOlap") == null ? GlobalVar.varDB : myXML.GetVar("ServicesOlap")); } // string var= GlobalVar.varProcessDimension; //Параметри з командного рядка мають перевагу. for (int i = 0; i < args.Length; i++) { if (args[i].ToUpper().StartsWith("/SERVER:")) { GlobalVar.varServer = args[i].Substring(8); } else if (args[i].ToUpper().StartsWith("/DB:")) { GlobalVar.varDB = args[i].Substring(4); } else if (args[i].ToUpper().StartsWith("/CUBE:")) { GlobalVar.varCube = args[i].Substring(6); } else if (args[i].ToUpper().StartsWith("/STEP:")) { GlobalVar.varStep = Convert.ToInt32(args[i].Substring(6)); } else if (args[i].ToUpper().StartsWith("/PARALLEL:")) { GlobalVar.varMaxParallel = Convert.ToInt32(args[i].Substring(10)); } else if (args[i].ToUpper().StartsWith("/XML:")) { GlobalVar.varFileXML = args[i].Substring(5); } else if (args[i].ToUpper().StartsWith("/DAY:")) { GlobalVar.varDayProcess = Convert.ToInt32(args[i].Substring(5)); } else if (args[i].ToUpper().StartsWith("/STATE:2")) { GlobalVar.varStep = -9998; } else if (args[i].ToUpper().StartsWith("/STATE")) { GlobalVar.varStep = -9999; } else if (args[i].ToUpper().StartsWith("/DATESTART:")) { GlobalVar.varDateStartProcess = DateTime.Parse(args[i].Substring(11)); } else if (args[i].ToUpper().StartsWith("/DAYPROCESS:")) { GlobalVar.varDayProcess = Convert.ToInt32(args[i].Substring(12)); } else if (args[i].ToUpper().StartsWith("/PROCESSDIMENSION:")) { MyXMLA.SetProcessTypeDimension(args[i].Substring(17)); } else if (args[i].ToUpper().StartsWith("/PROCESSCUBE:")) { MyXMLA.SetProcessTypeCube(args[i].Substring(13)); } else if (args[i].ToUpper().StartsWith("/ARX")) { GlobalVar.varIsArx = true; if (args[i].ToUpper().Length == 14) { GlobalVar.varArxDate = DateTime.ParseExact(args[i].ToUpper().Substring(5), "dd.MM.yyyy", CultureInfo.InvariantCulture); } } else if (args[i].ToUpper().StartsWith("/?")) { Console.Write(varKey); Console.ReadKey(true); return; } else { Console.Write("Колюч=>" + args[i].ToUpper() + " невірний. " + varKey); Console.ReadKey(true); return; } } GlobalVar.varFileLog = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + "\\log\\process_" + GlobalVar.varDB.Trim() + "_" + DateTime.Now.ToString("yyyyMMdd") + "_" + GlobalVar.varStep.ToString().Trim() + ".txt"; Log.log("START=> /Server:" + GlobalVar.varServer + " /DB:" + GlobalVar.varDB + " /CUBE:" + GlobalVar.varCube + " /Step: " + GlobalVar.varStep.ToString()); if (1 == 0 && GlobalVar.varServicesOlap.Trim().Length > 0) { var varService = new Services(GlobalVar.varServicesOlap, GlobalVar.varServer); if (!varService.IsStart() || GlobalVar.varRestartServicesOlap == 1 || GlobalVar.varRestartServicesOlap == 3) { if (varService.IsStart()) { Log.log("Try ReStart =>" + GlobalVar.varServicesOlap + " in " + GlobalVar.varServer); if (!varService.ReStart()) { Log.log("No ReStart =>" + GlobalVar.varServicesOlap + " in " + GlobalVar.varServer + "\n" + varService.log); return; } else { Log.log("ReStart OK"); } } else { if (!varService.Start()) { Log.log("Try start =>" + GlobalVar.varServicesOlap + " in " + GlobalVar.varServer); if (!varService.Start()) { Log.log("No start =>" + GlobalVar.varServicesOlap + " in " + GlobalVar.varServer + "\n" + varService.log); return; } else { Log.log("Start OK"); } } } } } XMLABuilder.Process(@"Data Source=" + GlobalVar.varServer + ";Provider=msolap;", GlobalVar.varDB, GlobalVar.varCube, GlobalVar.varStep, GlobalVar.varMetod); Log.log("END=> /Server:" + GlobalVar.varServer + " /DB:" + GlobalVar.varDB + " /CUBE:" + GlobalVar.varCube + " /Step:" + GlobalVar.varStep.ToString()); if (GlobalVar.varStep < -9990) { Console.ReadKey(true); } }
//初始化实体对象 private void AddEnities(string fullName) { xml = new MyXML(fullName); XmlNodeList tables = xml.GetNodes("Config/Table"); Entity entity = null; Property property = null; bool t = true; bool r=true; int i = 0; foreach (XmlNode table in tables) { entity = new Entity(xml.GetNodeAttribute(table,"Name")); r = bool.TryParse(xml.GetNodeAttribute(table, "DeleteRepeat"),out t); if (r) { entity.DeleteRepeat = Convert.ToBoolean(xml.GetNodeAttribute(table, "DeleteRepeat")); } if (xml.GetFirstChildNode(table) != null)//说明有列配置 { foreach (XmlNode column in xml.GetChildNodes(table)) { property = new Property(); r = bool.TryParse(xml.GetNodeAttribute(column, "IsPrimaryKey"), out t); if (r) { property.IsPrimaryKey = Convert.ToBoolean(xml.GetNodeAttribute(column, "IsPrimaryKey")); } property.ColumnName = xml.GetNodeAttribute(column, "ColumnName"); if (xml.GetNodeAttribute(column, "HeaderText") != "") { property.HeaderText = xml.GetNodeAttribute(column, "HeaderText"); } r = bool.TryParse(xml.GetNodeAttribute(column, "Required"), out t); if (r) { property.Required = Convert.ToBoolean(xml.GetNodeAttribute(column, "Required")); } property.DataType = xml.GetNodeAttribute(column, "DataType") != "" ? xml.GetNodeAttribute(column, "DataType") : "string"; if (xml.GetNodeAttribute(column, "DataLength") != "") { r = int.TryParse(xml.GetNodeAttribute(column, "DataLength"),out i); if (r) { property.DataLength = i; } } property.Comment = xml.GetNodeAttribute(column, "Comment"); property.DefaultValue = xml.GetNodeAttribute(column, "DefaultValue") != "" ? xml.GetNodeAttribute(column, "DefaultValue") : ""; if (xml.GetFirstChildNode(column) != null)//说明有代码表 { DictionaryEntity dictionaryEntity = new DictionaryEntity(); dictionaryEntity.Name = xml.GetNodeAttribute(xml.GetFirstChildNode(column), "Name"); dictionaryEntity.PrimaryKey = xml.GetNodeAttribute(xml.GetFirstChildNode(column), "PrimaryKey"); dictionaryEntity.ReferenceColumn = xml.GetNodeAttribute(xml.GetFirstChildNode(column), "ReferenceColumn"); dictionaryEntity.Condition = xml.GetNodeAttribute(xml.GetFirstChildNode(column), "Condition"); property.CodeTable = dictionaryEntity; } entity.Propertys.Add(property); } entities.Add(entity); } else { string excludedColumns = xml.GetNodeAttribute(table, "ExcludedColumns"); if (excludedColumns != "") { foreach (string ec in excludedColumns.Split(',')) { entity.ExcludedColumns.Add(ec); } } entities.Add(entity); } } }
//将每一步的进度写入XML public void UpdateModelstep(string name, int step, int stepmax) { MyXML.UpdateStepsXML(Const.SavePartesOfSteps, name, step, stepmax); }
// public List<GameObject> GetList() // { // // } //添加名称与实际模型对应关系 // public void AddnametoModels(string key, GameObject value) // { // // Debug.Log("key::::" + key + "value::::" + value + "contains::::::" + m_nameTomodels.ContainsKey(key)); // if (!m_nameTomodels.ContainsKey(key)) // { // m_nameTomodels.Add(key, value); // } // } //获取上次存储的模型对应的进度 void Addmodeltostep() { m_modelTOstep = MyXML.ReaderStepXml(Const.SavePartesOfSteps); }
static void Camera() { MyXML.UpdateXML(Const.J5Dynamo, Selection.activeGameObject.GetComponent <Transform>(), _States.Camera); }
static void SlowDown() { MyXML.UpdateXML(Const.J5Dynamo, Selection.activeGameObject.GetComponent <Transform>(), _States.SlowDown); }