簡介
gemini-viewer 是一個基於 WebGL 的 JS SDK,它構建在 Three.js 之上。它提供以下查看器。
1. Dxf查看器
用於查看二維CAD和 PDF。
它支持最常見的實體類型,支持常用線型;支持常見的填充樣式;支持線寬;
2. BIM查看器
用於查看 3d BIM 模型。支持的格式包括gltf、obj、fbx、ifc、dae等。其功能包括測量、剖面、顯示輪廓、正交相機、選擇等。
3.VR查看器
用於查看全景圖。支持查看1幅、6幅、24幅全景圖;支持查看系列全景圖;支持熱點。
安裝
從 npm 安裝:
npm install @pattern-x/gemini-viewer-threejs
DxfViewer 示例
import { DxfViewer, DxfViewerConfig, ModelConfig } from "@pattern-x/gemini-viewer-threejs";
const viewerCfg: DxfViewerConfig = {
containerId: "myCanvas",
enableSpinner: true,
enableLayoutBar: true,
};
const modelCfg: ModelConfig = {
modelId: "id_0",
name: "sample",
src: "http://www.abc.com/sample.dxf",
}
const fontFiles = ["http://www.abc.com/hztxt.shx", "http://www.abc.com/simplex.shx"];
const viewer = new DxfViewer(viewerCfg);
await viewer.setFont(fontFiles);
await viewer.loadModelAsync(modelCfg, (event) => {
const progress = (event.loaded * 100) / event.total;
console.log(`${event.type}: ${progress}%`);
});
console.log("已載入");
viewer.goToHomeView();
DxfViewer 的功能
1、DxfViewer 功能包括:載入和查看一個或多個 dxf 文件、基本滑鼠/按鍵操作、布局、圖層、帶對象捕捉的距離/面積/角度測量、標記、熱點、比較、測量/標記的撤消/重做、縮放到選定區域、截圖、設置背景顏色等
2、支持的實體類型包括:POINT、3DFACE、ARC、ATTDEF、ATTRIB、CIRCLE、DIMENSION、MLEADER、MULTILEADER、ELLIPSE、HATCH、INSERT、LEADER、LINE、LWPOLYLINE、MTEXT、RAY、POLYLINE、SOLID、SPLINE、TEXT、VERTEX、VIEWPORT 、XLINE 等 IMAGE、OLE2FRAME、REGION 部分支持。
3、載入並查看 dxf 文件
布局之間切換
距離測量
文件對比