/// <summary>
 /// Sets local placement of the object to the information 
 /// specified in the object of XbimLocalPlacement.
 /// </summary>
 /// <param name="XbimLocalPlacement">Xbim local placement</param>
 public void SetLocalPlacement(XbimLocalPlacement XbimLocalPlacement)
 {
     _spatialElement.ObjectPlacement = XbimLocalPlacement.IfcLocalPlacement;
 }
        ///// <summary>
        ///// Sets new local placement of the object. Existing placement is overwritten.
        ///// Setting of the placement like direction of X and Z axes must be done using methods of the XbimLocalPlacement.
        ///// </summary>
        ///// <param name="X">X coordinate of the placement</param>
        ///// <param name="Y">Y coordinate of the placement</param>
        ///// <param name="Z">Z coordinate of the placement</param>
        ///// <returns>XbimLocalPlacement object representing local placement of the object</returns>
        //public void SetLocalPlacement(double X, double Y, double Z)
        //{
        //    //local placement is assigned to this object when created
        //    //setting of the placement like direction of X and Z axes must be done using methods of the XbimLocalPlacement
        //    XbimLocalPlacement placement = new XbimLocalPlacement(_document, this, X, Y, Z);
        //    SetLocalPlacement(placement);
        //}

        public void SetLocalPlacement(XbimLocalPlacement XbimLocalPlacement)
        {
            if (_ifcBuildingElement.ObjectPlacement != null)
            {
                IfcLocalPlacement placement = _ifcBuildingElement.ObjectPlacement as IfcLocalPlacement;
                if (placement != null)
                {
                    placement.RelativePlacement = XbimLocalPlacement.IfcLocalPlacement.RelativePlacement;
                    placement.PlacementRelTo = XbimLocalPlacement.IfcLocalPlacement.PlacementRelTo;
                    Document.Model.Delete(XbimLocalPlacement.IfcLocalPlacement);
                    XbimLocalPlacement.IfcLocalPlacement = placement;
                }

            }
            _ifcBuildingElement.ObjectPlacement = XbimLocalPlacement.IfcLocalPlacement;
        }
 /// <summary>
 /// Sets relative placement of the object.
 /// </summary>
 /// <param name="LocalPlacement">Local placement of the object which this object is relative to.</param>
 public void SetPlacementRelTo(XbimLocalPlacement LocalPlacement)
 {
     _localPlacement.PlacementRelTo = LocalPlacement.IfcLocalPlacement;
 }