internal static async Task CreateAssemblyTranslation(CommandExecutionContext context, Dictionary<string, List<string>> options, List<string> values) { OnshapeTranslationParameters translationParameters = new OnshapeTranslationParameters() { formatName = options.GetOptionValue(Constants.FORMAT), versionString = options.GetOptionValue(Constants.FORMAT_VERSION) }; string storeInDocumentStr = options.GetOptionValue(Constants.STORE_IN_DOCUMENT); if (!String.IsNullOrEmpty(storeInDocumentStr)) { translationParameters.storeInDocument = Boolean.Parse(storeInDocumentStr); } OnshapeTranslationStatus status = await context.Client.CreateAssemblyTranslation(options[Constants.DOCUMENT_ID][0], options[Constants.WORKSPACE_ID][0], options[Constants.ELEMENT_ID][0], translationParameters); Console.WriteLine(JsonConvert.SerializeObject(status, Formatting.Indented)); }
internal static async Task ExportPartstudio(CommandExecutionContext context, Dictionary<string, List<string>> options, List<string> values) { string documentId = options[Constants.DOCUMENT_ID][0]; string wvmSelector = (options.ContainsKey(Constants.WORKSPACE_ID)) ? "w" : "v"; string selectorId = (options.ContainsKey(Constants.WORKSPACE_ID)) ? options[Constants.WORKSPACE_ID][0] : options[Constants.VERSION_ID][0]; string elementId = options[Constants.ELEMENT_ID][0]; string format = options[Constants.FORMAT][0]; switch (format.ToUpperInvariant()) { case "STL": using (Stream contentStream = await context.Client.ExportPartstudioToStl(documentId, wvmSelector, selectorId, elementId, Utils.createStlExportParams(options), values != null ? values.ToArray() : null)) { await Utils.ProcessContentStream(contentStream, options); } break; case "PARASOLID": string formatVersion = options.GetOptionValue(Constants.FORMAT_VERSION); using (Stream contentStream = await context.Client.ExportPartstudioToParasolid(documentId, wvmSelector, selectorId, elementId, formatVersion, values != null?values.ToArray():null)) { await Utils.ProcessContentStream(contentStream, options); } break; default: Console.WriteLine("Invalid format"); break; } }
internal static async Task UploadBlobelement(CommandExecutionContext context, Dictionary<string, List<string>> options, List<string> values) { string flattenAssembliesStr = options.GetOptionValue(Constants.FLATTEN_ASSEMBLIES); string yAxisIsUpStr = options.GetOptionValue(Constants.Y_AXIS_IS_UP); Dictionary<String, String> formFields = new Dictionary<String, String> { {"encodedFileName", HttpUtility.UrlEncode(System.IO.Path.GetFileName(options[Constants.FILE][0]))} }; if (flattenAssembliesStr != null) { formFields["flattenAssemblies"] = flattenAssembliesStr; } if (yAxisIsUpStr != null) { formFields["yAxisIsUp"] = yAxisIsUpStr; } var response = await context.Client.CreateBlobelement(options[Constants.DOCUMENT_ID][0], options[Constants.WORKSPACE_ID][0], formFields, options[Constants.FILE][0]); Console.WriteLine(JsonConvert.SerializeObject(response, Formatting.Indented)); }
internal static async Task CreateTranslation(CommandExecutionContext context, Dictionary<string, List<string>> options, List<string> values) { Dictionary<String, String> formFields = new Dictionary<String, String> { {"encodedFileName", HttpUtility.UrlEncode(System.IO.Path.GetFileName(options[Constants.FILE][0]))}, {"formatName", options[Constants.FORMAT][0].ToUpperInvariant()}, {"name", HttpUtility.UrlEncode(System.IO.Path.GetFileNameWithoutExtension(options[Constants.FILE][0]))} }; string flattenAssembliesStr = options.GetOptionValue(Constants.FLATTEN_ASSEMBLIES); string yAxisIsUpStr = options.GetOptionValue(Constants.Y_AXIS_IS_UP); string fileExtension = System.IO.Path.GetExtension(options[Constants.FILE][0]); if (flattenAssembliesStr != null) { formFields["flattenAssemblies"] = flattenAssembliesStr; } if (yAxisIsUpStr != null) { formFields["yAxisIsUp"] = yAxisIsUpStr; } OnshapeTranslationStatus status = await context.Client.CreateTranslation(options[Constants.DOCUMENT_ID][0], options[Constants.WORKSPACE_ID][0], formFields, options[Constants.FILE][0]); Console.WriteLine(JsonConvert.SerializeObject(status, Formatting.Indented)); }
internal static async Task CreateBlobElementTranslation(CommandExecutionContext context, Dictionary<string, List<string>> options, List<string> values) { OnshapeBlobTranslationParameters translationParameters = new OnshapeBlobTranslationParameters() { formatName = options.ContainsKey(Constants.FORMAT) ? options[Constants.FORMAT][0] : null, versionString = options.ContainsKey(Constants.FORMAT_VERSION) ? options[Constants.FORMAT_VERSION][0] : null }; string flattenAssembliesStr = options.GetOptionValue(Constants.FLATTEN_ASSEMBLIES); string storeInDocumentStr = options.GetOptionValue(Constants.STORE_IN_DOCUMENT); string yAxisIsUpStr = options.GetOptionValue(Constants.Y_AXIS_IS_UP); if (!String.IsNullOrEmpty(flattenAssembliesStr)) { translationParameters.flattenAssemblies = Boolean.Parse(flattenAssembliesStr); } if (!String.IsNullOrEmpty(storeInDocumentStr)) { translationParameters.storeInDocument = Boolean.Parse(storeInDocumentStr); } if (!String.IsNullOrEmpty(yAxisIsUpStr)) { translationParameters.yAxisIsUp = Boolean.Parse(yAxisIsUpStr); } OnshapeTranslationStatus status = await context.Client.CreateBlobelementTranslation(options[Constants.DOCUMENT_ID][0], options[Constants.WORKSPACE_ID][0], options[Constants.ELEMENT_ID][0], translationParameters); Console.WriteLine(JsonConvert.SerializeObject(status, Formatting.Indented)); }
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; }