Skip to content

Commit 0a2da53

Browse files
committed
add markup feature
1 parent df46667 commit 0a2da53

File tree

4 files changed

+105
-5
lines changed

4 files changed

+105
-5
lines changed

css/style.css

+5
Original file line numberDiff line numberDiff line change
@@ -79,3 +79,8 @@ body {
7979
#dashboard-bar-select {
8080
min-width: 100px;
8181
}
82+
83+
/* TODO*/
84+
#toolbar-markup {
85+
left: 15px;
86+
}

index.html

+1
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ <h4 id="dashboard-bar-title">-</h4>
8484
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
8585
<script src="js/extensions/extension.js"></script>
8686
<script src="js/extensions/listener-extension.js"></script>
87+
<script src="js/extensions/markup-extension.js"></script>
8788

8889
<!-- Main -->
8990
<script src='js/main.js'></script>

js/extensions/markup-extension.js

+89
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
function MarkupExtension(viewer, options) {
2+
Autodesk.Viewing.Extension.call(this, viewer, options);
3+
}
4+
5+
MarkupExtension.prototype = Object.create(Autodesk.Viewing.Extension.prototype);
6+
MarkupExtension.prototype.constructor = MarkupExtension;
7+
8+
MarkupExtension.prototype.load = function () {
9+
// Set background environment to "Infinity Pool"
10+
// and make sure the environment background texture is visible
11+
this.viewer.setLightPreset(6);
12+
this.viewer.setEnvMapBackground(true);
13+
14+
// Ensure the model is centered
15+
this.viewer.fitToView();
16+
17+
return true;
18+
};
19+
20+
MarkupExtension.prototype.onToolbarCreated = function (toolbar) {
21+
22+
23+
var viewer = this.viewer;
24+
25+
// Crear Toolbar vertical
26+
var toolbar2 = new Autodesk.Viewing.UI.ToolBar('toolbar-markup', { collapsible: true, alignVertically: true });
27+
28+
var ctrlGroup = new Autodesk.Viewing.UI.ControlGroup('Autodesk.Research.TtIf.Extension.Toolbar.ControlGroup');
29+
ctrlGroup.addClass('toolbar-vertical-group');
30+
31+
32+
var button2 = new Autodesk.Viewing.UI.ComboButton('show-env-bg-button');
33+
button2.addClass('show-env-bg-button');
34+
button2.setToolTip('Create a markup');
35+
button2.setIcon('adsk-icon-measure-area-new');
36+
ctrlGroup.addControl(button2);
37+
38+
toolbar2.addControl(ctrlGroup);
39+
// viewer.addControl(ctrlGroup);
40+
toolbar2.setVisible(true);
41+
42+
43+
44+
45+
//toolbar3
46+
var toolbar3 = new Autodesk.Viewing.UI.ToolBar('toolbar-hide', { collapsible: true, alignVertically: false });
47+
var button3 = new Autodesk.Viewing.UI.Button('show-env-bg-button');
48+
button2.addControl(button3);
49+
toolbar3.setVisible(true);
50+
// button2.container.append(toolbar3.container);
51+
52+
53+
//
54+
this.viewer.container.append(toolbar2.container)
55+
debugger;
56+
57+
// Button 1
58+
var button1 = new Autodesk.Viewing.UI.Button('show-env-bg-button');
59+
button1.onClick = function (e) {
60+
// viewer.setEnvMapBackground(true);
61+
62+
let MarkupsExtension = viewer.getExtension('Autodesk.Viewing.MarkupsCore');
63+
MarkupsExtension.enterEditMode();
64+
65+
var modeText = new Autodesk.Markups.Core.EditModeText(MarkupsExtension);
66+
MarkupsExtension.changeEditMode(modeText);
67+
68+
};
69+
button1.addClass('show-env-bg-button');
70+
button1.setToolTip('Create a markup');
71+
button1.setIcon('adsk-icon-measure-area-new');
72+
73+
74+
// SubToolbar
75+
this.subToolbar = new Autodesk.Viewing.UI.ControlGroup('my-custom-toolbar');
76+
this.subToolbar.addControl(button1);
77+
78+
toolbar.addControl(this.subToolbar);
79+
80+
};
81+
82+
MarkupExtension.prototype.unload = function () {
83+
if (this.subToolbar) {
84+
this.viewer.toolbar.removeControl(this.subToolbar);
85+
this.subToolbar = null;
86+
}
87+
};
88+
89+
Autodesk.Viewing.theExtensionManager.registerExtension('MarkupExtension', MarkupExtension);

js/main.js

+10-5
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,18 @@ var options = {
2727
Autodesk.Viewing.Initializer(options, function () {
2828
// Extensions
2929
var config3d = {
30-
extensions: ['forgeExtension', 'EventsTutorial', 'Autodesk.DocumentBrowser'],
30+
extensions: ['forgeExtension', 'EventsTutorial', 'Autodesk.DocumentBrowser', 'Autodesk.Viewing.MarkupsCore','MarkupExtension'],
3131
};
3232

3333
// The dom element, where load the viewer
3434
var htmlDiv = document.getElementById('forgeViewer');
3535
viewer = new Autodesk.Viewing.GuiViewer3D(htmlDiv, config3d);
36-
36+
37+
38+
// viewer.addEventListener(Autodesk.Viewing.GEOMETRY_LOADED_EVENT, (x) => {
39+
// let MarkupsExtension = viewer.getExtension('Autodesk.Viewing.MarkupsCore');
40+
// MarkupsExtension.enterEditMode();
41+
// })
3742

3843

3944
var startedCode = viewer.start();
@@ -74,8 +79,8 @@ buttonFloat.addEventListener('click', function name(params) {
7479
console.error('Failed fetching Forge manifest');
7580
}
7681

77-
function userFunction(pdb) {
78-
return 42;
79-
}
82+
// function userFunction(pdb) {
83+
// return 42;
84+
// }
8085

8186
})

0 commit comments

Comments
 (0)