public static EntityCtor.ProxyEntity newRLineDecartZ(Settings.EntityParser.ProxyEntity entity /*, string blockName*/)
        {
            EntityCtor.ProxyEntity pEntityRes;
            string nameEntityRelative = string.Empty;

            // соэдать примитив
            pEntityRes = new ProxyEntity(new Line());
            // значения для параметров примитива
            nameEntityRelative = entity.GetProperty(Settings.MSExcel.HEAP_INDEX_COLUMN.RLINE_NAME_ENTITY_RELATIVE).ToString();

            (pEntityRes.m_entity as Line).StartPoint = Point3d.Origin;
            (pEntityRes.m_entity as Line).EndPoint   = new Point3d(
                Point3d.Origin.X
                , Point3d.Origin.Y
                , (double)entity.GetProperty(Settings.MSExcel.HEAP_INDEX_COLUMN.RLINE_LENGTH)
                );

            return(pEntityRes);
        }
Exemple #2
0
        /// <summary>
        /// Создать новый примитив - ящик по значениям параметров из строки таблицы
        /// </summary>
        /// <param name="rEntity">Строка таблицы со значениями параметров примитива</param>
        /// <param name="format">Формат файла конфигурации из которого была импортирована таблица</param>
        /// <param name="blockName">Наимнование блока (только при формате 'HEAP')</param>
        /// <returns>Объект примитива - ящик</returns>
        public static EntityCtor.ProxyEntity newBox(Settings.EntityParser.ProxyEntity entity /*, string blockName*/)
        {
            EntityCtor.ProxyEntity pEntityRes;
            double lAlongX = -1F, lAlongY = -1F, lAlongZ = -1;

            double [] ptDisplacement = new double[3];

            pEntityRes = new ProxyEntity(new Solid3d());

            // значения для параметров примитива
            lAlongX = double.Parse(entity.GetProperty(Settings.MSExcel.HEAP_INDEX_COLUMN.BOX_LAENGTH_X).ToString()
                                   , System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture);
            lAlongY = double.Parse(entity.GetProperty(Settings.MSExcel.HEAP_INDEX_COLUMN.BOX_LAENGTH_Y).ToString()
                                   , System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture);
            lAlongZ = double.Parse(entity.GetProperty(Settings.MSExcel.HEAP_INDEX_COLUMN.BOX_LAENGTH_Z).ToString()
                                   , System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture);
            ptDisplacement[0] = double.Parse(entity.GetProperty(Settings.MSExcel.HEAP_INDEX_COLUMN.BOX_PTDISPLACEMENT_X).ToString()
                                             , System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture);
            ptDisplacement[1] = double.Parse(entity.GetProperty(Settings.MSExcel.HEAP_INDEX_COLUMN.BOX_PTDISPLACEMENT_Y).ToString()
                                             , System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture);
            ptDisplacement[2] = double.Parse(entity.GetProperty(Settings.MSExcel.HEAP_INDEX_COLUMN.BOX_PTDISPLACEMENT_Z).ToString()
                                             , System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture);

            ((Solid3d)pEntityRes.m_entity).CreateBox(lAlongX, lAlongY, lAlongZ);
            pEntityRes.SetPoint3dDisplacement(ptDisplacement);

            //pEntityRes.m_BlockName = blockName;

            return(pEntityRes);
        }
Exemple #3
0
        /// <summary>
        /// Создать новый примитив - конус по значениям параметров из строки таблицы
        /// </summary>
        /// <param name="rEntity">Строка таблицы со значениями параметров примитива</param>
        /// <param name="format">Формат файла конфигурации из которого была импортирована таблица</param>
        /// <param name="blockName">Наимнование блока (только при формате 'HEAP')</param>
        /// <returns>Объект примитива - конус</returns>
        public static EntityCtor.ProxyEntity newCone(Settings.EntityParser.ProxyEntity entity /*, string blockName*/)
        {
            EntityCtor.ProxyEntity pEntityRes;

            double height = -1F
            , rAlongX = -1F, rAlongY = -1
            , rTop = -1;

            double[] ptDisplacement = new double[3];

            MSExcel.MAP_KEY_ENTITY mapKeyEntity =
                MSExcel.s_MappingKeyEntity.Find(item => {
                return(item.m_command.Equals(entity.m_command) == true);
            });
            ConstructorInfo coneCtor     = mapKeyEntity.m_type.GetConstructor(Type.EmptyTypes);
            MethodInfo      methodCreate = mapKeyEntity.m_type.GetMethod(mapKeyEntity.m_nameCreateMethod);

            pEntityRes                  = new EntityCtor.ProxyEntity();
            pEntityRes.m_entity         = null;
            pEntityRes.m_ptDisplacement = Point3d.Origin;

            // значения для параметров примитива
            height = double.Parse(entity.GetProperty(Settings.MSExcel.HEAP_INDEX_COLUMN.CONE_HEIGHT).ToString()
                                  , System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture);
            rAlongX = double.Parse(entity.GetProperty(Settings.MSExcel.HEAP_INDEX_COLUMN.CONE_ARADIUS_X).ToString()
                                   , System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture);
            rAlongY = double.Parse(entity.GetProperty(Settings.MSExcel.HEAP_INDEX_COLUMN.CONE_ARADIUS_Y).ToString()
                                   , System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture);
            rTop = double.Parse(entity.GetProperty(Settings.MSExcel.HEAP_INDEX_COLUMN.CONE_RADIUS_TOP).ToString()
                                , System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture);
            ptDisplacement[0] = double.Parse(entity.GetProperty(Settings.MSExcel.HEAP_INDEX_COLUMN.CONE_PTDISPLACEMENT_X).ToString()
                                             , System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture);
            ptDisplacement[1] = double.Parse(entity.GetProperty(Settings.MSExcel.HEAP_INDEX_COLUMN.CONE_PTDISPLACEMENT_Y).ToString()
                                             , System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture);
            ptDisplacement[2] = double.Parse(entity.GetProperty(Settings.MSExcel.HEAP_INDEX_COLUMN.CONE_PTDISPLACEMENT_Z).ToString()
                                             , System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture);

            //pEntityRes = new ProxyEntity (new Solid3d());
            pEntityRes.m_entity = coneCtor.Invoke(new object[] { }) as Solid3d;
            //(pEntityRes.m_entity as Solid3d).CreateFrustum(height, rAlongX, rAlongY, rTop);
            methodCreate.Invoke(pEntityRes.m_entity, new object[] { height, rAlongX, rAlongY, rTop }); // CreateFrustum
            pEntityRes.SetPoint3dDisplacement(ptDisplacement);

            //pEntityRes.m_BlockName = blockName;

            return(pEntityRes);
        }
Exemple #4
0
        /// <summary>
        /// Создать новый примитив - дугу по значениям параметров из строки таблицы
        /// </summary>
        /// <param name="rEntity">Строка таблицы</param>
        /// <param name="format">Формат файла конфигурации из которого была импортирована таблица</param>
        /// <param name="blockName">Наимнование блока (только при формате 'HEAP')</param>
        /// <returns>Объект примитива - дуга</returns>
        public static EntityCtor.ProxyEntity newArc(Settings.EntityParser.ProxyEntity entity /*, string blockName*/)
        {
            EntityCtor.ProxyEntity pEntityRes;
            // соэдать примитив
            pEntityRes = new ProxyEntity(new Arc());
            // значения для параметров примитива
            (pEntityRes.m_entity as Arc).Center = new Point3d(
                double.Parse(entity.GetProperty(Settings.MSExcel.HEAP_INDEX_COLUMN.ARC_CENTER_X).ToString(), System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture)
                , double.Parse(entity.GetProperty(Settings.MSExcel.HEAP_INDEX_COLUMN.ARC_CENTER_Y).ToString(), System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture)
                , double.Parse(entity.GetProperty(Settings.MSExcel.HEAP_INDEX_COLUMN.ARC_CENTER_Z).ToString(), System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture));
            (pEntityRes.m_entity as Arc).Radius     = double.Parse(entity.GetProperty(Settings.MSExcel.HEAP_INDEX_COLUMN.ARC_RADIUS).ToString(), System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture);
            (pEntityRes.m_entity as Arc).StartAngle = (double)entity.GetProperty(Settings.MSExcel.HEAP_INDEX_COLUMN.ARC_ANGLE_START);
            (pEntityRes.m_entity as Arc).EndAngle   = (double)entity.GetProperty(Settings.MSExcel.HEAP_INDEX_COLUMN.ARC_ANGLE_END);
            (pEntityRes.m_entity as Arc).ColorIndex = int.Parse(entity.GetProperty(Settings.MSExcel.HEAP_INDEX_COLUMN.ARC_COLORINDEX).ToString());
            (pEntityRes.m_entity as Arc).Thickness  = double.Parse(entity.GetProperty(Settings.MSExcel.HEAP_INDEX_COLUMN.ARC_TICKNESS).ToString(), System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture);

            //pEntityRes.m_BlockName = blockName;

            return(pEntityRes);
        }
        /// <summary>
        /// Создать новый примитив - линия по значениям параметров из строки таблицы
        /// </summary>
        /// <param name="rEntity">Строка таблицы со значениями параметров примитива</param>
        /// <param name="format">Формат файла конфигурации из которого была импортирована таблица</param>
        /// <param name="blockName">Наимнование блока (только при формате 'HEAP')</param>
        /// <returns>Объект примитива - линия</returns>
        public static EntityCtor.ProxyEntity newLineDecart(Settings.EntityParser.ProxyEntity entity /*, string blockName*/)
        {
            EntityCtor.ProxyEntity pEntityRes;
            // соэдать примитив
            pEntityRes = new ProxyEntity(new Line());
            // значения для параметров примитива

            (pEntityRes.m_entity as Line).StartPoint = new Point3d(
                (double)entity.GetProperty(Settings.MSExcel.HEAP_INDEX_COLUMN.LINE_START_X)
                , (double)entity.GetProperty(Settings.MSExcel.HEAP_INDEX_COLUMN.LINE_START_DECART_Y)
                , (double)entity.GetProperty(Settings.MSExcel.HEAP_INDEX_COLUMN.LINE_START_DECART_Z));
            (pEntityRes.m_entity as Line).EndPoint = new Point3d(
                (double)entity.GetProperty(Settings.MSExcel.HEAP_INDEX_COLUMN.LINE_END_DECART_X)
                , (double)entity.GetProperty(Settings.MSExcel.HEAP_INDEX_COLUMN.LINE_END_DECART_Y)
                , (double)entity.GetProperty(Settings.MSExcel.HEAP_INDEX_COLUMN.LINE_END_DECART_Z));
            (pEntityRes.m_entity as Line).ColorIndex = (int)entity.GetProperty(Settings.MSExcel.HEAP_INDEX_COLUMN.LINE_COLORINDEX);
            (pEntityRes.m_entity as Line).Thickness  = (double)entity.GetProperty(Settings.MSExcel.HEAP_INDEX_COLUMN.LINE_TICKNESS);

            //pEntityRes.m_BlockName = blockName;

            return(pEntityRes);
        }