Example #1
0
        private static IfcMonitoringSubItem CreateMonitoringSubItem(IfcDSMSystem DSMsystem, int type, string name)
        {
            var model = DSMsystem.Model;
            IfcMonitoringSubItem     monitoringSubItem;
            IfcMonitoringSubItemEnum monitoringSubItemType = (IfcMonitoringSubItemEnum)type;

            using (var txn = model.BeginTransaction("MonitoringItem Creation"))
            {
                monitoringSubItem = model.Instances.New <IfcMonitoringSubItem>(s =>
                {
                    s.Name           = name;
                    s.PredefinedType = monitoringSubItemType;
                });

                //把监测子项目与监测项目连接起来
                var rag = model.Instances.OfType <IfcRelAssignsToGroup>().FirstOrDefault();
                if (rag == null)
                {
                    var rs = model.Instances.New <IfcRelAssignsToGroup>();
                    rs.RelatingGroup = DSMsystem;
                    rs.RelatedObjects.Add(monitoringSubItem);
                }
                else
                {
                    rag.RelatedObjects.Add(monitoringSubItem);
                }

                txn.Commit();
            }
            return(monitoringSubItem);
        }
Example #2
0
        static int Main()
        {
            //first create and initialise a model called DSMSyetem
            Console.WriteLine("Initialising the IFC Project....");
            using (var model = CreateandInitModel("DSMSyetem"))
            {
                if (model != null)
                {
                    IfcBuilding       building  = CreateBuilding(model, "Jiangya Dam");
                    IfcDSMSystem      DSMsystem = CreateDSMSystem(model, "DSM System for Jiangya Dam");
                    IfcMonitoringItem dssystem1 = CreateMonitoringItem(DSMsystem, 0, "Displacement Monitoring");
                    IfcMonitoringItem dssystem2 = CreateMonitoringItem(DSMsystem, 1, "Seepage Monitoring");

                    //AddToBuilding(model, system, building);

                    if (dssystem1 != null)
                    {
                        try
                        {
                            Console.WriteLine("Standard dssystem successfully created....");
                            //write the Ifc File
                            model.SaveAs("DSMSystemIfc4.ifc", StorageType.Ifc);
                            Console.WriteLine("DSMSystemIfc4.ifc has been successfully written");
                        }
                        catch (Exception e)
                        {
                            Console.WriteLine("Failed to save DSMSystem.ifc");
                            Console.WriteLine(e.Message);
                        }
                    }
                }
                else
                {
                    Console.WriteLine("Failed to initialise the model");
                }
            }
            Console.WriteLine("Press any key to exit to view the IFC file....");
            Console.ReadKey();
            LaunchNotepad("DSMSystemIfc4.ifc");
            return(0);
        }