public static Space Match(this gbXMLSerializer.Space space, IEnumerable <Space> spaces) { if (space == null || spaces == null) { return(null); } string id = space.cadid?.id?.Trim(); if (string.IsNullOrWhiteSpace(id)) { return(null); } foreach (Space space_SAM in spaces) { int elementId = -1; if (!space_SAM.TryGetValue <int>("ElementId", out elementId)) { continue; } if (elementId == -1) { continue; } if (id.Equals(elementId.ToString())) { return(space_SAM); } } return(null); }
public static Space ToSAM(this gbXMLSerializer.Space space, double silverSpacing = Tolerance.MacroDistance, double tolerance = Tolerance.MicroDistance) { if (space == null) { return(null); } Point3D location = Query.Location(space.ShellGeo, silverSpacing, tolerance); Space result = new Space(space.Name, location); return(result); }