Просмотрите наши продукты
Aspose.3D for .NET 17,11-Ноябрь 2017
Другие улучшения и изменения
Ключ | Сводка | Категория |
---|---|---|
THREEDNET-303 | Добавить поддержку импорта RVM-двоичный (AVEVA PDMS) | Новая функция |
THREEDNET-305 | Добавить поддержку объединяясь сетки | Новая функция |
THREEDNET-306 | FBX до GLTF-неправильная непрозрачность материала в GLTF | Ошибка |
Публичные API и обратные несовместимые изменения
См. Список любых изменений, внесенных в общедоступный API, таких как добавленные, переименованные, удаленные или устаревшие члены, а также любые несовместимые назад изменения, внесенные в Aspose.3D for .NET. Если у вас есть опасения по поводу каких-либо изменений, пожалуйста, поднимите их наФорум поддержки Aspose.3D.
Добавляет члены RvmText и RvmBinary в класс Aspose.ThreeD.FileFormat
C#
/// <summary>
/// AVEVA Plant Design Management System Model in text format
/// </summary>
public static readonly FileFormat RvmText;
/// <summary>
/// AVEVA Plant Design Management System Model in binary format
/// </summary>
public static readonly FileFormat RvmBinary;
Автоматическое обнаружение формата поддерживается для файла PDMS RVM, поэтому разработчики могут импортировать его напрямую с конструктором класса Scene без явного указания FileFormat.
C#
Scene scene = new Scene("stablizer.rvm");
Добавляет Aspose.ThreeD. Форматы. Класс RvmLoadOptions
Свойства CylinderRadialSegments, DishLongitudeSegments, DishLatitudegments и TorusTubularSegments используются для управления способом преобразования примитивов, определенных в файлах Rvm, в сетки. Подробную информацию можно найти в классах Aspose.ThreeD.Entities. Цилиндр и Aspose.ThreeD.Entities.Torus
C#
/// <summary>
/// Load options for AVEVA Plant Design Management System's RVM file.
/// </summary>
public class RvmLoadOptions : LoadOptions
{
/// <summary>
/// The RVM file contains no material information, but the Aspose.3D can generate materials for each objects.
/// Default value is true
/// </summary>
public bool GenerateMaterials { get; set; }
/// <summary>
/// Gets or sets the number of cylinder's radial segments, default value is 16
/// </summary>
public int CylinderRadialSegments { get; set; }
/// <summary>
/// Gets or sets the number of dish's longitude segments, default value is 12
/// </summary>
public int DishLongitudeSegments { get; set; }
/// <summary>
/// Gets or sets the number of dish's latitude segments, default value is 8
/// </summary>
public int DishLatitudeSegments { get; set; }
/// <summary>
/// Gets or sets the number of torus's tubular segments, default value is 20
/// </summary>
public int TorusTubularSegments { get; set; }
/// <summary>
/// Construct a <see cref="RvmLoadOptions"/> instance
/// </summary>
/// <param name="contentType"></param>
public RvmLoadOptions(FileContentType contentType);
/// <summary>
/// Construct a <see cref="RvmLoadOptions"/> instance
/// </summary>
public RvmLoadOptions();
}
Код образца:
C#
Scene scene = new Scene();
var opt = new RvmLoadOptions()
{
CylinderRadialSegments = 32,
DishLatitudeSegments = 16,
DishLongitudeSegments = 24,
TorusTubularSegments = 40
};
scene.Open("LAD-TOP.rvm", opt);
scene.Save("LAD-TOP.obj", FileFormat.WavefrontOBJ);
3 члена добавлены в класс Aspose.ThreeD.Entities.PolygonModifier
C#
/// <summary>
/// Convert a whole node to a single transformed mesh
/// Vertex elements like normal/texture coordinates are not supported yet
/// </summary>
/// <param name="node">The node to merge</param>
/// <returns>Merged mesh</returns>
public static Mesh MergeMesh(Node node)
/// <summary>
/// Convert a whole scene to a single transformed mesh
/// Vertex elements like normal/texture coordinates are not supported yet
/// </summary>
/// <param name="scene">The scene to merge</param>
/// <returns>The merged mesh</returns>
public static Mesh MergeMesh(Scene scene);
/// <summary>
/// Convert a whole node to a single transformed mesh
/// Vertex elements like normal/texture coordinates are not supported yet
/// </summary>
/// <param name="nodes">The nodes to merge</param>
/// <returns>Merged mesh</returns>
public static Mesh MergeMesh(IList<Node> nodes);
Код образца:
C#
Scene scene = new Scene("LAD-TOP.rvm");
Mesh mesh = PolygonModifier.MergeMesh(scene);
FileFormat.PLY.EncodeMesh(mesh, "LAD-TOP.ply");
Член Transparency добавлен в Aspose.ThreeD.Shading. Класс PbrMaterial
Только GLTF 2,0 поддерживает материал PBR, поэтому это улучшение влияет только на экспорт GLTF 2,0.
C#
/// <summary>
/// Gets or sets the transparency factor.
/// The factor should be ranged between 0(0%, fully opaque) and 1(100%, fully transparent)
/// Any invalid factor value will be clamped.
/// </summary>
/// <value>The transparency factor.</value>
public double Transparency { get; set; }
Код образца:
C#
Scene scene = new Scene();
scene.RootNode.CreateChildNode("box", new Box()).Material = new PbrMaterial() {Transparency = 0.5, Albedo = new Vector3(Color.AliceBlue)};
scene.Save("box.gltf", FileFormat.GLTF2);
Примеры использования
Пожалуйста, ознакомьтесь со списком добавленных или обновленных в документах Wiki Aspose.3D: