/// <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); }
{ //,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; } } }
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); }
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; }
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++]); }
internal static IfcRelVoidsElement Parse(string strDef) { IfcRelVoidsElement i = new IfcRelVoidsElement(); int ipos = 0; parseFields(i, ParserSTEP.SplitLineFields(strDef), ref ipos); return i; }
internal IfcRelVoidsElement(IfcRelVoidsElement v) : base(v) { mRelatingBuildingElement = v.mRelatingBuildingElement; mRelatedOpeningElement = v.mRelatedOpeningElement; }
public IfcOpeningElement(IfcElement host, IfcObjectPlacement placement, IfcProductRepresentation rep) : base(host.mDatabase) { Placement = placement; Representation = rep; IfcRelVoidsElement rve = new IfcRelVoidsElement(host, this); }