private static string constructExportToStlQueryString(OnshapeStlExportParameters parameters, string[] partIds = null) { StringBuilder queryString = new StringBuilder(); if (parameters != null) { if (parameters.angleTolerance != null && parameters.angleTolerance.HasValue) { queryString.AppendQueryParam("angleTolerance", parameters.angleTolerance.Value); } if (parameters.chordTolerance != null && parameters.chordTolerance.HasValue) { queryString.AppendQueryParam("chordTolerance", parameters.chordTolerance.Value); } if (parameters.grouping != null && parameters.grouping.HasValue) { queryString.AppendQueryParam("grouping", parameters.grouping.Value); } if (parameters.maxFacetWidth != null && parameters.maxFacetWidth.HasValue) { queryString.AppendQueryParam("maxFacetWidth", parameters.maxFacetWidth.Value); } if (parameters.minFacetWidth != null && parameters.minFacetWidth.HasValue) { queryString.AppendQueryParam("minFacetWidth", parameters.minFacetWidth.Value); } if (!String.IsNullOrEmpty(parameters.mode)) { queryString.AppendQueryParam("mode", parameters.mode); } if (parameters.scale != null && parameters.scale.HasValue) { queryString.AppendQueryParam("scale", parameters.scale.Value); } if (!String.IsNullOrEmpty(parameters.units)) { queryString.AppendQueryParam("units", parameters.units); } } if (partIds != null && partIds.Length > 0) { queryString.AppendQueryParam("partIds", WebUtility.UrlEncode(String.Join(",", partIds))); } return(queryString.ToString()); }
internal static OnshapeStlExportParameters createStlExportParams(Dictionary <string, List <string> > options) { string angleToleranceStr = options.GetOptionValue(Constants.ANGLE_TOLERANCE); string chordToleranceStr = options.GetOptionValue(Constants.CHORD_TOLERANCE); string groupingStr = options.GetOptionValue(Constants.GROUPING); string maxFacetWidthStr = options.GetOptionValue(Constants.MAX_FACET_WIDTH); string minFacetWidthStr = options.GetOptionValue(Constants.MIN_FACET_WIDTH); string modeStr = options.GetOptionValue(Constants.MODE); string scaleStr = options.GetOptionValue(Constants.SCALE); string unitsStr = options.GetOptionValue(Constants.UNITS); OnshapeStlExportParameters result = new OnshapeStlExportParameters { mode = modeStr, units = unitsStr }; if (angleToleranceStr != null) { result.angleTolerance = Double.Parse(angleToleranceStr); } if (chordToleranceStr != null) { result.chordTolerance = Double.Parse(chordToleranceStr); } if (groupingStr != null) { result.grouping = Boolean.Parse(groupingStr); } if (maxFacetWidthStr != null) { result.maxFacetWidth = Double.Parse(maxFacetWidthStr); } if (minFacetWidthStr != null) { result.minFacetWidth = Double.Parse(minFacetWidthStr); } if (scaleStr != null) { result.scale = Double.Parse(scaleStr); } return(result); }
public async Task <Stream> ExportPartToStl(String documentId, String wvmSelector, String selectorId, String elementId, String partId, OnshapeStlExportParameters parameters) { Stream result = null; var response = await HttpGet(appendQueryString(String.Format(Constants.EXPORT_PART_API_URI, documentId, wvmSelector, selectorId, elementId, partId, Constants.STL_FORMAT_NAME), constructExportToStlQueryString(parameters))); if (response.StatusCode == System.Net.HttpStatusCode.OK) { result = await response.Content.ReadAsStreamAsync(); } return(result); }
internal static OnshapeStlExportParameters createStlExportParams(Dictionary<string, List<string>> options) { string angleToleranceStr = options.GetOptionValue(Constants.ANGLE_TOLERANCE); string chordToleranceStr = options.GetOptionValue(Constants.CHORD_TOLERANCE); string groupingStr = options.GetOptionValue(Constants.GROUPING); string maxFacetWidthStr = options.GetOptionValue(Constants.MAX_FACET_WIDTH); string minFacetWidthStr = options.GetOptionValue(Constants.MIN_FACET_WIDTH); string modeStr = options.GetOptionValue(Constants.MODE); string scaleStr = options.GetOptionValue(Constants.SCALE); string unitsStr = options.GetOptionValue(Constants.UNITS); OnshapeStlExportParameters result = new OnshapeStlExportParameters { mode = modeStr, units = unitsStr }; if (angleToleranceStr != null) { result.angleTolerance = Double.Parse(angleToleranceStr); } if (chordToleranceStr != null) { result.chordTolerance = Double.Parse(chordToleranceStr); } if (groupingStr != null) { result.grouping = Boolean.Parse(groupingStr); } if (maxFacetWidthStr != null) { result.maxFacetWidth = Double.Parse(maxFacetWidthStr); } if (minFacetWidthStr != null) { result.minFacetWidth = Double.Parse(minFacetWidthStr); } if (scaleStr != null) { result.scale = Double.Parse(scaleStr); } return result; }