using Autodesk.Navisworks.Api.Interop.ComApi; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace LjsGo.Navisworks.GraphicsAssignment.ExportGeometryToJson { public class TranslationUtils { public TranslationUtils() { } public static List TranslationNormalLCS2WCS(InwSimpleVertex v1, InwLTransform3f3 LCS2WCS) { Array array_v1 = (Array)(object)v1.normal; //var v1Str = "[" + Convert.ToDouble(array_v1.GetValue(1)) + "," + // Convert.ToDouble(array_v1.GetValue(2)) + "," + // Convert.ToDouble(array_v1.GetValue(3)) + "]"; var result = new List { Convert.ToDouble(array_v1.GetValue(1)), Convert.ToDouble(array_v1.GetValue(2)), Convert.ToDouble(array_v1.GetValue(3)), }; return result; } public static List TranslationCoordLCS2WCS(InwSimpleVertex v1, InwLTransform3f3 LCS2WCS) { Array array_v1 = (Array)(object)v1.coord; double xTrans = LCS2WCS.GetTranslation().data1; double yTrans = LCS2WCS.GetTranslation().data2; double zTrans = LCS2WCS.GetTranslation().data3; //var v1Str = "[" + (Convert.ToDouble(array_v1.GetValue(1)) + xTrans).ToString() + "," + // (Convert.ToDouble(array_v1.GetValue(2)) + yTrans).ToString() + "," + // (Convert.ToDouble(array_v1.GetValue(3)) + zTrans).ToString() + "]"; var result = new List { Convert.ToDouble(array_v1.GetValue(1)) + xTrans, Convert.ToDouble(array_v1.GetValue(2)) + yTrans, Convert.ToDouble(array_v1.GetValue(3)) + zTrans }; return result; } public static string TranslationNormalLCS2WCSStr(InwSimpleVertex v1, InwLTransform3f3 LCS2WCS) { Array array_v1 = (Array)(object)v1.normal; var v1Str = "[" + Convert.ToDouble(array_v1.GetValue(1)) + "," + Convert.ToDouble(array_v1.GetValue(2)) + "," + Convert.ToDouble(array_v1.GetValue(3)) + "]"; return v1Str; } public static string TranslationCoordLCS2WCSStr(InwSimpleVertex v1, InwLTransform3f3 LCS2WCS) { Array array_v1 = (Array)(object)v1.coord; double xTrans = LCS2WCS.GetTranslation().data1; double yTrans = LCS2WCS.GetTranslation().data2; double zTrans = LCS2WCS.GetTranslation().data3; var v1Str = "[" + (Convert.ToDouble(array_v1.GetValue(1)) + xTrans).ToString() + "," + (Convert.ToDouble(array_v1.GetValue(2)) + yTrans).ToString() + "," + (Convert.ToDouble(array_v1.GetValue(3)) + zTrans).ToString() + "]"; return v1Str; } public static List TranslationNormalLCS2WCS(InwSimpleVertex v1) { Array array_v1 = (Array)(object)v1.normal; var result = new List { Convert.ToDouble(array_v1.GetValue(1)), Convert.ToDouble(array_v1.GetValue(2)), Convert.ToDouble(array_v1.GetValue(3)), }; return result; } public static List TranslationCoordLCS2WCS(InwSimpleVertex v1) { Array array_v1 = (Array)(object)v1.coord; var result = new List { Convert.ToDouble(array_v1.GetValue(1)), Convert.ToDouble(array_v1.GetValue(2)), Convert.ToDouble(array_v1.GetValue(3)) }; return result; } public static string TranslationNormalLCS2WCSStr(InwSimpleVertex v1) { Array array_v1 = (Array)(object)v1.normal; var v1Str = "[" + Convert.ToDouble(array_v1.GetValue(1)) + "," + Convert.ToDouble(array_v1.GetValue(2)) + "," + Convert.ToDouble(array_v1.GetValue(3)) + "]"; return v1Str; } public static string TranslationCoordLCS2WCSStr(InwSimpleVertex v1) { Array array_v1 = (Array)(object)v1.coord; var v1Str = "[" + Convert.ToDouble(array_v1.GetValue(1)) + "," + Convert.ToDouble(array_v1.GetValue(2)) + "," + Convert.ToDouble(array_v1.GetValue(3)) + "]"; return v1Str; } } }