Фрезерный станок с ЧПУ LUNYEE 4040 Nova, цельнометаллический, двойные линейные направляющие и ШВП по осям XYZ, с триммером 710 Вт для фрезеровки металла, алюминия, латуни, дерева, акрила и печатных плат

$1,079.00
$2,299.00
-$1,220.00
Опция:  ЧПУ-фрезер
Отправить в:  Россия
Количество
/** @private {string} */ class SpzCustomAnchorScroll extends SPZ.BaseElement { static deferredMount() { return false; } constructor(element) { super(element); /** @private {Element} */ this.scrollableContainer_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } buildCallback() { this.viewport_ = this.getViewport(); this.initActions_(); } setTarget(containerId, targetId) { this.containerId = '#' + containerId; this.targetId = '#' + targetId; } scrollToTarget() { const container = document.querySelector(this.containerId); const target = container.querySelector(this.targetId); const {scrollTop} = container; const eleOffsetTop = this.getOffsetTop_(target, container); this.viewport_ .interpolateScrollIntoView_( container, scrollTop, scrollTop + eleOffsetTop ); } initActions_() { this.registerAction( 'scrollToTarget', (invocation) => this.scrollToTarget(invocation?.caller) ); this.registerAction( 'setTarget', (invocation) => this.setTarget(invocation?.args?.containerId, invocation?.args?.targetId) ); } /** * @param {Element} element * @param {Element} container * @return {number} * @private */ getOffsetTop_(element, container) { if (!element./*OK*/ getClientRects().length) { return 0; } const rect = element./*OK*/ getBoundingClientRect(); if (rect.width || rect.height) { return rect.top - container./*OK*/ getBoundingClientRect().top; } return rect.top; } } SPZ.defineElement('spz-custom-anchor-scroll', SpzCustomAnchorScroll); const STRENGTHEN_TRUST_URL = "/api/strengthen_trust/settings"; class SpzCustomStrengthenTrust extends SPZ.BaseElement { constructor(element) { super(element); this.renderElement_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { this.xhr_ = SPZServices.xhrFor(this.win); const renderId = this.element.getAttribute('render-id'); SPZCore.Dom.waitForChild( document.body, () => !!document.getElementById(renderId), () => { this.renderElement_ = SPZCore.Dom.scopedQuerySelector( document.body, `#${renderId}` ); if (this.renderElement_) { this.render_(); } this.registerAction('track', (invocation) => { this.track_(invocation.args); }); } ); } render_() { this.fetchData_().then((data) => { if (!data) { return; } SPZ.whenApiDefined(this.renderElement_).then((apis) => { apis?.render(data); document.querySelector('#strengthen-trust-render-1539149753700').addEventListener('click',(event)=>{ if(event.target.nodeName == 'A'){ this.track_({type: 'trust_content_click'}); } }) }); }); } track_(data = {}) { const track = window.sa && window.sa.track; if (!track) { return; } track('trust_enhancement_event', data); } parseJSON_(string) { let result = {}; try { result = JSON.parse(string); } catch (e) {} return result; } fetchData_() { return this.xhr_ .fetchJson(STRENGTHEN_TRUST_URL) .then((responseData) => { if (!responseData || !responseData.data) { return null; } const data = responseData.data; const moduleSettings = (data.module_settings || []).reduce((result, moduleSetting) => { return result.concat(Object.assign(moduleSetting, { logos: (moduleSetting.logos || []).map((item) => { return moduleSetting.logos_type == 'custom' ? this.parseJSON_(item) : item; }) })); }, []); return Object.assign(data, { module_settings: moduleSettings, isEditor: window.self !== window.top, }); }); } } SPZ.defineElement('spz-custom-strengthen-trust', SpzCustomStrengthenTrust);
Основные преимущества LUNYEE 4040 Nova

[Модернизированный триммер Ф65 мм]

Мощный фрезерный триммер 710 Вт с цангой ER11 1/8" и 6-ступенчатой регулировкой скорости (6 000–30 000 об/мин).

[Двойные линейные направляющие и ШВП]

Каждая ось (X, Y, Z) оснащена двойными линейными рельсами HGH-15 и шарико-винтовыми парами (ШВП) 1204. Это значительно повышает точность, жесткость и грузоподъемность при резке металла, а также обеспечивает улучшенную пылезащиту для осей X и Y.

[Прошивка Grbl_ESP32 (GRBL 1.3a)]

Оптимизированная плата управления работает на базе новейшей прошивки GRBL 1.3a. Она поддерживает такие продвинутые функции, как лазерная гравировка, 4-я (поворотная) ось, шаговые двигатели с замкнутым контуром (closed-loop) и 3-контактный датчик высоты инструмента (тач-проб).

[Шаговые двигатели Nema 23]

Оси X, Y и Z оснащены мощными шаговыми двигателями Nema 23 (2.8A, крутящий момент 1.2 Н·м). Плата имеет интерфейсы для замкнутого контура, что обеспечивает легкую модернизацию и замену по принципу «подключи и работай» (Plug and Play).

[Настраиваемые макро-кнопки и Wi-Fi]

Встроенный 32-битный MCU с веб-интерфейсом ESP3D позволяет управлять станком через ПК, смартфон или планшет без использования USB-кабеля. Макро-кнопка по умолчанию настроена на возврат в исходную точку (Homing), но ее можно перепрограммировать на паузу, остановку, сброс или выполнение G-кода с SD-карты.

[Широкая совместимость и полный функционал]

Станок совместим с Windows, Linux и Mac, а также поддерживает ПО, работающее с GRBL (UGS, Fusion360, VCarve, Easel, Lightburn и др.). В комплект входят двойные концевые выключатели для осей X/Y/Z, датчик домашней точки, кнопка аварийной остановки (E-stop) и датчик оси Z (Z-probe).

[Простая сборка и поддержка пользователей]

Основные узлы поставляются в предварительно собранном виде с аккуратным кабель-менеджментом. В комплекте идет подробное печатное руководство пользователя, а также видео по сборке и демонстрации работы для быстрого запуска.

Примечание: Шпиндель модели 4040 Nova был обновлен и теперь поддерживает цанги ER11 для повышения совместимости и производительности обработки.

Сердце точности: технологии ШВП и сдвоенных линейных рельсов

LUNYEE 4040 Nova оснащен шарико-винтовыми передачами (ШВП) 1204 по осям X, Y и Z, что сводит к минимуму трение и люфт для обеспечения плавности хода. Каждая ось также оборудована двойными линейными направляющими HG15, которые гарантируют исключительную жесткость и устойчивость к нагрузкам во всех направлениях. Это обеспечивает стабильность каждого прохода фрезы и точность позиционирования до ±0,05 мм.

Раскройте мощь шпинделя 710 Вт: универсальность для любых материалов

LUNYEE 4040 Nova оснащен шпинделем мощностью 710 Вт, что обеспечивает профессиональную производительность для самых разных задач. Оцените высокую скорость и эффективность при обработке сложных деталей из алюминия. Для творческих проектов возможности шпинделя позволяют создавать крупные, высокодетализированные рельефы на твердой древесине (например, портреты или гербы) с безупречной четкостью и полным контролем процесса. От металла и пластика до дерева — ваши возможности ограничены только вашим воображением.

LUNYEE 4040 Nova: Основа технологий скоростной обработки

LUNYEE 4040 Nova — это идеальное сочетание динамики и исключительной стабильности. Мощные шаговые двигатели с высоким крутящим моментом и высокопроизводительные драйверы образуют надежную систему привода, обеспечивая мгновенную мощность для быстрого ускорения. Линейные направляющие промышленного класса плавно передают эту энергию, гарантируя стабильное движение без вибраций даже на высоких скоростях. Прочное шасси и жесткая рама служат надежным фундаментом для поддержания абсолютной точности, делая каждый высокоскоростной рез быстрым, точным и безупречным.

LUNYEE 4040 Nova: Точность промышленного уровня

LUNYEE 4040 Nova обеспечивает беспрецедентную стабильность реза. В отличие от обычных настольных станков с ЧПУ, которые страдают от износа и погрешностей роликов (V-wheels), а также от люфтов и вибраций ходовых винтов или ременных приводов, 4040 Nova сохраняет идеальную устойчивость благодаря двойным линейным направляющим и высокоточным шарико-винтовым передачам (ШВП). В сочетании с мощными шаговыми двигателями и высокопроизводительными драйверами, станок гарантирует точность промышленного уровня, плавность хода и долговечность. Каждый ваш рез будет точным и надежным.

Сконструирован для максимальной точности

Новый 4040 Nova оснащен двойными линейными направляющими HGH-15, которые обеспечивают непоколебимую стабильность: никаких прогибов, никаких вибраций — только чистая точность. В сочетании с шарико-винтовыми передачами (ШВП) 1204, система достигает КПД более 90% и полностью исключает люфты, гарантируя микронную точность при каждом проходе. Благодаря встроенной защите осей X и Y от пыли, эти критически важные компоненты остаются защищенными и сохраняют точность на долгие годы.

LUNYEE 4040 Nova: Покоряйте любые материалы

Этот новый настольный станок с ЧПУ с легкостью справляется с металлами, такими как алюминий и медь, а также профессионально режет массив дерева, МДФ, акрил, нейлон и углеродное волокно (карбон). Каких бы задач ни требовал ваш проект, 4040 Nova сконструирован, чтобы справиться с ними. Один станок — безграничные возможности.

Профессиональная мощность, доступная новичкам

Этот фрезерный станок с ЧПУ сочетает в себе высокую мощность и простоту управления. Он совместим с Windows, Linux и Mac и безупречно работает с программным обеспечением, которое вы уже знаете, включая популярные инструменты на базе GRBL, такие как Easel, Candle, UGS и Fusion360. Вам нужно лишь подключить станок, загрузить свой проект и начать резку с точностью промышленного уровня.

Технические характеристики Lunyee 4040 Nova

Рабочая область 400 x 400 x 130 мм (15.75" x 15.75" x 5.12")
Шпиндель 710 Вт ±10%; 6 скоростей (6 000 – 30 000 об/мин)
Держатель шпинделя Совместим с 52 мм, 65 мм, 69 мм и 80 мм
Точность ±0.05 мм
Материал рамы Цельноалюминиевый корпус
Ходовой винт ШВП 1204 (Шарико-винтовая передача)
Система перемещения Двойные линейные направляющие HG15 и ШВП
Шаговый двигатель NEMA 23; 2.8 А, крутящий момент 1.21 Н·м
Концевые выключатели Установлены на осях X, Y и Z
Контроллер 32-битный MCU (совместим с GRBL)
Поддерживаемое ПО Easel, Candle, UGS, Fusion 360, LaserGRBL, LightBurn
Совместимые ОС Windows XP/7/8/10/11, Linux, Mac OS
Блок питания AC 110/230 В (импульсный)
Время сборки От 5 минут

Основные преимущества

  • Промышленная стабильность: Линейные направляющие HG15 обеспечивают высокую жесткость и точность обработки.
  • Универсальность: Многоразмерный держатель позволяет легко устанавливать профессиональные шпиндели разного диаметра.
  • Высокая производительность: 32-битная плата управления гарантирует плавность движений при выполнении сложных проектов.

Гарантия и совместимость:

🛡️ 1 год бесплатного гарантийного обслуживания ⚙️ Полная совместимость с любым CAM/ЧПУ программным обеспечением на базе GRBL
const isSpecialHeroTheme = window.SHOPLAZZA?.theme?.merchant_theme_name == 'Hero' && window.SHOPLAZZA?.theme?.merchant_theme_c_version == '2.2.19'; const specialHeroThemeClassName = 'hero_2_2_19_smart_recommend_block'; class SpzSmartBlockComponent extends SPZ.BaseElement { constructor(element) { super(element); this.templates_ = null; this.container_ = null; this.i18n_ = {}; this.config_ = {}; this.show_type_ = 3; this.product_resource_id_ = ''; this.collection_resource_id_ = ''; this.cart_items_ = []; this.customer_id_ = ''; this.order_id_ = ''; } static deferredMount() { return false; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { const template_type = window.C_SETTINGS.meta.page.template_type; if (template_type === 1) { this.show_type_ = 3; this.product_resource_id_ = window.C_SETTINGS.meta.page.resource_id; } else if (template_type === 2) { this.show_type_ = 4; this.collection_resource_id_ = window.C_SETTINGS.meta.page.resource_id; } else if (template_type === 15){ this.show_type_ = 5; } else if (template_type === 13){ this.show_type_ = 6; } else if (template_type === 20){ this.show_type_ = 7; this.customer_id_ = window.C_SETTINGS.customer.customer_id; } else if (template_type === 35){ this.show_type_ = 8; this.order_id_ = window.location.pathname.split('/').pop(); } this.templates_ = SPZServices.templatesForDoc(this.element); this.setAction_(); } mountCallback() { const that = this; const themeName = window.C_SETTINGS.theme.merchant_theme_name; const isGeek = /Geek/.test(themeName); this.fetchRules().then((res) => { if (res && res.rules && res.rules.length) { const blockEl = document.getElementById('smart_recommend_block'); this.initBlockClass(blockEl); this.initItemClass(blockEl); SPZ.whenApiDefined(blockEl).then((api) => { api.render({data: res}, true).then(() => { if (isGeek && that.show_type_ === 6) { blockEl.querySelector('.plugin_container_wrpper').style.padding = '30px 0'; } const recommendStyle = document.createElement('style'); recommendStyle.innerHTML = ` .plugin__recommend_container,.app-recommend-card { display: none !important; } `; document.head.appendChild(recommendStyle); const fetchList = []; res.rules.forEach((rule) => { fetchList.push(this.fetchRuleProductList(rule.id)); }); const fetchAll = Promise.all(fetchList); fetchAll.then((p_res) => { res.rules.forEach((rule, index) => { rule.products = p_res[index] && p_res[index].products; if (rule.products && rule.products.length) { const modalRender = document.getElementById('smart_recommend_js_root'); const $dest = document.getElementById('cart'); const isLifeStyle = /Life.*Style/.test(window.C_SETTINGS.theme.merchant_theme_name); if (modalRender && isLifeStyle && $dest.clientWidth > 767) { modalRender.classList.add('zb-mt-[-180px]') } } const ruleEl = document.getElementById('smart_recommend_rule_' + rule.id); SPZ.whenApiDefined(ruleEl).then((api) => { api.render({data: rule}, true).then(() => { that.impressListen(`#smart_recommend_rule_ul_${rule.id}`, function(){ that.trackRuleImpress(rule); }); const btnElList = document.querySelectorAll(`#smart_recommend_rule_ul_${rule.id} button`); btnElList.forEach((btnEl) => { if (btnEl && rule.config && rule.config.quick_shop_button_bg_color && rule.config.quick_shop_button_text_color) { btnEl.style.backgroundColor = rule.config.quick_shop_button_bg_color; btnEl.style.color = rule.config.quick_shop_button_text_color; } }); if (isSpecialHeroTheme) { ruleEl.querySelectorAll(`.smart_recommend_title`).forEach(dom=>{ dom.classList.add('type-title-font-family'); }); document.querySelectorAll(`.${specialHeroThemeClassName} #smart_recommend_rule_ul_${rule.id} .zb-recommend-price-line-through .money`).forEach(dom=>{ dom.classList.add('type-body-font-family'); }); }; }); }); }); }); }) }) } else { if (window.top !== window.self) { const template_type = window.C_SETTINGS.meta.page.template_type; const holderEl = document.getElementById('smart_recommend_preview_no_data_placeholder'); SPZ.whenApiDefined(holderEl).then((api) => { api.render({data: { isCart: template_type === 13, isCollection: template_type === 2, isProduct: template_type === 1, isIndex: template_type === 15 }}, true); }); } } }); } initBlockClass(blockEl) { if (!blockEl) return; if (blockEl.parentElement && blockEl.parentElement.offsetWidth === document.body.clientWidth) { blockEl.classList.add('smart_recommend_block_fullscreen'); }; if (isSpecialHeroTheme) { blockEl.classList.add(specialHeroThemeClassName); }; } initItemClass(blockEl) { if (blockEl) { const containerWidth = blockEl.offsetWidth; let itemWidth = ''; if (containerWidth > 780) { itemWidth = '16%'; } else if (containerWidth > 600) { itemWidth = '20%'; } else { itemWidth = '24%'; } const itemStyleEl = document.createElement('style'); itemStyleEl.innerHTML = `.zb-recommend-li-item{ width: ${itemWidth}; }`; document.body.appendChild(itemStyleEl); } } setAction_() { this.registerAction('quickShop', (data) => { const that = this; const product_id = data.args.product_id; const productIndex = data.args.productIndex; const rule_id = data.args.rule_id; const ssp = data.args.ssp; const scm = data.args.scm; const cfb = data.args.cfb; const ifb = data.args.ifb; const modalRender = document.getElementById('smart_recommend_product_modal_render'); if (modalRender) { document.body.appendChild(modalRender); } if (product_id) { this.fetchProductData(product_id).then((res) => { const product = res.products && res.products.length && res.products[0] || {}; product.cfb = cfb; product.ifb = ifb; SPZ.whenApiDefined(modalRender).then((api) => { api.render({product: product, productIndex: productIndex, rule_id: rule_id, ssp: ssp, scm: scm, show_type: that.show_type_}, true).then(() => { const modalEl = document.getElementById('smart_recommend_product_modal'); SPZ.whenApiDefined(modalEl).then((modal) => { that.impressListen('#smart_recommend_product_modal', function(){ that.trackQuickShop({ rule_id: rule_id, product_id: product_id }); }); modal.open(); }); const formEl = document.getElementById('smart_recommend_product_form'); SPZ.whenApiDefined(formEl).then((form) => { form.setProduct(product); }); const variantEl = document.getElementById('smart_recommend_product_variants'); SPZ.whenApiDefined(variantEl).then((variant) => { variant.handleRender(product); }); }); }) }); } }); this.registerAction('handleScroll', (data) => { this.directTo(data.args.rule_id, data.args.direction); }); this.registerAction('handleProductChange', (data) => { const variant = data.args.data.variant; const product = data.args.data.product; const imageRenderEl = document.getElementById('smart_recommend_product_image'); SPZ.whenApiDefined(imageRenderEl).then((api) => { api.render({ variant: variant, product: product }); }); }); this.registerAction('handleAtcSuccess', (detail) => { const data = detail.args; data.data.product = data.data.product || {}; data.data.variant = data.data.variant || {}; const product_id = data.data.product.id; const product_title = data.data.product.title; const variant_id = data.data.variant.id; const price = data.data.variant.price; const rule_id = data.rule_id; const aid = `smart_recommend.${this.show_type_}.${rule_id}`; const ifb = data.data.product.ifb; const cfb = data.data.product.cfb; const ssp = data.ssp; const scm = data.scm; const spm = `smart_recommend_${this.show_type_}.${data.spmIndex}`; const params = { id: product_id, product_id: product_id, number: 1, name: product_title, variant_id: variant_id, childrenId: variant_id, item_price: price, source: 'add_to_cart', _extra: { aid: aid, ifb: ifb, cfb: cfb, scm: scm, spm: `..${window.C_SETTINGS.meta.page.template_name}.${spm}`, ssp: ssp, } }; this.tranckAddToCart(params); }); this.registerAction('addATCHook', (data) => { const params = data.args; const spm = `smart_recommend_${this.show_type_}.${params.spmIndex}`; this.myInterceptor_ = window.djInterceptors && window.djInterceptors.track.use({ event: 'dj.addToCart', params: { aid: `smart_recommend.${this.show_type_}.` + params.rule_id, ssp: params.ssp, scm: params.scm, cfb: params.cfb, spm: `..${window.C_SETTINGS.meta.page.template_name}.${spm}`, }, once: true }); }); } tranckAddToCart(detail) { if (window.$) { window.$(document.body).trigger('dj.addToCart', detail); } } fetchRules() { const payload = { show_type: this.show_type_, }; let that = this; if (this.show_type_ === 6) { let line_items = []; return this.fetchCart().then((res) => { if (res && res.cart && res.cart.line_items) { line_items = res.cart.line_items.map((item) => { return { product_id: item.product_id, variant_id: item.variant_id, quantity: item.quantity, price: item.price } }); } payload.line_items = line_items; that.cart_items_ = line_items; return that.fetchRulesRequest(payload); }); } else { if (this.show_type_ === 3) { payload.line_items = [{ product_id: this.product_resource_id_ }]; } else if (this.show_type_ === 4) { payload.collection_id = this.collection_resource_id_; } else if (this.show_type_ === 7) { payload.customer_id = this.customer_id_; } else if (this.show_type_ === 8) { payload.order_id = this.order_id_; } return this.fetchRulesRequest(payload); } } fetchRulesRequest(payload) { return fetch(window.C_SETTINGS.routes.root + "/api/possum/recommend_query", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }).then(function(res){ if(res.ok){ return res.json(); } }); } fetchCart() { return fetch(`/api/cart/cart-select?r=${Math.random().toString(36).slice(-4)}`) .then((res) => { if (res.ok) { return res.json(); } }); } fetchRuleProductList(rule_id) { const payload = { page: 1, limit: 100, fields: ["title", "url", "image", "min_price_variant.price", "min_price_variant.compare_at_price"], rule_id: rule_id, }; if (this.show_type_ === 3) { payload.line_items = [{ product_id: this.product_resource_id_ }]; } else if (this.show_type_ === 4) { payload.collection_id = this.collection_resource_id_; } else if (this.show_type_ === 6) { payload.line_items = this.cart_items_; } else if (this.show_type_ === 7) { payload.customer_id = this.customer_id_; } else if (this.show_type_ === 8) { payload.order_id = this.order_id_; } return fetch(window.C_SETTINGS.routes.root + "/api/possum/recommend_products", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }).then(function(res){ if(res.ok){ return res.json(); } }).catch(function(err){ console.log(err); }); } fetchProductData(product_id) { return fetch(window.C_SETTINGS.routes.root + "/api/possum/products", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ product_ids: [product_id], fields: [ "images", "options", "min_price_variant", "variants"] }) }).then(function(res){ if(res.ok){ return res.json(); } }).catch(function(err){ console.log(err); const loadingEl = document.getElementById('smart_recommend_loading'); if (loadingEl) { loadingEl.style.display = 'none'; } }); } getStyle(ele, style) { if (!ele) return; if (window.getComputedStyle) { return window.getComputedStyle(ele)[style]; } return ele.currentStyle[style]; } directTo(id, direction) { const scrollElement = document.getElementById(`smart_recommend_rule_ul_${id}`); const blockWidth = parseInt(this.getStyle(scrollElement, 'width')); const scrollLength = (blockWidth * 0.19 - 12) * 5; const scrollPoint = scrollElement.scrollWidth - scrollElement.clientWidth; if (!scrollElement) return; if (direction === 'left') { if (document.dir === 'rtl') { scrollElement.scrollTo({ left: Math.abs(scrollElement.scrollLeft) >= scrollPoint - 100 ? 0 : scrollElement.scrollLeft - scrollLength, behavior: 'smooth' }); return; } scrollElement.scrollTo({ left: Math.max(scrollElement.scrollLeft - scrollLength, 0), behavior: 'smooth' }); } else { if (document.dir === 'rtl') { scrollElement.scrollTo({ left: Math.abs(scrollElement.scrollLeft) >= scrollPoint + 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' }); return; } scrollElement.scrollTo({ left: scrollElement.scrollLeft >= scrollPoint - 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' }); } } trackRuleImpress(rule) { if (window.sa && window.sa.track) { window.sa.track("plugin_common", { plugin_name: "upsell", event_type: "impressions", rule_id: rule.id, ssp: rule.ssp, scm: rule.scm, show_type: this.show_type_, support_app_block: window.C_SETTINGS.theme.support_app_block }); window.sa.track("module_impressions", { aid: `smart_recommend.${this.show_type_}.${rule.id}`, support_app_block: window.C_SETTINGS.theme.support_app_block }); } } trackQuickShop(data) { window.sa && sa.track && sa.track("plugin_common", { plugin_name: "upsell", event_type: "quick_shop", rule_id: data.rule_id, product_id: data.product_id, show_type: this.show_type_, }); } impressListen(selector, cb) { const el = document.querySelector(selector); const onImpress = (e) => { if (e) { e.stopPropagation(); } cb(); }; if (el && !el.getAttribute('imprsd')) { el.addEventListener('impress', onImpress) } else if (el) { onImpress(); } } } SPZ.defineElement('spz-custom-smart-block', SpzSmartBlockComponent);