![](/img/trans.png)
[英]How to change Edit Mode in Autodesk Forge Viewer Markup Extension in Typescript?
[英]How to add a mesh to forge viewer v6 using Typescript?
我需要知道如何使用 Type 腳本將網格添加到 Forge Viewer v6。
我瀏覽了所有主題和文章,它正在使用 v4。
現在,當我嘗試以下代碼時:
private wallGeometry: THREE.BoxBufferGeometry;
drawWalls() {
this.wallGeometry = new THREE.BoxBufferGeometry(4000, 4000, 100, 1, 1, 1);
console.log('creating wall geometry');
this.wallGeometry = new THREE.BoxBufferGeometry(4000, 4000, 100, 1, 1, 1);
console.log('creating wall material');
let wallMaterial = new THREE.MeshPhongMaterial({ color: 0xff0000 });
console.log('register wall material');
this.viewer.impl.matman().addMaterial(
'dasher-material-vertex',
wallMaterial,
true);
console.log('create Overlay Scene');
this.viewer.impl.createOverlayScene(this._overlayScene, wallMaterial);
console.log('wall mesh');
this.wall = new THREE.Mesh(this.wallGeometry, wallMaterial);
this.wall.position.set(0, -1000, -2000);
console.log('add overlay to scene');
this.addToScene(this.wall);
}
private addToScene(obj: THREE.Object3D) {
this.viewer.impl.addOverlay(this._overlayScene, obj);
this.viewer.impl.invalidate(false, false, true);
}
我收到以下錯誤消息:
THREE.Object3D.add:對象不是 THREE.Object3D 的實例。
yr {uuid: "6A27DA63-8F99-4E50-9A99-90BED6CE5B85", name: "", type: "Mesh", parent: null, children: Array(0), ...}
castShadow:假
孩子們: []
繪制模式:0
frustumCulled:真
幾何:Ii {uuid:“8C6C2DD2-B233-4E98-998C-2307A84D1E4B”,名稱:“”,類型:“BoxBufferGeometry”,索引:pi,屬性:{…},…}
層數:Pn {掩碼:1}
材料:hc {uuid:“9A6A3601-49F6-4D6E-98E1-21C35BF63D80”,名稱:“”,類型:“MeshPhongMaterial”,霧:真,燈:真,...}
矩陣:dn {元素:數組(16)}
矩陣自動更新:真
矩陣世界:dn {元素:數組(16)}
矩陣世界需要更新:假
姓名: ””
父級:空
位置:在 {x: 0, y: -1000, z: -2000}
四元數:Et {_x: 0, _y: 0, _z: 0, _w: 1, onChangeCallback: ƒ}
接收陰影:假
渲染順序:0
旋轉:Cn {_x: 0, _y: 0, _z: 0, _order: "XYZ", onChangeCallback: ƒ}
比例:在 {x: 1, y: 1, z: 1}
類型:“網格”
向上:在 {x: 0, y: 1, z: 0}
用戶數據: {}
uuid:“6A27DA63-8F99-4E50-9A99-90BED6CE5B85”
可見:真實
eulerOrder: (...)
編號:3
模型視圖矩陣:dn {元素:數組(16)}
normalMatrix: Lt {elements: Array(9)}
使用四元數:(...)
原型:$n
有任何想法嗎??
根據three.js v71 source ,當插入的對象缺少名為isObject3D
的屬性時,會拋出此錯誤。 我不確定缺少此屬性是否可能是 Forge Viewer 造成的。 嘗試在調用addToScene
之前放置一個斷點,並確保isObject3D
屬性在那里。
此外,由於您在運行時收到此錯誤,因此它也不應該與 TypeScript 相關。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.