<?xml version="1.0"?>
<oembed><version>1.0</version><provider_name>Acero Estudio</provider_name><provider_url>https://aceroestudio.com/en/</provider_url><title>Acero Estudio, sharing knowledge - Acero Estudio</title><type>rich</type><width>600</width><height>338</height><html>&lt;blockquote class="wp-embedded-content" data-secret="LZxNjeHl6l"&gt;&lt;a href="https://aceroestudio.com/en/acero-estudio-sharing-knowledge-2/"&gt;Acero Estudio, sharing knowledge&lt;/a&gt;&lt;/blockquote&gt;&lt;iframe sandbox="allow-scripts" security="restricted" src="https://aceroestudio.com/en/acero-estudio-sharing-knowledge-2/embed/#?secret=LZxNjeHl6l" width="600" height="338" title="&#x201C;Acero Estudio, sharing knowledge&#x201D; &#x2014; Acero Estudio" data-secret="LZxNjeHl6l" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" class="wp-embedded-content"&gt;&lt;/iframe&gt;&lt;script type="text/javascript"&gt;
/* &lt;![CDATA[ */
/**
 * WordPress inline HTML embed
 *
 * @since 4.4.0
 * @output wp-includes/js/wp-embed.js
 *
 * Single line comments should not be used since they will break
 * the script when inlined in get_post_embed_html(), specifically
 * when the comments are not stripped out due to SCRIPT_DEBUG
 * being turned on.
 */
(function ( window, document ) {
	'use strict';

	/* Abort for ancient browsers. */
	if ( ! document.querySelector || ! window.addEventListener || typeof URL === 'undefined' ) {
		return;
	}

	/** @namespace wp */
	window.wp = window.wp || {};

	/* Abort if script was already executed. */
	if ( !! window.wp.receiveEmbedMessage ) {
		return;
	}

	/**
	 * Receive embed message.
	 *
	 * @param {MessageEvent} e
	 */
	window.wp.receiveEmbedMessage = function( e ) {
		var data = e.data;

		/* Verify shape of message. */
		if (
			! ( data || data.secret || data.message || data.value ) ||
			/[^a-zA-Z0-9]/.test( data.secret )
		) {
			return;
		}

		var iframes = document.querySelectorAll( 'iframe[data-secret="' + data.secret + '"]' ),
			blockquotes = document.querySelectorAll( 'blockquote[data-secret="' + data.secret + '"]' ),
			allowedProtocols = new RegExp( '^https?:$', 'i' ),
			i, source, height, sourceURL, targetURL;

		for ( i = 0; i &lt; blockquotes.length; i++ ) {
			blockquotes[ i ].style.display = 'none';
		}

		for ( i = 0; i &lt; iframes.length; i++ ) {
			source = iframes[ i ];

			if ( e.source !== source.contentWindow ) {
				continue;
			}

			source.removeAttribute( 'style' );

			if ( 'height' === data.message ) {
				/* Resize the iframe on request. */
				height = parseInt( data.value, 10 );
				if ( height &gt; 1000 ) {
					height = 1000;
				} else if ( ~~height &lt; 200 ) {
					height = 200;
				}

				source.height = height;
			} else if ( 'link' === data.message ) {
				/* Link to a specific URL on request. */
				sourceURL = new URL( source.getAttribute( 'src' ) );
				targetURL = new URL( data.value );

				if (
					allowedProtocols.test( targetURL.protocol ) &amp;&amp;
					targetURL.host === sourceURL.host &amp;&amp;
					document.activeElement === source
				) {
					window.top.location.href = data.value;
				}
			}
		}
	};

	function onLoad() {
		var iframes = document.querySelectorAll( 'iframe.wp-embedded-content' ),
			i, source, secret;

		for ( i = 0; i &lt; iframes.length; i++ ) {
			/** @var {IframeElement} */
			source = iframes[ i ];

			secret = source.getAttribute( 'data-secret' );
			if ( ! secret ) {
				/* Add secret to iframe */
				secret = Math.random().toString( 36 ).substring( 2, 12 );
				source.src += '#?secret=' + secret;
				source.setAttribute( 'data-secret', secret );
			}

			/*
			 * Let post embed window know that the parent is ready for receiving the height message, in case the iframe
			 * loaded before wp-embed.js was loaded. When the ready message is received by the post embed window, the
			 * window will then (re-)send the height message right away.
			 */
			source.contentWindow.postMessage( {
				message: 'ready',
				secret: secret
			}, '*' );
		}
	}

	window.addEventListener( 'message', window.wp.receiveEmbedMessage, false );
	document.addEventListener( 'DOMContentLoaded', onLoad, false );
})( window, document );
//# sourceURL=https://aceroestudio.com/wp-includes/js/wp-embed.js
/* ]]&gt; */
&lt;/script&gt;
</html><thumbnail_url>https://aceroestudio.com/wp-content/uploads/2021/04/vestel-1.jpg</thumbnail_url><thumbnail_width>800</thumbnail_width><thumbnail_height>800</thumbnail_height><description>We have had the pleasure of sharing with Vestel Ingenieros our knowledge and experience about the operation of 3D Laser Scanner technology and our fleet drone services. With the help of Juan Antonio Ortiz Rodr&#xED;guez and David Torrom&#xE9; Belda, we show the different advantages of both technologies and the importance of having a drone and thermal imaging camera when collecting data. We want to thank David Mora Negrete and Ricard Mart&#xED;nez Pla, among others, for their great welcome. It was a very interesting day and above all with an audience very interested in the content offered by the drone specialists at Acero Estudio. Given the circumstances, the event was carried out respecting all security measures. The training was carried out in shifts and in a place large enough to carry out the activity with the tranquility that we all need at this time. If you are also committed to training and would like to know more about these innovative technologies in the sector, take a look at 3D Laser Scanner and Drones.</description></oembed>
