/* ============================================================================== * 功能描述:ParseGrid * 创 建 者:Garrett * 创建日期:2019/6/26 15:16:06 * ==============================================================================*/ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Autodesk.Revit.DB; using JBIM; using JBIM.Definition; using RevitExport.Export; using RevitToJBim.Common; using SAGA.RevitUtils.Extends; using JGrid=JBIM.Component.Grid; namespace RevitToJBim.ComponentParse { /// /// ParseGrid /// [UsableParseAttribute] class ParseGrid : ParseBase { public override List FastIndex() { return new List(){typeof(Grid).FullName}; } public override bool Match(ElementWrapper wrapper) { return wrapper.RefElement is Grid; } protected override List ParseInner(ElementWrapper wrapper, JBimParseContext context) { var refElement = wrapper.RefElement as Grid; if (refElement == null) { return null; } JGrid jObject = new JGrid(); //ElementType ParseCore.AttachObject(jObject, wrapper); //Name,SourceId jObject.Name = refElement.Name; //Location var locations = refElement.GetCurve().Tessellate(); jObject.Location = GeometryLocation.CreateLineLocation(BimConvert.ConvertToXYZs(locations.ToList())); //Id context.AddBimObject(jObject); return new List() { jObject.Id }; } } }