private DTO.DTO GetAlignmentProfileDTO(DBObject obj) { var dto = new SpeckleAutoCAD.DTO.DTO(); var profile = obj as ACD.Profile; using (var tr = obj.Database.TransactionManager.StartTransaction()) { using (var alignment = tr.GetObject(profile.AlignmentId, OpenMode.ForRead) as ACD.Alignment) { var polyLineId = alignment.GetPolyline(); var polyline = polyLineId.GetObject(OpenMode.ForRead) as Polyline; var points = Get3dPath(polyline, profile); var poly3d = new Polyline3d(Poly3dType.SimplePoly, points, polyline.Closed); var payload = poly3d.ToPolylinePayload(); var properties = payload.Properties; payload.Name = $"{alignment.Name} - {profile.Name}"; properties["AlignmentName"] = alignment.Name; properties["ProfileName"] = profile.Name; payload.PropertySets = GetPropertySets(alignment); dto.Data = JsonConvert.SerializeObject(payload); } dto.ObjectType = Constants.Polyline3d; return(dto); } }
private DTO.DTO GetDTO(Polyline3d polyline) { var dto = new SpeckleAutoCAD.DTO.DTO(); var payload = polyline.ToPolylinePayload(); payload.PropertySets = GetPropertySets(polyline); dto.ObjectType = Constants.Polyline3d; dto.Data = JsonConvert.SerializeObject(payload); return(dto); }