[Frontend] 取得3D模型中的tag_id,並獲取底下的電梯三個物件的nodeId(電梯門、電梯內部空間、電梯升降空間)
This commit is contained in:
		
							parent
							
								
									2db82f49aa
								
							
						
					
					
						commit
						2d38c6511f
					
				
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							@ -20,6 +20,17 @@
 | 
				
			|||||||
        <button id="1F1oor" onclick="move1Floor()">1 Floor</button>
 | 
					        <button id="1F1oor" onclick="move1Floor()">1 Floor</button>
 | 
				
			||||||
        <button id="2F1oor" onclick="move2Floor()">2 Floor</button>
 | 
					        <button id="2F1oor" onclick="move2Floor()">2 Floor</button>
 | 
				
			||||||
        <button id="3F1oor" onclick="move3Floor()">3 Floor</button>
 | 
					        <button id="3F1oor" onclick="move3Floor()">3 Floor</button>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <button id="1F1oor" onclick="move4Floor()">4 Floor</button>
 | 
				
			||||||
 | 
					        <button id="2F1oor" onclick="move5Floor()">5 Floor</button>
 | 
				
			||||||
 | 
					        <button id="3F1oor" onclick="move6Floor()">6 Floor</button>
 | 
				
			||||||
 | 
					        <button id="1F1oor" onclick="move7Floor()">7 Floor</button>
 | 
				
			||||||
 | 
					        <button id="2F1oor" onclick="move8Floor()">8 Floor</button>
 | 
				
			||||||
 | 
					        <button id="3F1oor" onclick="move9Floor()">9 Floor</button>
 | 
				
			||||||
 | 
					        <button id="1F1oor" onclick="move10Floor()">10 Floor</button>
 | 
				
			||||||
 | 
					        <button id="2F1oor" onclick="move11Floor()">11 Floor</button>
 | 
				
			||||||
 | 
					        <button id="3F1oor" onclick="move12Floor()">12 Floor</button>
 | 
				
			||||||
 | 
					        <button id="3F1oor" onclick="moveB1Floor()">B1 Floor</button>
 | 
				
			||||||
        <input id="lightBar" type="range" min="0" max="100" step="5" onchange="changeLightPower()">亮度
 | 
					        <input id="lightBar" type="range" min="0" max="100" step="5" onchange="changeLightPower()">亮度
 | 
				
			||||||
        <!-- <input type="range">Main Axis</input> -->
 | 
					        <!-- <input type="range">Main Axis</input> -->
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
@ -49,7 +60,8 @@
 | 
				
			|||||||
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jstree/3.3.7/jstree.min.js"></script>
 | 
					    <script src="https://cdnjs.cloudflare.com/ajax/libs/jstree/3.3.7/jstree.min.js"></script>
 | 
				
			||||||
    <script src="https://developer.api.autodesk.com/modelderivative/v2/viewers/7.*/viewer3D.js"></script>
 | 
					    <script src="https://developer.api.autodesk.com/modelderivative/v2/viewers/7.*/viewer3D.js"></script>
 | 
				
			||||||
    <!-- <script src="https://developer.api.autodesk.com/modelderivative/v2/viewers/7.16/viewer3D.js"></script> -->
 | 
					    <!-- <script src="https://developer.api.autodesk.com/modelderivative/v2/viewers/7.16/viewer3D.js"></script> -->
 | 
				
			||||||
    <script src="js/forge/forgemodel.js"></script>
 | 
					    <!--<script src="js/forge/forgemodel.js"></script>-->
 | 
				
			||||||
 | 
					    <script src="js/forge/modeltest.js"></script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <script>
 | 
					    <script>
 | 
				
			||||||
@ -58,10 +70,12 @@
 | 
				
			|||||||
            //launchViewer('dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dnNjb2RlX2ZvcmdlX3Rlc3QvJUUzJTgwJTkwTUVQJUUzJTgwJTkxLm53Yw');//[TEST].nwd
 | 
					            //launchViewer('dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dnNjb2RlX2ZvcmdlX3Rlc3QvJUUzJTgwJTkwTUVQJUUzJTgwJTkxLm53Yw');//[TEST].nwd
 | 
				
			||||||
            //launchViewer('dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6LW1vZGVsX3Rlc3QxMTIxLyVFMyU4MCU5MFRFU1QlRTMlODAlOTEubndk');
 | 
					            //launchViewer('dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6LW1vZGVsX3Rlc3QxMTIxLyVFMyU4MCU5MFRFU1QlRTMlODAlOTEubndk');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            launchViewer('dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dGEzaHFzZmZ6cWJub3V4a3BsZGt1a3NldzRzajIxdzUtYmltc19tb2RlbHMvJUUzJTgwJTkwTUVQJUUzJTgwJTkxLm53Yw==');
 | 
					            //launchViewer('dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dGEzaHFzZmZ6cWJub3V4a3BsZGt1a3NldzRzajIxdzUtYmltc19tb2RlbHMvJUUzJTgwJTkwTUVQJUUzJTgwJTkxLm53Yw==');
 | 
				
			||||||
            //
 | 
					            //
 | 
				
			||||||
            //launchViewer('dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dGEzaHFzZmZ6cWJub3V4a3BsZGt1a3NldzRzajIxdzUtYmltc19tb2RlbHMvJUUzJTgwJTkwVEVTVCVFMyU4MCU5MS5ud2Q=');
 | 
					            //launchViewer('dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dGEzaHFzZmZ6cWJub3V4a3BsZGt1a3NldzRzajIxdzUtYmltc19tb2RlbHMvJUUzJTgwJTkwVEVTVCVFMyU4MCU5MS5ud2Q=');
 | 
				
			||||||
            
 | 
					            //launchViewer('dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dGEzaHFzZmZ6cWJub3V4a3BsZGt1a3NldzRzajIxdzUtYmltc19tb2RlbHMvJUUzJTgwJTkwJUU1JThGJUIwJUU1JThDJTk3JUU0JUI4JUFEJUU4JThGJUIxJUU1JUE0JUE3JUU2JUE4JTkzJUUzJTgwJTkxQVJDLm53ZA');
 | 
				
			||||||
 | 
					            launchViewer('dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dnNjb2RlX2ZvcmdlX3Rlc3QvJUUzJTgwJTkwJUU1JThGJUIwJUU1JThDJTk3JUU0JUI4JUFEJUU4JThGJUIxJUU1JUE0JUE3JUU2JUE4JTkzJUUzJTgwJTkxQVJDLm53ZA');
 | 
				
			||||||
 | 
					            //dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dnNjb2RlX2ZvcmdlX3Rlc3QvJUUzJTgwJTkwJUU1JThGJUIwJUU1JThDJTk3JUU0JUI4JUFEJUU4JThGJUIxJUU1JUE0JUE3JUU2JUE4JTkzJUUzJTgwJTkxQVJDLm53ZA
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
        function move1Floor() {
 | 
					        function move1Floor() {
 | 
				
			||||||
            setElevatorSpeed(0.2);
 | 
					            setElevatorSpeed(0.2);
 | 
				
			||||||
@ -79,6 +93,57 @@
 | 
				
			|||||||
            requestAnimationFrame(movElevator);
 | 
					            requestAnimationFrame(movElevator);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function move4Floor() {
 | 
				
			||||||
 | 
					            setElevatorSpeed(0.2);
 | 
				
			||||||
 | 
					            setElevatorFloor(3);
 | 
				
			||||||
 | 
					            requestAnimationFrame(movElevator);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        function move5Floor() {
 | 
				
			||||||
 | 
					            setElevatorSpeed(0.2);
 | 
				
			||||||
 | 
					            setElevatorFloor(4);
 | 
				
			||||||
 | 
					            requestAnimationFrame(movElevator);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        function move6Floor() {
 | 
				
			||||||
 | 
					            setElevatorSpeed(0.2);
 | 
				
			||||||
 | 
					            setElevatorFloor(5);
 | 
				
			||||||
 | 
					            requestAnimationFrame(movElevator);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        function move7Floor() {
 | 
				
			||||||
 | 
					            setElevatorSpeed(0.2);
 | 
				
			||||||
 | 
					            setElevatorFloor(6);
 | 
				
			||||||
 | 
					            requestAnimationFrame(movElevator);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        function move8Floor() {
 | 
				
			||||||
 | 
					            setElevatorSpeed(0.2);
 | 
				
			||||||
 | 
					            setElevatorFloor(7);
 | 
				
			||||||
 | 
					            requestAnimationFrame(movElevator);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        function move9Floor() {
 | 
				
			||||||
 | 
					            setElevatorSpeed(0.2);
 | 
				
			||||||
 | 
					            setElevatorFloor(8);
 | 
				
			||||||
 | 
					            requestAnimationFrame(movElevator);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        function move10Floor() {
 | 
				
			||||||
 | 
					            setElevatorSpeed(0.2);
 | 
				
			||||||
 | 
					            setElevatorFloor(9);
 | 
				
			||||||
 | 
					            requestAnimationFrame(movElevator);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        function move11Floor() {
 | 
				
			||||||
 | 
					            setElevatorSpeed(0.2);
 | 
				
			||||||
 | 
					            setElevatorFloor(10);
 | 
				
			||||||
 | 
					            requestAnimationFrame(movElevator);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        function move12Floor() {
 | 
				
			||||||
 | 
					            setElevatorSpeed(0.2);
 | 
				
			||||||
 | 
					            setElevatorFloor(11);
 | 
				
			||||||
 | 
					            requestAnimationFrame(movElevator);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        function moveB1Floor() {
 | 
				
			||||||
 | 
					            setElevatorSpeed(0.2);
 | 
				
			||||||
 | 
					            setElevatorFloor(-1);
 | 
				
			||||||
 | 
					            requestAnimationFrame(movElevator);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        function changeLightPower() {
 | 
					        function changeLightPower() {
 | 
				
			||||||
            var value = document.getElementById('lightBar').value;
 | 
					            var value = document.getElementById('lightBar').value;
 | 
				
			||||||
            console.log("power: " + value);
 | 
					            console.log("power: " + value);
 | 
				
			||||||
 | 
				
			|||||||
@ -52,7 +52,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <script src="js/forge/modeltest.js"></script>
 | 
					    <script src="js/forge/modeltest.js"></script>
 | 
				
			||||||
    <script src="js/forge/AdnLevelSectionPanel.js"></script>
 | 
					    <!--<script src="js/forge/AdnLevelSectionPanel.js"></script>-->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <style>
 | 
					    <style>
 | 
				
			||||||
        .show-env-bg-button {
 | 
					        .show-env-bg-button {
 | 
				
			||||||
@ -69,6 +69,7 @@
 | 
				
			|||||||
            //launchViewer('dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dnNjb2RlX2ZvcmdlX3Rlc3QvJUUzJTgwJTkwJUU1JThGJUIwJUU1JThDJTk3JUU0JUI4JUFEJUU4JThGJUIxJUU1JUE0JUE3JUU2JUE4JTkzJUUzJTgwJTkxQVJDLm53ZA');
 | 
					            //launchViewer('dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dnNjb2RlX2ZvcmdlX3Rlc3QvJUUzJTgwJTkwJUU1JThGJUIwJUU1JThDJTk3JUU0JUI4JUFEJUU4JThGJUIxJUU1JUE0JUE3JUU2JUE4JTkzJUUzJTgwJTkxQVJDLm53ZA');
 | 
				
			||||||
            //launchViewer('dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dGEzaHFzZmZ6cWJub3V4a3BsZGt1a3NldzRzajIxdzUtYmltc19tb2RlbHMvJUUzJTgwJTkwJUU1JThGJUIwJUU1JThDJTk3JUU0JUI4JUFEJUU4JThGJUIxJUU1JUE0JUE3JUU2JUE4JTkzJUUzJTgwJTkxQVJDMjAyMjEyMDEubndk');
 | 
					            //launchViewer('dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dGEzaHFzZmZ6cWJub3V4a3BsZGt1a3NldzRzajIxdzUtYmltc19tb2RlbHMvJUUzJTgwJTkwJUU1JThGJUIwJUU1JThDJTk3JUU0JUI4JUFEJUU4JThGJUIxJUU1JUE0JUE3JUU2JUE4JTkzJUUzJTgwJTkxQVJDMjAyMjEyMDEubndk');
 | 
				
			||||||
            launchViewer('dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6LW1vZGVsX3Rlc3QxMTIxLyVFMyU4MCU5MCVFNSU4RiVCMCVFNSU4QyU5NyVFNCVCOCVBRCVFOCU4RiVCMSVFNSVBNCVBNyVFNiVBOCU5MyVFMyU4MCU5MUFSQ18yMDIyMTIwNS5ud2Q');
 | 
					            launchViewer('dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6LW1vZGVsX3Rlc3QxMTIxLyVFMyU4MCU5MCVFNSU4RiVCMCVFNSU4QyU5NyVFNCVCOCVBRCVFOCU4RiVCMSVFNSVBNCVBNyVFNiVBOCU5MyVFMyU4MCU5MUFSQ18yMDIyMTIwNS5ud2Q');
 | 
				
			||||||
 | 
					            //launchViewer('dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6LW1vZGVsX3Rlc3QxMTIxLyVFMyU4MCU5MCVFNSU4RiVCMCVFNSU4QyU5NyVFNCVCOCVBRCVFOCU4RiVCMSVFNSVBNCVBNyVFNiVBOCU5MyVFMyU4MCU5MUFSQ18yMDIyMTIwNS5ud2Q');
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
        function move1Floor() {
 | 
					        function move1Floor() {
 | 
				
			||||||
            setElevatorSpeed(0.2);
 | 
					            setElevatorSpeed(0.2);
 | 
				
			||||||
 | 
				
			|||||||
@ -95,22 +95,25 @@ function onDocumentLoadSuccess(doc) {
 | 
				
			|||||||
         //viewer.setThemingColor(751, color, null, true);
 | 
					         //viewer.setThemingColor(751, color, null, true);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
         var myDbid = currSelection;
 | 
					         var myDbid = currSelection;
 | 
				
			||||||
         viewer.getProperties(myDbid, function (e) {
 | 
					         //viewer.getProperties(myDbid, function (e) {
 | 
				
			||||||
             //console.log('Entire object response ', e);
 | 
					         //    //console.log('Entire object response ', e);
 | 
				
			||||||
             //console.log('Properties ', e.properties);
 | 
					         //    //console.log('Properties ', e.properties);
 | 
				
			||||||
             //foreach(item in e.properties) {
 | 
					         //    //foreach(item in e.properties) {
 | 
				
			||||||
             //    if (item.displayName == "【tag_id】") {
 | 
					         //    //    if (item.displayName == "【tag_id】") {
 | 
				
			||||||
             //        console.log(">> " + item.displayValue);
 | 
					         //    //        console.log(">> " + item.displayValue);
 | 
				
			||||||
             //    }
 | 
					         //    //    }
 | 
				
			||||||
             //}
 | 
					         //    //}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
             e.properties.forEach(function (item) {
 | 
					         //    e.properties.forEach(function (item) {
 | 
				
			||||||
                 if (item.displayName == "【tag_id】") {
 | 
					         //        //if (item.displayName == "【tag_id】") {
 | 
				
			||||||
                     console.log(">> " + item.displayValue);
 | 
					         //        //    console.log(">> " + item.displayValue);
 | 
				
			||||||
                 }
 | 
					         //        //}
 | 
				
			||||||
             });
 | 
					         //        if (item.displayName == "tag_id") {
 | 
				
			||||||
 | 
					         //            console.log(">> " + item.displayValue);
 | 
				
			||||||
 | 
					         //        }
 | 
				
			||||||
 | 
					         //    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
         });
 | 
					         //});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
     });
 | 
					     });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -123,7 +126,65 @@ function onDocumentLoadSuccess(doc) {
 | 
				
			|||||||
     var domElem = document.getElementById('all_id');
 | 
					     var domElem = document.getElementById('all_id');
 | 
				
			||||||
     domElem.innerText = allDbIdsStr;
 | 
					     domElem.innerText = allDbIdsStr;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    //parseInt(allDbIdsStr[i]
 | 
				
			||||||
 | 
					    //for (var i = 0; i < allDbIdsStr.length; i++) {
 | 
				
			||||||
 | 
					    //    //setTransparency(parseInt(allDbIdsStr[i]), 0.2);
 | 
				
			||||||
 | 
					    //    viewer.getProperties(parseInt(allDbIdsStr[i], function (e) {
 | 
				
			||||||
 | 
					    //         e.properties.forEach(function (item) {
 | 
				
			||||||
 | 
					    //             //if (item.displayName == "【tag_id】") {
 | 
				
			||||||
 | 
					    //             //    console.log(">> " + item.displayValue);
 | 
				
			||||||
 | 
					    //             //}
 | 
				
			||||||
 | 
					    //             if (item.displayName == "tag_id") {
 | 
				
			||||||
 | 
					    //                 console.log(">> " + item.displayValue);
 | 
				
			||||||
 | 
					    //             }
 | 
				
			||||||
 | 
					    //         });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    //     })
 | 
				
			||||||
 | 
					    //}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // ------------------ 取得tag_id底下的nodeId --------------------------------------
 | 
				
			||||||
 | 
					    var curDbId = 0;
 | 
				
			||||||
 | 
					    var tagId = 0;
 | 
				
			||||||
 | 
					    var _parentId = 0;
 | 
				
			||||||
 | 
					    var _childId = 0;
 | 
				
			||||||
 | 
					    //var childIdArr = new Array();
 | 
				
			||||||
 | 
					    let evelMap = new Map();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    allDbIdsStr.forEach((dbId) => {
 | 
				
			||||||
 | 
					        curDbId = parseInt(dbId);
 | 
				
			||||||
 | 
					        viewer.getProperties(curDbId, function (e) {
 | 
				
			||||||
 | 
					            e.properties.forEach(function (item) {
 | 
				
			||||||
 | 
					                if (item.displayName == "tag_id" && e.name == "【電梯】") {
 | 
				
			||||||
 | 
					                    
 | 
				
			||||||
 | 
					                    tagId = e.dbId;
 | 
				
			||||||
 | 
					                    viewer.getProperties(tagId, function (e2) {
 | 
				
			||||||
 | 
					                        e2.properties.forEach(function (item2) {
 | 
				
			||||||
 | 
					                            if (item2.displayName == "child") {
 | 
				
			||||||
 | 
					                                _parentId = item2.displayValue;
 | 
				
			||||||
 | 
					                                
 | 
				
			||||||
 | 
					                                viewer.getProperties(_parentId, function (e3) {
 | 
				
			||||||
 | 
					                                    var childIdArr = new Array();
 | 
				
			||||||
 | 
					                                    
 | 
				
			||||||
 | 
					                                    e3.properties.forEach(function (item3) {
 | 
				
			||||||
 | 
					                                        if (item3.displayName == "child") {
 | 
				
			||||||
 | 
					                                            _childId = item3.displayValue;
 | 
				
			||||||
 | 
					                                            childIdArr.push(_childId);
 | 
				
			||||||
 | 
					                                        }
 | 
				
			||||||
 | 
					                                    });
 | 
				
			||||||
 | 
					                                    evelMap.set(item.displayValue, childIdArr)
 | 
				
			||||||
 | 
					                                    console.log("map: " + evelMap);
 | 
				
			||||||
 | 
					                                })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                            }
 | 
				
			||||||
 | 
					                        });
 | 
				
			||||||
 | 
					                    })
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					    })
 | 
				
			||||||
 | 
					    //---------------------- end ---------------------------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
     
 | 
					     
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user