예제 #1
0
        /// <remarks>
        /// Creates an opening elements with a fixed index.
        /// </remarks>
        public IfcOpeningElement(DatabaseIfc db, int wallElementIndex, IfcObjectPlacement placement, IfcProductRepresentation rep) : base(db)
        {
            Placement      = placement;
            Representation = rep;

            IfcRelVoidsElement rve = new IfcRelVoidsElement(db, wallElementIndex, this);
        }
예제 #2
0
 {                                                                                            //,IfcDistributionElement,IfcElementAssembly,IfcElementComponent,IfcFeatureElement,IfcFurnishingElement,IfcGeographicElement,IfcTransportElement ,IfcVirtualElement,IfcElectricalElement SS,IfcEquipmentElement SS))
     internal override void ParseXml(XmlElement xml)
     {
         base.ParseXml(xml);
         if (xml.HasAttribute("Tag"))
         {
             Tag = xml.Attributes["Tag"].Value;
         }
         foreach (XmlNode child in xml.ChildNodes)
         {
             string name = child.Name;
             if (string.Compare(name, "HasOpenings", true) == 0)
             {
                 foreach (XmlNode node in child.ChildNodes)
                 {
                     IfcRelVoidsElement voids = mDatabase.ParseXml <IfcRelVoidsElement>(node as XmlElement);
                     if (voids != null)
                     {
                         voids.RelatingBuildingElement = this;
                     }
                 }
             }
             if (string.Compare(name, "Tag", true) == 0)
             {
                 Tag = child.InnerText;
             }
         }
     }
예제 #3
0
		public IfcOpeningElement(IfcElement host, IfcObjectPlacement placement, IfcProductRepresentation rep) : base(host.mDatabase)
		{
			if (placement == null)
				Placement = new IfcLocalPlacement(host.Placement, new IfcAxis2Placement3D(Database.Factory.Origin));
			else
				Placement = placement;
			Representation = rep;
			IfcRelVoidsElement rve = new IfcRelVoidsElement(host, this);
		}
예제 #4
0
        protected IfcFeatureElementSubtraction(DatabaseIfc db, IfcFeatureElementSubtraction e, DuplicateOptions options)
            : base(db, e, options)
        {
            IfcRelVoidsElement relVoidsElement = e.VoidsElement;

            VoidsElement = db.Factory.Duplicate(relVoidsElement, new DuplicateOptions()
            {
                DuplicateDownstream = false
            }) as IfcRelVoidsElement;
            VoidsElement.RelatingBuildingElement = db.Factory.Duplicate(relVoidsElement.RelatingBuildingElement, new DuplicateOptions()
            {
                DuplicateDownstream = false
            }) as IfcElement;
            VoidsElement.RelatedOpeningElement = this;
        }
예제 #5
0
파일: IFC R.cs 프로젝트: jenca-cloud/ggIFC
		internal static void parseFields(IfcRelVoidsElement i, List<string> arrFields, ref int ipos) { IfcRelConnects.parseFields(i, arrFields, ref ipos); i.mRelatingBuildingElement = ParserSTEP.ParseLink(arrFields[ipos++]); i.mRelatedOpeningElement = ParserSTEP.ParseLink(arrFields[ipos++]); }
예제 #6
0
파일: IFC R.cs 프로젝트: jenca-cloud/ggIFC
		internal static IfcRelVoidsElement Parse(string strDef) { IfcRelVoidsElement i = new IfcRelVoidsElement(); int ipos = 0; parseFields(i, ParserSTEP.SplitLineFields(strDef), ref ipos); return i; }
예제 #7
0
파일: IFC R.cs 프로젝트: jenca-cloud/ggIFC
		internal IfcRelVoidsElement(IfcRelVoidsElement v) : base(v) { mRelatingBuildingElement = v.mRelatingBuildingElement; mRelatedOpeningElement = v.mRelatedOpeningElement; }
예제 #8
0
 public IfcOpeningElement(IfcElement host, IfcObjectPlacement placement, IfcProductRepresentation rep) : base(host.mDatabase)
 {
     Placement = placement; Representation = rep; IfcRelVoidsElement rve = new IfcRelVoidsElement(host, this);
 }
예제 #9
0
파일: IFC O.cs 프로젝트: jenca-cloud/ggIFC
		public IfcOpeningElement(IfcElement host, IfcObjectPlacement placement, IfcProductRepresentation rep) : base(host.mDatabase) { Placement = placement; Representation = rep; IfcRelVoidsElement rve = new IfcRelVoidsElement(host, this); }