Ejemplo n.º 1
0
        public static SemWeldType Create(string name, string pieceMark)
        {
            var weldType = new SemWeldType(name, pieceMark);

            SemInstanceDB.AddToExport(weldType);
            return(weldType);
        }
Ejemplo n.º 2
0
        public static SemWeldType Retrieve(SemFastener weld)
        {
            var ret = new SemWeldType();

            //if (!EarlyBindingInstanceModel.TheModel.DataByType.ContainsKey("IfcRelDefinesByType")) return null;
            var collection = EarlyBindingInstanceModel.GetDataByType("IfcRelDefinesByType").Values;

            foreach (var theItem in collection)
            {
                var relType    = theItem as IfcRelDefinesByType;
                var relObjects = relType.RelatedObjects;
                foreach (var relObject in relObjects)
                {
                    if (relObject.EIN == weld.IfcObject.EIN)
                    {
                        //if (!EarlyBindingInstanceModel.TheModel.DataByType.ContainsKey("IfcFastenerType")) return null;
                        var collection1 = EarlyBindingInstanceModel.GetDataByType("IfcFastenerType").Values;
                        foreach (var item in collection1)
                        {
                            if (relType.RelatingType.EIN == item.EIN)
                            {
                                var weldType = item as IfcFastenerType;
                                if (weldType == null)
                                {
                                    continue;
                                }
                                var semWeldType = new SemWeldType {
                                    IfcTypeProduct = weldType, IfcRelDefinesByType = relType
                                };
                                semWeldType.DefinedElements.Add(weld);

                                // check if this SemWeldSemType exist or not before adding to DB and add weld to its DefinedElements
                                //SemInstanceDB.Add(semWeldType);// Q1
                                ret = semWeldType;
                            }
                        }
                    }
                }
            }
            return(ret);
        }