http://adndevblog.typepad.com/cloud_and_mobile/2015/12/understand-the-coordinate-system-of-view-and-data-api-with-axishelper-extension.htmlНе удается рисовать линии в 3D-браузере?
1, вышеуказанное не работает в текущем телезрителе, мысли?
2, Августо говорит: https://stackoverflow.com/a/39123356/5410501
Однако 3D ограничивающего расширение окна, кажется, функционирует в демонстрационной странице: http://viewer.autodesk.io/node/gallery/embed?id=560c6c57611ca14810e1b2bf&extIds=Autodesk.ADN.Viewing.Extension.BoundingBox
Я хочу (потребность), чтобы рисовать линии в 3D-просмотре и 2D просмотре , Как я могу это сделать?
Код, указанный ниже в V2.11, кажется, не рисует линии. Попробуйте http://viewer.autodesk.io/node/gallery/#/viewer?id=57ecc0fc21f5a6ec046dd0fd
с нижним вставляемым в консоль.
var drawLine = function(start, end, material) {
var geometry = new THREE.Geometry();
geometry.vertices.push(new THREE.Vector3(
start.x, start.y, start.z));
geometry.vertices.push(new THREE.Vector3(
end.x, end.y, end.z));
var line = new THREE.Line(geometry, material);
NOP_VIEWER.impl.scene.add(line);
//refresh NOP_VIEWER
NOP_VIEWER.impl.invalidate(true);
return line;
}
var _axisLines = [];
//get bounding box of the model
var boundingBox = NOP_VIEWER.model.getBoundingBox();
var maxpt = boundingBox.max;
var minpt = boundingBox.min;
var xdiff = maxpt.x - minpt.x;
var ydiff = maxpt.y - minpt.y;
var zdiff = maxpt.z - minpt.z;
//make the size is bigger than the max bounding box
//so that it is visible
var size = Math.max(xdiff,ydiff,zdiff) * 1.2;
//console.log('axix size :' + size);
// x-axis is red
var material_X_Axis = new THREE.LineBasicMaterial({
color: 0xff0000, //red
linewidth: 2
});
NOP_VIEWER.impl.matman().addMaterial('material_X_Axis',material_X_Axis,true);
//draw the x-axix line
var xLine = drawLine(
{x : 0, y : 0, z : 0} ,
{x : size, y : 0, z : 0} ,
material_X_Axis);
_axisLines.push(xLine);
// y-axis is green
var material_Y_Axis = new THREE.LineBasicMaterial({
color: 0x00ff00, //green
linewidth: 2
});
NOP_VIEWER.impl.matman().addMaterial('material_Y_Axis',material_Y_Axis,true);
//draw the y-axix line
var yLine = drawLine(
{x : 0, y : 0, z : 0} ,
{x : 0, y : size, z : 0} ,
material_Y_Axis);
_axisLines.push(yLine);
// z-axis is blue
var material_Z_Axis = new THREE.LineBasicMaterial({
color: 0x0000ff, //blue
linewidth: 2
});
NOP_VIEWER.impl.matman().addMaterial('material_Z_Axis',material_Z_Axis,true);
//draw the z-axix line
var zLine = drawLine(
{x : 0, y : 0, z : 0} ,
{x : 0, y : 0, z : size} ,
material_Z_Axis);
_axisLines.push(zLine);
console.log(_axisLines);
В расширении Bounding Box зритель загружается локально и является версией 1.2.23. Я могу легко нарисовать линии в этом представлении с точным кодом, размещенным на http://adndevblog.typepad.com/cloud_and_mobile/2015/12/understand-the-coordinate-system-of-view-and-data-api-with- axishelper-extension.html – MarshAPI
Я могу рисовать линии, используя расширение BondingBox как есть в последней версии программы просмотра в 3D-моделях: v 2.13. Если у вас возникли проблемы, отправьте образец кода, который может воспроизвести проблему. –
образец кода, добавленный с образцом ссылки для просмотра, который, похоже, не похож на этот код рисования линии. (рада узнать, что это должно быть возможно) – MarshAPI