问题描述
我们可以使用 transform tool 移动对象。我想在输入中显示所选对象的当前 x、y、z 坐标并从那里更改它。但我无法添加任何输入。我找到了 examples,但找不到源代码。
解决方法
您可以找到源代码 here。
这是我同事关于 creating component transformations in forge viewer 的博客的一部分。
,我将我想要的输入放在 html 中。在运动函数内部,我根据它们接收到的值动态更新它们。
<!--TRANSFORM DIV- index.html-->
<div id="MyControls" class="adsk control">
<label>X</label>
<input id="XAxis" type="text" />
<label>Y</label>
<input id="YAxis" type="text" />
<label>Z</label>
<input id="ZAxis" type="text" />
</div>
// transform.js
var AxisArray = ["XAxis","YAxis","ZAxis"];
AxisArray.forEach(function (axis) {
document.getElementById(axis).addEventListener("change",function () {
positionChangeInputs();
});
});
function positionChangeInputs() {
for (var fragId in _selectedFragProxyMap) {
var fragProxy = _selectedFragProxyMap[fragId];
var position = new THREE.Vector3(
fragProxy.position.x = document.getElementById("XAxis").value,fragProxy.position.y = document.getElementById("YAxis").value,fragProxy.position.z = document.getElementById("ZAxis").value);
fragProxy.position = position;
fragProxy.updateAnimTransform();
}
viewer.impl.sceneUpdated(true);
}