浏览我们的产品

Aspose.3D for Node.js via Java 24.8 发布说明

改进和变更

KeySummaryCategory
THREEDNET-1576将内部轴系统实用程序暴露给用户。任务
THREEDNET-1579实现完整的 XZ 流支持任务
THREEDNET-1578JT 版本 9.5 元数据改进
THREEDNET-1580添加 JT 9 格式的 PMI 支持改进
THREEDNET-1575转换 GLB 模型旋转错误修复
THREEDNET-15773mf 文件“无法打开此文件”错误错误修复

API 变更

添加类 com.aspose.threed.JtLoadOptions

    /**
     *  从 JT 的属性表中加载属性作为 Aspose.3D 属性。
     *  默认值为 false。
     *
     * @return  从 JT 的属性表中加载属性作为 Aspose.3D 属性。 
     * 默认值为 false。
     */
    public boolean getLoadProperties()
    
    /**
     *  从 JT 的属性表中加载属性作为 Aspose.3D 属性。
     *  默认值为 false。
     *
     * @param value 新值
     */
    public void setLoadProperties(boolean value)
    
    /**
     *  如果可能,从 JT 文件加载 PMI 信息,并将数据保存为 {@link com.aspose.threed.Scene#getAssetInfo} 的“PMI”属性。
     *  默认值为 false。
     *
     * @return  如果可能,从 JT 文件加载 PMI 信息,并将数据保存为 {@link com.aspose.threed.Scene#getAssetInfo} 的“PMI”属性。
     * 默认值为 false。
     */
    public boolean getLoadPMI()
    
    /**
     *  如果可能,从 JT 文件加载 PMI 信息,并将数据保存为 {@link com.aspose.threed.Scene#getAssetInfo} 的“PMI”属性。
     *  默认值为 false。
     *
     * @param value 新值
     */
    public void setLoadPMI(boolean value)
        

新的 JtLoadOptions 允许您指示 Aspose.3D 解析 JT 文件的元数据并将其保存为标准的 Aspose.3D 属性。

示例代码

    var opt = new JtLoadOptions();
    opt.setLoadProperties(true);
    var s = Scene.fromFile("test.jt", opt);
    
    for(var prop : s.getRootNode().getChildNodes().get(0).getProperties())
    {
        System.out.println(prop.getName() + " = " + prop.getValue());
    }

向类 com.aspose.threed.AxisSystem 添加成员:

    /**
     *  创建一个矩阵,用于从当前轴系统转换为目标轴系统。
     *
     * @param targetSystem 目标轴系统
     * @return 用于执行轴转换的新变换矩阵
     */
    public Matrix4 transformTo(AxisSystem targetSystem)


    /**
     *  从 {@link com.aspose.threed.AssetInfo} 创建 {@link com.aspose.threed.AxisSystem}
     *
     * @param assetInfo 从哪个资产信息读取坐标系、上向量和前向量。
     * @return 包含从给定资产信息坐标系、上、前的信息的轴系统
     */
    public static AxisSystem fromAssetInfo(AssetInfo assetInfo)

示例代码

新的方法允许您创建一个变换矩阵,用于将向量从一个轴系统转换为另一个轴系统。

    Scene scene = Scene.fromFile("test.fbx");
    //创建一个新的轴系,其中上向量为 +Y 轴,前向量为 +X 轴。
    var target = new AxisSystem(CoordinateSystem.LEFT_HANDED, Axis.Y_AXIS, Axis.X_AXIS);
    //从场景的当前轴系创建到我们自定义轴系的变换矩阵
    var transform = AxisSystem.fromAssetInfo(scene.getAssetInfo()).transformTo(target);
    //将变换应用于场景中的所有几何体。
    PolygonModifier.applyTransform(scene.getRootNode(), transform);

向类 com.aspose.threed.PolygonModifier 添加成员:

    /**
     *  将变换矩阵应用于所有几何体的控制点
     *
     * @param node 
     * @param transform 
     */
    public static void applyTransform(Node node, Matrix4 transform)

此新方法允许您将矩阵应用于所有后代几何体的所有控制点。

示例代码

    Scene scene = Scene.fromFile("test.fbx");
    //创建一个新的轴系,其中上向量为 +Y 轴,前向量为 +X 轴。
    var target = new AxisSystem(CoordinateSystem.LEFT_HANDED, Axis.Y_AXIS, Axis.X_AXIS);
    //从场景的当前轴系创建到我们自定义轴系的变换矩阵
    var transform = AxisSystem.fromAssetInfo(scene.getAssetInfo()).transformTo(target);
    //将变换应用于场景中的所有几何体。
    PolygonModifier.applyTransform(scene.getRootNode(), transform);


 
 简体中文