? 体彩云南十一选五技巧:苹果打码赚钱平台 - ◆昨天云南十一选五开奖◆
  • 中美科学家在三峡地区发现世界最早动物足迹化石 2019-01-27
  • 百公里加速仅3.4s!宝马全新M5于3月22日上市 2018-12-12
  • 体彩云南十一选五技巧:xBIM WeXplorer xViewer的导航,相机、剖切、隐藏 等操作

    昨天云南十一选五开奖 www.wahbn.com 小说:苹果打码赚钱平台作者:通帝更新时间:2019-02-22字数:12002

    xBIM WeXplorer xViewer的导航,相机、剖切、隐藏 等操作


    ? ?目录

    ? ? 基础
    • xBIM WeXplorer 简要介绍
    • xBIM WeXplorer xViewer?基本应用
    • xBIM WeXplorer xViewer 浏览器检查
    • xBIM WeXplorer xViewer的导航,相机、剖切、隐藏 等操作
    • xBIM WeXplorer ?设置模型颜色
    ? ? ?高级应用
    • xBIM 综合使用案例与 ASP.NET MVC 集成(一)
    • xBIM 综合使用案例与 ASP.NET MVC 集成(二)
    • xBIM 综合使用案例与 ASP.NET MVC 集成(三)

    ? ? ?在本次我们探讨xViewer 的导航、剖切、隐藏、相机位置。这应该足以让用户通过所有缩放、平移和隐藏可能的障碍物来检查建筑物内部。

    ?1、相机位置

    ? ? ?根据产品的ID设置相机目标很容易??赡茏畛<姆椒ㄊ歉萦没Р僮魃柚靡桓瞿勘?。这些需要用户选择按钮或者鼠标操作来设置。如下例子:

    viewer.on("pick", function (args) {
        var id = args.id;
        viewer.setCameraTarget(id);
        pickedId = id;
    });

    ? ? 使用?setCameraTarget() 方法设置相机位置也很容易,如下实例将使用HTML输入来设置值。

    <input type="text" id="camX" value="-15000" />
    <input type="text" id="camY" value="-15000" />
    <input type="text" id="camZ" value="15000" />
    <button onclick="SetCamera()">Set camera</button>
    <script type="text/javascript">
        function SetCamera() {
            if (viewer) {
                var iX = document.getElementById("camX");
                var iY = document.getElementById("camY");
                var iZ = document.getElementById("camZ");
                viewer.setCameraPosition([iX.value, iY.value, iZ.value]);
            }
        }
    </script>

    ? ? ?能够向模型或零件显示默认轴对齐视图总是很重要的。这是xViewer的内置功能。它始终根据setCameraTarget()方法设置的原点和距离进行操作。在该示例中,每当用户选择如上所列的元素时,相机目标被设置。

    <button onclick="if (viewer) viewer.show("front");"></button>
    <button onclick="if (viewer) viewer.show("back");"></button>
    <button onclick="if (viewer) viewer.show("top");"></button>
    <button onclick="if (viewer) viewer.show("bottom");"></button>
    <button onclick="if (viewer) viewer.show("left");"></button>
    <button onclick="if (viewer) viewer.show("right");"></button>

    ? ? ? xViewer 只使用浏览器的默认导航功能,这些功能在鼠标左键轨道上运行,平移中键和放大滚动键。这应该是 直观的。请注意,查看器的最佳做法是将其放在一个没有垂直滚动条的页面上。因为缩放模型并同时滚动网站,缩放很难。如果您希望这样做,可以使用以下代码更改左按钮的默认行为:

    <button onclick="if (viewer) viewer.navigationMode = "orbit";"> 旋转 </button>
    <button onclick="if (viewer) viewer.navigationMode = "free-orbit";"> 自由旋转 </button>
    <button onclick="if (viewer) viewer.navigationMode = "pan";"> 平移 </button>
    <button onclick="if (viewer) viewer.navigationMode = "zoom";"> 缩放 </button>
    <button onclick="if (viewer) viewer.navigationMode = "none";"> 完全禁用默认导航 </button>

    ? ? ?当模型绕Z轴旋转时,默认轨道模式是固定的旋转。您也可以使用围绕实际轴旋转模型的自由旋转,因此更自由。你可以用这个从不同寻常的角度看模型。就像提示一样 - 如果需要的话,画圆圈来调整水平面。

    2、剖切

    ? ? ?剖切我们会经常使用,用户想要看到建筑物内部深处的东西。建筑物内部的导航可能会很容易变得复杂,但如果您可以剖切建筑物并看到内部,则可以让用户的操作变得更加轻松。这也是默认情况下在查看器中构建的。如果您将平面上的点和平面上的点传递给方法,您可以使用clip()方法自己设置裁剪平面,或者如果您调用没有参数的方法,您可以让用户以交互方式定义裁剪平面。使用unclip()方法比完全放弃剪辑。

    <button onclick="if (viewer) viewer.clip();">开始剖切</button>
    <button onclick="if (viewer) viewer.unclip();">取消剖切</button> 
    
    <input type="text" id="clipOrigX" value="0" />
    <input type="text" id="clipOrigY" value="0" />
    <input type="text" id="clipOrigZ" value="0" />
    
    <input type="text" id="clipNormX" value="-1" />
    <input type="text" id="clipNormY" value="0" />
    <input type="text" id="clipNormZ" value="0" />
    
    <button onclick="Clip()">剖切</button>
    <script type="text/javascript">
        function Clip() {
            var oX = document.getElementById("clipOrigX").value;
            var oY = document.getElementById("clipOrigY").value;
            var oZ = document.getElementById("clipOrigZ").value;
    
            var nX = document.getElementById("clipNormX").value;
            var nY = document.getElementById("clipNormY").value;
            var nZ = document.getElementById("clipNormZ").value;
    
            if (viewer)
                viewer.clip([oX, oY, oZ], [nX, nY, nZ]);
        }
    </script>

    ?3、隐藏

    ? ? ? 有时你也需要隐藏一个元素或一种元素,让我们说所有的墙壁。这可以通过使用setState()方法设置产品的状态来实现。使用resetStates()方法将所有状态重置为默认状态。此方法有一个可选参数,您可以使用它来显示空格。这些都是默认隐藏的,除非您将它们显示为manualy。

    <select id="cmbHide">
        <option value="noAction">无操作</option>
        <option value="hideProduct">隐藏产品</option>
        <option value="hideType">隐藏类型</option>
        <option value="highlight">高亮</option>
    </select>
    <button onclick="if (viewer) viewer.resetStates()">显示所有</button>
    <script type="text/javascript">
        function initHiding() {
            viewer.on("pick", function (args) {
                var cmb = document.getElementById("cmbHide");
                var option = cmb.value;
                switch (option) {
                    case "hideProduct":
                        viewer.setState(xState.HIDDEN, [args.id]);
                        break;
                    case "hideType":
                        var type = viewer.getProductType(args.id);
                        viewer.setState(xState.HIDDEN, type);
                        break;
                    case "highlight":
                        viewer.setState(xState.HIGHLIGHTED, [args.id]);
                        break;
                    default:
                        break;
                }
            });
        };
    </script> 

    ?

    当前文章://www.wahbn.com/news/201810/23/content_85675.html

    发布时间:2019-02-22 00:10:00

    花生日记怎么一起加入购物车付款 淘宝浏览任务软件 拼多多的购物车在哪里? 一台电脑在家赚钱 网络平台赚钱是真的吗 对打返水是怎么赚钱的 苹果手机文章分享赚钱 安卓手机赚钱 正规打字赚钱平台 蜜源怎么赚钱

    35692 59746 65160 96897 68531 1769522489 90029 43594

    我要说两句: (0人参与)

    发布
  • 中美科学家在三峡地区发现世界最早动物足迹化石 2019-01-27
  • 百公里加速仅3.4s!宝马全新M5于3月22日上市 2018-12-12