131 lines
4.7 KiB
C#
131 lines
4.7 KiB
C#
|
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<double> 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<double>
|
|||
|
{
|
|||
|
Convert.ToDouble(array_v1.GetValue(1)),
|
|||
|
Convert.ToDouble(array_v1.GetValue(2)),
|
|||
|
Convert.ToDouble(array_v1.GetValue(3)),
|
|||
|
};
|
|||
|
|
|||
|
return result;
|
|||
|
}
|
|||
|
|
|||
|
public static List<double> 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<double>
|
|||
|
{
|
|||
|
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<double> TranslationNormalLCS2WCS(InwSimpleVertex v1)
|
|||
|
{
|
|||
|
Array array_v1 = (Array)(object)v1.normal;
|
|||
|
|
|||
|
var result = new List<double>
|
|||
|
{
|
|||
|
Convert.ToDouble(array_v1.GetValue(1)),
|
|||
|
Convert.ToDouble(array_v1.GetValue(2)),
|
|||
|
Convert.ToDouble(array_v1.GetValue(3)),
|
|||
|
};
|
|||
|
|
|||
|
return result;
|
|||
|
}
|
|||
|
|
|||
|
public static List<double> TranslationCoordLCS2WCS(InwSimpleVertex v1)
|
|||
|
{
|
|||
|
Array array_v1 = (Array)(object)v1.coord;
|
|||
|
|
|||
|
var result = new List<double>
|
|||
|
{
|
|||
|
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;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|