Gratis 3d planer
Floorplanner is the easiest way to create floor plans. Using our free online editor, you can make 2D blueprints and 3D (interior) images within minutes.'; var iframe = document.createElement('iframe'); wrapper.id = 'planner-embed'; wrapper.className = 'planner-overlay'; iframe.id = 'planner-embed-iframe'; if ('vr' === type) { iframe.id = 'planner-embed-experience-vr-iframe'; wrapper.id = 'planner-embed-experience-vr'; iframe.allow = "xr-spatial-tracking; vr"; iframe.src = "https\u003A\/\/platform.by.me\/ExperienceVR\/\u003Fln\u003Den\u002DGB\u0026embed\u003Dtrue"; } iframe.frameborder = 0; iframe.width = '100%'; iframe.height = '100%'; iframe.scrolling = 'no'; //for ipad to not resizing automaticly wrapper.appendChild(iframe); var iframeDocument = iframe.contentWindow.document; if ('vr' != type) { var banner = document.createElement('div'); banner.className = 'banners'; wrapper.appendChild(banner); iframeDocument.open().write(onload); } iframeDocument.close(); } } createIframe(); (function (window, $) { var banners = { 'acquisition': { html: '\u003Cdiv\u0020class\u003D\u0022hero\u002Dinfo\u0020\u002Dabsolute\u0022\u003E\n\u0020\u0020\u0020\u0020\u003Cdiv\u0020class\u003D\u0022grid\u0020flex\u0022\u003E\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u003Cdiv\u0020class\u003D\u0022flex\u0020flex\u002Dwrap\u0020flex\u002Dreset\u0020flex\u002Dmiddle\u0020w\u002Dfull\u0020banner\u0022\u003E\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u003Cdiv\u0020class\u003D\u0022banner\u002Dimg\u0022\u003E\u003Cimg\u0020src\u003D\u0022https\u003A\/\/d1cfnnhb7hbym9.cloudfront.net\/dist\/images\/banners\/acquisition\/illustration_project.this.planner.isAuthenticated(); }, show: function(element) { var _this = this; var element = $(element); element.on('click', '.close-banner', function(e) { window.setTimeout(function() { _this.hide(); }, 0); e.preventDefault(); }); element.slideDown(); } } } }; var authenticated = false; var factory = (function(window, $) { var planner = null; var vrExperience = null; return { getPlanner: function() { var element; if (planner !== null) { return planner; } else if (element = document.getElementById('planner-embed') !== null) { var divIframe = $('#planner-embed'); planner = new Planner('https\u003A\/\/platform.by.me\/\u003Fln\u003Den\u002DGB', divIframe[0], { loginSucceeded: function() {}, projectCloned: function(error) { if (error) { switch (error.code) { case 'BM_205': window.openAjaxModal('\/ajax\/project\/modal\/buy\u002Dmore\u003Fhl\u003Den', {}, () => { window.registerFastspring(document.getElementById('buy-more-btn'), 'additional-projects-2'); }); break; } } }, analytic: function(properties) { if (window.analytics) { if (properties.page) { window.analytics.page(properties.page) } else if (properties.action) { window.analytics.track(properties.action, properties); } } }, open: function() { initDOMAfterOpen(this); }, close: function() { window.analytics && window.analytics.track('planner', {category: 'navigation', action:'planner', label: 'close_planner'});if (!authenticated && this.isAuthenticated()) { // IR-1128286 - scenario: Open link with ?open_planner, log in, close planner, the project page is refreshed after (due to log in), the ?open_planner is re-triggered and the page refreshed. const urlSearchParams = new URLSearchParams(window.location.search); urlSearchParams.delete('open_planner'); const searchParams = '?' + urlSearchParams.toString(); window.location.assign(searchParams); }resetDOMAfterClose(this, divIframe); }, ready: function() {this.loadProject(4377984, {viewMode: '3d', trial: true});}, banners: banners }); window.hbmPlanner = planner; } return planner; }, getVRExperience: function() { if (vrExperience !== null) { return vrExperience; } else { var divIframe = $('#planner-embed-experience-vr'); vrExperience = new Planner('https\u003A\/\/platform.by.me\/ExperienceVR\/\u003Fln\u003Den\u002DGB', divIframe[0], { open: function() { initDOMAfterOpen(this); }, close: function() { resetDOMAfterClose(this, divIframe); }, }); } return vrExperience; } }; })(window, $); function initDOMAfterOpen (element) { element.getIframe().focus(); $('body').removeClass('no-scroll').addClass('no-scroll'); $('main, footer').addClass('hide'); $('video').each(function () { this.pause() ; }); if (window.supportHeroWidget != undefined) { window.supportHeroWidget.hide(); } } function resetDOMAfterClose (element, divIframe) { element.getIframe().blur(); $('body').removeClass('no-scroll'); $('main, footer').removeClass('hide'); divIframe.removeClass('open') $('video').each(function () { this.play() ; }); } var event = 'DisableFeature'; if(factory.getPlanner()) { factory.getPlanner().sendMessage({ event: event, content: {name: 'DraftSight'} }); } var receiveMessage = function (event) { var planner = factory.getPlanner(); if (null !== planner) { planner.receiveMessage(event); } } var receiveMessageVRExperience = function (event) { var vrExperience = factory.getVRExperience(); if (null !== vrExperience) { vrExperience.receiveMessage(event); } } function addEvents (callback) { if (window.addEventListener) { window.addEventListener('message', callback, false); } else if (window.attachEvent) { window.attachEvent('onmessage', callback); } } function removeEvents (callback) { if (window.removeEventListener) { window.removeEventListener('message', callback, false); } else if (window.detachEvent) { window.detachEvent('onmessage', callback); } } addEvents(receiveMessage); factory.getPlanner().initAsynchronously(); $('body').on('click', 'span.open-experience-vr, a.open-experience-vr, button.open-experience-vr', function(event) { var _this = $(this); removeEvents(receiveMessage); addEvents(receiveMessageVRExperience); createIframe('vr'); event.preventDefault(); var project_id = parseInt($(this).data('project-id')); var vr = factory.getVRExperience(); vr.open(); vr.loadProject(project_id, { modal: { url: _this.data('open-modal'), openCheckCallback: _this.data('open-modal-open-check-callback'), openCallback: _this.data('open-modal-open-callback') }, }); }); $('body').on('click', '.open-planner-embed', function(event) { removeEvents(receiveMessageVRExperience); var _this = $(this); event.preventDefault(); createIframe(); addEvents(receiveMessage); switch(_this.data('action')) { case 'create-project': $.ajax(_this.data('action-url'), { method: 'POST' }).fail(function(jqXHR) { if (402 === jqXHR.status) { window.postMessage({event: 'OpenModalOffer', content: {modal: 'additionalProjectsModal', type: 'subscribe_projects'}}); } }).done(function(data) { factory.getPlanner().open(); factory.getPlanner().createProject(data.id); }); break; default: var project_id = parseInt(_this.data('project-id')); factory.getPlanner().open(); factory.getPlanner().loadProject(project_id, { viewMode: _this.data('view-mode'), HQRId: _this.data('image-id'), openStudio: _this.data('open-studio'), modal: { url: _this.data('open-modal'), openCheckCallback: _this.data('open-modal-open-check-callback'), openCallback: _this.data('open-modal-open-callback') }, banner: _this.data('banner'), bannerDelay: _this.data('banner-delay') }); break; } }); })(window, jQuery);