HTML JPG PDF XML OBJ
Aspose.3D  for .NET
OBJ

通過 C# 生成點雲到 OBJ

構建您自己的 .NET 應用程序以使用服務器端 API 為 OBJ 文件生成點雲。

如何使用 C# 將點雲生成到 OBJ 文件

為了生成點雲到 OBJ 文件,我們將使用

Aspose.3D for .NET

API 是一個功能豐富、功能強大且易於使用的 API C# 平台,可與生成點雲一起使用。打開

NuGet

包管理器,搜索 Aspose.3D 並安裝。您也可以從包管理器控制台使用以下命令。

包管理器控制台命令


PM> Install-Package Aspose.3D

通過 C# 生成點雲到 OBJ 的步驟

Aspose.3D 使開發人員只需幾行代碼即可輕鬆地為 OBJ 文件生成點雲。

  • 通過 Scene 類的構造函數加載 OBJ 文件- 獲取 Aspose.3D 的點雲對象- 通過 EvaluateGlobalTransform 方法創建一個變換對象- 使用 Merge 方法生成點雲- 使用對象調用 Scene.Save 方法

系統要求

Aspose.3D for .NET 在所有主要操作系統上都受支持。只需確保您具有以下先決條件。

  • Microsoft Windows 或具有 .NET Framework、.NET Core、Mono 的兼容操作系統- Microsoft Visual Studio 等開發環境- Aspose.3D for .NET 在您的項目中引用
 

將點雲生成到 OBJ 的 C# 代碼


//需要生成點雲的源文件
string file = "template.obj";

// 創建一個場景實例
Scene scene = new Scene(file);

//獲取 Aspose.3D 的點雲對象並生成點雲
var pc = new PointCloud();
scene.RootNode.Accept((Node n) =>
{
    if (n.Entities.Count > 0)
    {
        var transform = n.EvaluateGlobalTransform(true);
        foreach (var entity in n.Entities)
        {
            if (entity is Geometry g)
            {
                Merge(pc, g, transform);
            }
            else if (entity is IMeshConvertible mc)
            {
                var mesh = mc.ToMesh();
                Merge(pc, mesh, transform);
            }

        }
    }
    return true;
});

//生成點雲的合併方法
private void Merge(PointCloud pc, Geometry g, Matrix4 transform)
{
    var tmp = PointCloud.FromGeometry(g, 10);
    for (int i = 0; i < tmp.ControlPoints.Count; i++)
    {
        var pt = transform * tmp.ControlPoints[i];
        pc.ControlPoints.Add(pt);
    }
}

// 創建一個新場景的實例
var newScene = new Scene(pc);

//保存時需要創建保存格式的SaveOptions對象
string output=System.IO.Path.GetTempPath() + Guid.NewGuid().ToString() + ".ply";
PlySaveOptions ply = new PlySaveOptions();
ply.PointCloud = true;
newScene.Save(output,ply);
 
  • 關於Aspose.3D for .NET API

    Aspose.3D 是用於加載、修改和轉換 3D 文件的 CAD 和遊戲軟件 API。 API 是獨立的,不需要任何 3D 建模或渲染軟件。可以輕鬆地將 API 用於 Discreet3DS、WavefrontOBJ、STL(ASCII,二進制)、Universal3D、FBX(ASCII,二進制)、Collada、glTF、PLY、 GLB、DirectX 和更多格式。

    為 OBJ 生成點雲的免費應用程序

    查看我們的現場演示 點雲3DS 具有以下好處。

      無需下載或設置任何東西
      無需編寫或編譯代碼
      只需上傳 OBJ 文件並點擊“生成”按鈕
      如果需要,從鏈接下載 OBJ 文件

    OBJ 什麼是 OBJ 文件格式

    Wavefront 的 Advanced Visualizer 應用程序使用 OBJ 文件來定義和存儲幾何對象。通過 OBJ 文件可以實現幾何數據的前後傳輸。 OBJ 格式支持點、線、紋理頂點、面和自由形式幾何(曲線和曲面)等多邊形幾何。此格式不支持動畫或與場景的燈光和位置相關的信息。

    閱讀更多

    其他支持的應用程序來生成點雲到格式

    使用 C#,還可以生成許多其他文件格式的點雲,包括。

    3MF (3D 製造格式)
    AMF (增材製造形式)
    ASE (二維動畫文件)
    DAE (數字資產交易所)
    DXF (繪圖交換格式)
    DRC (Google Draco)
    FBX (3D 格式)
    GLB (3D 文件二進製表示)
    GLTF (GL 傳輸格式)
    JT (木星鑲嵌文件)
    3DS (3D Studio 網格文件格式)
    PLY (多邊形文件格式)
    PDF (3D PDF)
    RVM (AVEVA 工廠設計模型)
    STL (可互換的 3D 表面幾何形狀)
    U3D (Universal 3D)
    VRML (虛擬現實建模語言)
    X (DirectX 模型圖像)
    USD (通用場景描述)
    USDZ (通用場景描述 Zip 存檔)