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);
        }
Пример #2
0
        /// <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;
        }
Пример #3
0
 public Help(CTYPE type)
 {
     t = type;
 }
Пример #4
0
 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;
 }
Пример #7
0
 public void InsertTypeList(CTYPE type)
 {
     typeList.Add(type);
 }
Пример #8
0
 public Help(CTYPE type)
 {
     t = 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);
        }
Пример #10
0
        /// <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());
        }
Пример #11
0
 public category_data(int Key, string C, CTYPE Id)
 {
     key = Key;
     c = C;
     categoryId = Id;
 }