顶板横梁

顶板横梁

https://api.bimface.com/preview/bb0daad9

¥288.00

<!DOCTYPE html>

<html>

<head>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    <meta name="renderer" content="webkit">

    <meta http-equiv="X-UA-Compatible" content="ie=edge">

    <title>引线标签</title>

    <style media="screen">

        * {

            box-sizing: border-box;

        }

        html,

        body {

            margin: 0;

            padding: 0;

            width: 100%;

            height: 100%;

        }

        .container {

            width: 100%;

            height: 100%;

            padding-right: 210px;

            position: relative;

        }

        .view {

            height: 100%;

        }

        .right-bar {

            position: absolute;

            right: 0;

            top: 0;

            width: 210px;

            height: 100%;

            border-left: 1px solid #d8d8d8;

            vertical-align: top;

        }

        .title {

            height: 36px;

            border-bottom: 1px solid #d8d8d8;

            padding: 0 10px;

            line-height: 36px;

        }

        .button {

            padding: 7px 24px;

            border-radius: 3px;

            margin-right: 10px;

        }

        .add {

            color: #ffffff;

            background: #11dab7;

        }

        .cancel {

            border: 1px solid #11dab7;

            color: #11dab7;

        }

        .edit {

            display: none;

            padding: 10px;

            border-bottom: 1px solid #d8d8d8;

        }

        .textarea {

            width: 100%;

            height: 90px;

            border: 1px solid #ccc;

            resize: none;

            outline: none;

        }

        .tips {

            padding: 10px;

            font-size: 14px;

            color: #666;

        }

        .new {

            padding: 10px;

        }

    </style>

    <!-- 引用BIMFACE的JavaScript显示组件库 -->

    <script src="https://static.bimface.com/api/BimfaceSDKLoader/BimfaceSDKLoader@latest-release.js" charset="utf-8"></script>

</head>

<body>

    <div class="container">

        <div class="view" id="view"></div>

        <div class="right-bar">

            <div class="title">引线标签</div>

            <div class="tips" id="myTips"></div>

            <div class="edit" id="edit">

                <textarea id="textarea" class="textarea"></textarea>

                <button class="button add" id="save">保存</button>

                <button class="button cancel" id="cancel">取消</button>

            </div>

            <div class="new">

                <input type="button" class="button add" value="新建引线标签" id="new">

            </div>

        </div>

    </div>

    <script type="text/javascript">

        var viewer, drawable, selectedLabel;

        var viewToken = 'db42ed6e93c4466bacfa8fe0035a248d';

        var BimfaceLoaderConfig = new BimfaceSDKLoaderConfig();

        BimfaceLoaderConfig.viewToken = viewToken;

        BimfaceSDKLoader.load(BimfaceLoaderConfig, onSDKLoadSucceeded, onSDKLoadFailed);

        function onSDKLoadSucceeded(viewMetaData) {

            var view = document.getElementById('view');

            var app = new Glodon.Bimface.Application.WebApplicationDemo(viewMetaData, view);

            viewer = app._application.getViewer();

            var drawableConfig = new Glodon.Bimface.Plugins.Drawable.DrawableContainerConfig();

            drawableConfig.viewer = viewer;

            drawableConfig.maxNum = 10;

            drawable = new Glodon.Bimface.Plugins.Drawable.DrawableContainer(drawableConfig);

        };

        function onSDKLoadFailed(error) {};

        var edit = document.getElementById("edit"),

            textarea = document.getElementById("textarea"),

            myTips = document.getElementById("myTips"),

            newButton = document.getElementById("new"),

            saveButton = document.getElementById("save"),

            cancelButton = document.getElementById("cancel"),

            data = {};

        var clickEvent = function(componentData) {

            if (componentData && componentData.objectId) {

                myTips.style.display = "none";

                edit.style.display = "block";

                data.componentId = componentData.objectId;

                data.worldPosition = componentData.worldPosition;

            } else {

                myTips.innerText = "请选择一个合适的位置。";

                myTips.style.display = "block";

            }

        }

        var saveFn = function() {

            var text = textarea.value;

            if (!text.trim()) {

                myTips.innerText = "标签内容不能为空。";

                myTips.style.display = "block";

                return false;

            }

            if (data.item) {

                data.item.setText(text);

            } else {

                //引线标签的配置类

                var config = new Glodon.Bimface.Plugins.Drawable.LeadLabelConfig();

                //引线折点的相对位置

                config.offset = {

                    x: 27,

                    y: -47

                };

                //引线标签的内容

                config.text = text;

                //引线标签关联的构件

                config.objectId = data.componentId;

                //引线标签的世界坐标

                config.worldPosition = data.worldPosition;

                //引线标签是否可拖拽

                config.draggable = true;

                //引线标签的视图

                config.viewer = viewer;

                var label = new Glodon.Bimface.Plugins.Drawable.LeadLabel(config);

                //引线标签的双击事件

                label.onDoubleClick(function(item) {

                    newButton.style.display = "none";

                    edit.style.display = "block";

                    textarea.value = item.getText();

                    data.item = item;

                });

                //引线标签的左键点击事件

                label.onClick(function(item) {

                    console.log(label.getObjectId(item.id));

                    selectedLabel = item;

                })

                drawable.addItem(label);

                viewer.removeEventListener(Glodon.Bimface.Application.WebApplication3DEvent.ComponentsSelectionChanged, clickEvent);

            }

            data = {};

            textarea.value = "";

            edit.style.display = "none";

            myTips.style.display = "none";

            newButton.style.display = "block";

        }

        newButton.addEventListener("click", function() {

            viewer.addEventListener(Glodon.Bimface.Application.WebApplication3DEvent.ComponentsSelectionChanged, clickEvent);

            this.style.display = "none";

            myTips.innerText = "请在模型上选择标签位置。";

            myTips.style.display = "block";

        });

        saveButton.addEventListener("click", saveFn);

        cancelButton.addEventListener("click", function() {

            viewer.removeEventListener(Glodon.Bimface.Application.WebApplication3DEvent.ComponentsSelectionChanged, clickEvent);

            edit.style.display = "none";

            newButton.style.display = "block";

            textarea.value = "";

            data = {};

        })

        document.addEventListener("keyup", function(e) {

            var e = e || event;

            if (selectedLabel && (e.keyCode == 8 || e.keyCode == 46)) {

                drawable.removeItemById(selectedLabel.id);

                selectedLabel = null;

            }

        })

    </script>

曝光90浏览3