Пример #1
0
        /// <summary>
        /// Read(nameModel) - получение модели (списка элементов с атрибутами) из Tekla или IFC
        /// </summary>
        /// <param name="modelName">имя читаемой модели, по умолчанию - чтение того, что есть</param>
        /// <returns>Model со списком прочитанных элементов в model.elements</returns>
        public Model Read(string modelName = "")
        {
            if (string.IsNullOrEmpty(name))
            {
                bootstrap = new Boot();
                if (bootstrap.isTeklaActive)
                {
                    getModelFrTekla();
                }
                else
                {
                    elements = Ifc.Read(ifcPath);
                }
            }
            elementsCount = elements.Count;
            getGroups();
#if OLD
            log.Info("TRACE: Read(\"" + modelName + "\")");
            Model mod = (modelName == "" || name == modelName)? this : getModel(modelName);
// 6/4/17 в дальнейшем надо завести поле CAD в Bootsrap и присваивать ему ts или Ifc
            if (TS.isTeklaActive())
            {
                readCAD readElements = new readCAD(ts.Read);
                elements = readElements(Path.Combine(dir, name));
            }
            else
            {
                elements = Ifc.Read(mod.ifcPath);
            }
#endif //OLD
            log.Info(@"TRACE: Модель = " + name + "\t" + Elm.Elements.Count + " компонентов.");
            return(this);
        }
Пример #2
0
        /// <summary>
        /// Read() - получение модели (списка элементов с атрибутами) из Tekla или IFC
        /// </summary>
        /// <returns>Model со списком прочитанных элементов в model.elements</returns>
        public Model Read()
        {
            elements.Clear();
            if (TS.isTeklaActive()) getModelFrTekla();
            else elements = Ifc.Read(ifcPath);
            elementsCount = elements.Count;
            wrModel(WrMod.Raw);
            getGroups();
#if OLD

            log.Info("TRACE: Read(\"" + modelName + "\")");
            Model mod = (modelName == "" || name == modelName)? this : getModel(modelName);
// 6/4/17 в дальнейшем надо завести поле CAD в Bootsrap и присваивать ему ts или Ifc
            if (TS.isTeklaActive())
            {
                readCAD readElements = new readCAD(ts.Read);
                elements = readElements(Path.Combine(dir, name));
            }
            else elements = Ifc.Read(mod.ifcPath);
                        log.Info(@"TRACE: Модель = " + name + "\t" + Elm.Elements.Count + " компонентов.");
#endif //OLD
            return this;
        }