CTYPE CircleType() { CTYPE tmp = CTYPE.UNCERTAIN; switch (neighbors.Count) { case 2: tmp = CTYPE.MIDDLE; break; case 1: tmp = CTYPE.FEATURE; break; default: break; } return(tmp); }
/// <summary> /// Get the type of a category /// return the index number /// </summary> /// <returns></returns> public CTYPE GetCategoryType(string msg) { CTYPE index = CTYPE.C_I; if (msg.Length > MAX_CATE_LEN) { //Go to search index = CTYPE.C_I; } else { //return category index for (int i = 0; i < cData.Length; i++) { if (cData[i].c == msg) { return cData[i].categoryId; } } } return index; }
public Help(CTYPE type) { t = type; }
public category_data(int Key, string C, CTYPE Id) { key = Key; c = C; categoryId = Id; }
//각 Constraint에서 사용하는 Master/Slave Part의 ReferenceName을 refCommand 구조체로 리턴 private refCommand TestRefer(TransCAD.IStdAssemConstraint tConstraint, CTYPE i) //constrain 받아오기 { CTYPE type = i; refCommand para = new refCommand(); refCommand result = new refCommand(); ReferenceClass.ref_Post m_refer = new ReferenceClass.ref_Post(); switch (type) { case CTYPE.Coaxial: TransCAD.IStdAssemConstraintCoaxial coax = (TransCAD.IStdAssemConstraintCoaxial)tConstraint; Console.WriteLine("Loading Coaxial......................................"); para.command = (int)type; para.param = "Axis" + ":("; para.MasterPart = coax.ConstrainedPart.Name; para.SlavePart = coax.ReferencePart.Name; para.MasterPart_Ref = coax.ConstrainedGeometry.ReferenceeName; para.SlavePart_Ref = coax.ReferenceGeometry.ReferenceeName; break; case CTYPE.Incidence: TransCAD.IStdAssemConstraintIncidence coin = (TransCAD.IStdAssemConstraintIncidence)tConstraint; Console.WriteLine("Loading INCIDENCE......................................"); para.command = (int)type; para.param = ""; para.MasterPart = coin.ConstrainedPart.Name; para.SlavePart = coin.ReferencePart.Name; para.MasterPart_Ref = coin.ConstrainedGeometry.ReferenceeName; para.SlavePart_Ref = coin.ReferenceGeometry.ReferenceeName; break; /* Mutahar 18-10-09 * case CTYPE.Angle: //(Surface-Surface) * TransCAD.IStdAssemConstraintAngle ang = (TransCAD.IStdAssemConstraintAngle)tConstraint; * Console.WriteLine("Loading Angle......................................"); * * para.command = (int)type; * para.param = ""; * para.MasterPart = ang.ConstrainedPart.Name; * para.SlavePart = ang.ReferencePart.Name; * para.MasterPart_Ref = ang.ConstrainedGeometry.ReferenceeName; * para.SlavePart_Ref = ang.ReferenceGeometry.ReferenceeName; * Angle Value? * * break; * case CTYPE.Distance: //(Surface-Surface) * TransCAD.IStdAssemConstraintCoaxial Dist = (TransCAD.IStdAssemConstraintDistance)tConstraint; * Console.WriteLine("Loading Distance......................................"); * * para.command = (int)type; * para.param = ""; * para.MasterPart = dist.ConstrainedPart.Name; * para.SlavePart = dist.ReferencePart.Name; * para.MasterPart_Ref = dist.ConstrainedGeometry.ReferenceeName; * para.SlavePart_Ref = dist.ReferenceGeometry.ReferenceeName; * Offset Value? * * break; */ default: Console.WriteLine("Anything........"); break; } Console.WriteLine("////////////////////////////////////////////////////////////////////////"); result = m_refer.ConvertRefPost(para); Console.WriteLine("////////////////////////////////////////////////////////////////////////"); Console.WriteLine("ConsNum : " + result.command.ToString()); Console.WriteLine("master : " + result.MasterPart_Ref); Console.WriteLine("slave : " + result.SlavePart_Ref); Console.WriteLine("////////////////////////////////////////////////////////////////////////"); return(result); }
public Collectable(CTYPE t, Vector2 StartPos, int v) { val = v; type = t; position = StartPos; }
public void InsertTypeList(CTYPE type) { typeList.Add(type); }
//각 Constraint에서 사용하는 Master/Slave Part의 ReferenceName을 refCommand 구조체로 리턴 private refCommand TestRefer(TransCAD.StdAssemConstraint tConstraint, CTYPE i, PreStack _stack) //constrain 받아오기 { CTYPE type = i; refCommand para = new refCommand(); refCommand result = new refCommand(); ReferenceClass.ref_Post m_refer = new ReferenceClass.ref_Post(); m_refer.Set_stack_info(_stack); double value = 0; //Type Define TransCAD 7.0 /* * TransCAD.StdAssemblyConstraintType.StdAssemblyConstraintType_Angle; * TransCAD.StdAssemblyConstraintType.StdAssemblyConstraintType_Coaxial; * TransCAD.StdAssemblyConstraintType.StdAssemblyConstraintType_Coincidence; * TransCAD.StdAssemblyConstraintType.StdAssemblyConstraintType_Distance; * TransCAD.StdAssemblyConstraintType.StdAssemblyConstraintType_Fix; * TransCAD.StdAssemblyConstraintType.StdAssemblyConstraintType_Parallel; * TransCAD.StdAssemblyConstraintType.StdAssemblyConstraintType_Perpendicular; */ switch (type) { case CTYPE.StdAssemblyConstraintType_Coaxial: TransCAD.StdAssemConstraintCoaxial coax = (TransCAD.StdAssemConstraintCoaxial)tConstraint; Console.WriteLine("Loading Coaxial......................................"); _debug = coax.Name; para.command = (int)type; para.param = "Axis" + ":("; para.MasterPart = coax.ConstrainedPart.Name; para.SlavePart = coax.ReferencePart.Name; para.MasterPart_Ref = coax.ConstrainedEntity.ReferenceeName; _debug = coax.ConstrainedEntity.Name; ///[Edit]For test A1 TestRally 20190712 { //TransCAD.Reference tempref = coax.ConstrainedEntity; //bool res = tempref.IsPlanarFace; //if we get edge name we have to find surface that define axis if (para.MasterPart_Ref.IndexOf('#') != -1) { string[] _split = para.MasterPart_Ref.Split('#'); TransCAD.Part ptr = coax.ConstrainedPart; for (int s = 0; s < _split.Length; s++) { string temp = _split[s].Substring(_split[s].IndexOf(',', _split[s].IndexOf(',') + 1) + 1); TransCAD.Reference tempref = ptr.SelectBrepByName(temp); if (!tempref.IsPlanar) { para.MasterPart_Ref = _split[s]; break; } para.MasterPart_Ref = _split[s]; } } } para.SlavePart_Ref = coax.ReferenceEntity.ReferenceeName; _debug = coax.ReferenceEntity.Name; ///[Edit]For test A1 TestRally 20190712 { //if we get edge name we have to find surface that define axis if (para.SlavePart_Ref.IndexOf('#') != -1) { string[] _split = para.SlavePart_Ref.Split('#'); //para.SlavePart_Ref = _split[1]; //Method 2 : Find by name of 'Sketch' for (int j = 0; j < _split.Length; j++) { if (_split[j].IndexOf("Sketch") > 0) { para.SlavePart_Ref = _split[j]; } } } if (para.SlavePart_Ref.IndexOf('#') != -1) { string[] _split = para.SlavePart_Ref.Split('#'); TransCAD.Part ptr = coax.ReferencePart; for (int s = 0; s < _split.Length; s++) { string temp = _split[s].Substring(_split[s].IndexOf(',', _split[s].IndexOf(',') + 1) + 1); TransCAD.Reference tempref = ptr.SelectBrepByName(temp); if (!tempref.IsPlanar) { para.SlavePart_Ref = _split[s]; break; } para.SlavePart_Ref = _split[s]; } } } Console.WriteLine(coax.ConstrainedEntity.ReferenceeName + ".&&." + coax.ReferenceEntity.ReferenceeName); break; case CTYPE.StdAssemblyConstraintType_Coincidence: TransCAD.StdAssemConstraintCoincidence coin = (TransCAD.StdAssemConstraintCoincidence)tConstraint; Console.WriteLine("Loading COINCIDENCE......................................"); _debug = coin.Name; para.command = (int)type; para.param = ""; para.MasterPart = coin.ConstrainedPart.Name; para.SlavePart = coin.ReferencePart.Name; para.MasterPart_Ref = coin.ConstrainedEntity.ReferenceeName; para.SlavePart_Ref = coin.ReferenceEntity.ReferenceeName; Console.WriteLine(coin.ConstrainedEntity.ReferenceeName + ".&&." + coin.ReferenceEntity.ReferenceeName); break; // Mutahar 18-10-09 case CTYPE.StdAssemblyConstraintType_Angle: //(Surface-Surface) TransCAD.StdAssemConstraintAngle ang = (TransCAD.StdAssemConstraintAngle)tConstraint; Console.WriteLine("Loading Angle......................................"); _debug = ang.Name; para.command = (int)type; para.param = ""; para.MasterPart = ang.ConstrainedPart.Name; para.SlavePart = ang.ReferencePart.Name; para.MasterPart_Ref = ang.ConstrainedEntity.ReferenceeName; para.SlavePart_Ref = ang.ReferenceEntity.ReferenceeName; value = ang.Angle; Console.WriteLine(ang.ConstrainedEntity.ReferenceeName + ".&&." + ang.ReferenceEntity.ReferenceeName); //Angle Value? break; case CTYPE.StdAssemblyConstraintType_Distance: //(Surface-Surface) TransCAD.StdAssemConstraintDistance dist = (TransCAD.StdAssemConstraintDistance)tConstraint; Console.WriteLine("Loading Distance......................................"); _debug = dist.Name; para.command = (int)type; para.param = ""; para.MasterPart = dist.ConstrainedPart.Name; para.SlavePart = dist.ReferencePart.Name; para.MasterPart_Ref = dist.ConstrainedEntity.ReferenceeName; para.SlavePart_Ref = dist.ReferenceEntity.ReferenceeName; Console.WriteLine(dist.ConstrainedEntity.ReferenceeName + ".&&." + dist.ReferenceEntity.ReferenceeName); value = dist.Distance; //Offset Value? break; default: Console.WriteLine("Anything........"); break; } Console.WriteLine("////////////////////////////////////////////////////////////////////////"); result = m_refer.ConvertRefPost(para); result.option = value; Console.WriteLine("////////////////////////////////////////////////////////////////////////"); Console.WriteLine("ConsNum : " + result.command.ToString()); Console.WriteLine("master : " + result.MasterPart_Ref); Console.WriteLine("slave : " + result.SlavePart_Ref); Console.WriteLine("////////////////////////////////////////////////////////////////////////"); return(result); }
/// <summary> /// Center to handler all incoming text messages /// </summary> /// <returns></returns> public string MsgCenterHandler() { if (msg.Length <= 0) { Help help = new Help(CTYPE.C_HELP); return(help.getHelp()); } StringBuilder sb = new StringBuilder(); if (vc.p.bInBlacklist) { sb.Append("You are in the blacklist"); return(sb.ToString()); } CTYPE t = cg.GetCategoryType(Parameters[0]); //Trap for delivery if (t >= CTYPE.C_DELIVERY_START && t <= CTYPE.C_DELIVERY_END) { Delivery delivery = new Delivery(t, Parameters); return(delivery.GetStatus()); } //trap for 星座 if (t >= CTYPE.C_XZ_START && t <= CTYPE.C_XZ_END) { Robot.Asterism.Asterism asterism = new Robot.Asterism.Asterism(Parameters); return(asterism.GetStatus()); } switch (t) { case CTYPE.C_WEATHER: if (Parameters.Count > 1) { w = new CommonService.Weather.Weather(Parameters[1]); } else { w = new CommonService.Weather.Weather(); } sb.Append(w.GetWeather()); break; case CTYPE.C_MAP: map m = new map(Parameters); sb.Append(m.GetData()); break; case CTYPE.C_SEARCH: //sb.Append("Not sure what you are looking for!"); break; case CTYPE.C_YP: yp = new yp_oversea(Parameters); break; case CTYPE.C_TRANS: yd = new YouDao(Parameters); sb.Append(yd.GetResult()); break; case CTYPE.C_HELP: Help help = new Help(CTYPE.C_HELP); sb.Append(help.getHelp()); break; case CTYPE.C_SAVE: break; case CTYPE.C_MEM: break; //Grab currency data from china bank case CTYPE.C_CURRENCY: ChinaBank cb = new ChinaBank(Parameters); sb.Append(cb.GrabData()); break; //贵金属 case CTYPE.C_METAL: Metal metal = new Metal(); sb.Append(metal.GetPrice()); break; case CTYPE.C_SUGGESTION: Suggestion sug = new Suggestion(userId, Parameters, DateTime.Now.ToString()); sb.Append(sug.SaveSug()); break; case CTYPE.C_REPEAT: break; case CTYPE.C_FUEL_PRICE: FuelPrice price = new FuelPrice(Parameters); sb.Append(price.GetPrice()); break; case CTYPE.C_RSS: RSS rss = new RSS(Parameters); sb.Append(rss.GetSummary()); break; case CTYPE.C_TEST: sb.Append("<a href='www.google.com'>more</a>"); break; //小黄鸡功能 default: if (bAnalytised) { sb.Append("亲爱的用户,你所输入的内容我们尚未能识别,如果您对该部分内容感兴趣,可以发送 【建议 您的建议内容,您的联系方式】给我们,我们的开发人员会尽力为您开发该功能。请发送 【help】查询我们已经开发好的功能。(发送时请不要带大括号)"); } else { sb.Append(reUnion(msg)); } //robot_yc yc = new robot_yc(); //sb.Append(yc.getResponse(msg)); break; } return(sb.ToString()); }