3D Design Software | 3D Modeling Rendering and AI | Sketchup services

We can help you find the best SEEIT3D extensions deals below!

Sketchup Extensions

Below are several solutions for SketchUp Extension power to your SketchUp Pro or Studio solutions. We proudly offer sales and expert support for some of the most popular and competitive SketchUp extension products on the market

Click our SketchUp Extension brands below for more

25% OFF in March!
SketchUp
SketchUp

Bundle Deals

For Rendering products

Scroll to Top
/* ══════════════════════════════════════════ ZWCAD Landing Page — script.js ══════════════════════════════════════════ */ (function () { 'use strict'; /* ──────────────────────────────────────── TAB SWITCHING (Overview / 2027 / Pricing) ──────────────────────────────────────── */ window.switchTab = function (tabId) { // Hide all pages document.querySelectorAll('.tab-page').forEach(function (page) { page.classList.remove('active'); }); // Deactivate all pnav tabs document.querySelectorAll('.pnav-tab').forEach(function (btn) { btn.classList.remove('active'); }); // Show target page var page = document.getElementById('page-' + tabId); if (page) page.classList.add('active'); // Activate matching tab button var btn = document.querySelector('.pnav-tab[data-tab="' + tabId + '"]'); if (btn) btn.classList.add('active'); // Scroll to top window.scrollTo({ top: 0, behavior: 'smooth' }); }; /* ──────────────────────────────────────── FEATURE TABS (within Overview section) ──────────────────────────────────────── */ window.switchFeat = function (event, featId) { var container = event.target.closest('.section') || document; container.querySelectorAll('.feat-tab').forEach(function (t) { t.classList.remove('active'); }); container.querySelectorAll('.feat-content').forEach(function (c) { c.classList.remove('active'); }); event.target.classList.add('active'); var target = document.getElementById('feat-' + featId); if (target) target.classList.add('active'); }; /* ──────────────────────────────────────── FAQ ACCORDION ──────────────────────────────────────── */ window.toggleFaq = function (el) { var item = el.parentElement; var wasOpen = item.classList.contains('open'); // Close all document.querySelectorAll('.faq-item').forEach(function (i) { i.classList.remove('open'); }); // Toggle clicked if (!wasOpen) { item.classList.add('open'); } }; /* ──────────────────────────────────────── PRICING: STANDALONE / NETWORK TABS ──────────────────────────────────────── */ window.switchPricingTab = function (el, paneId) { document.querySelectorAll('.pricing-license-tab').forEach(function (t) { t.classList.remove('active'); t.setAttribute('aria-selected', 'false'); }); document.querySelectorAll('.pricing-pane').forEach(function (p) { p.classList.remove('active'); }); el.classList.add('active'); el.setAttribute('aria-selected', 'true'); var pane = document.getElementById('pricing-pane-' + paneId); if (pane) pane.classList.add('active'); }; /* ──────────────────────────────────────── CALCULATOR ──────────────────────────────────────── */ var ACAD_PER_SEAT_YEAR = 1890 / 1.25; // ≈ £1,512 var ZWCAD_PRICES = { standard: 799, professional: 1135, mfg: 1360 }; var FLEX_UPGRADE_RATE = 0.18; var NETWORK_MULTIPLIERS = { standard: 999 / 899, professional: 1549 / 1399, mfg: 1849 / 1699 }; var calcState = { seats: 5, edition: 'standard', licType: 'standalone', upgrade: 'none', years: 3 }; window.setEdition = function (el, val) { el.closest('.btn-group').querySelectorAll('.btn-option').forEach(function (b) { b.classList.remove('active'); }); el.classList.add('active'); calcState.edition = val; recalc(); }; window.setLicType = function (el, val) { el.closest('.btn-group').querySelectorAll('.btn-option').forEach(function (b) { b.classList.remove('active'); }); el.classList.add('active'); calcState.licType = val; recalc(); }; window.setUpgrade = function (el, val) { el.closest('.btn-group').querySelectorAll('.btn-option').forEach(function (b) { b.classList.remove('active'); }); el.classList.add('active'); calcState.upgrade = val; recalc(); }; window.syncSeats = function (source) { var slider = document.getElementById('seatsSlider'); var input = document.getElementById('seatsInput'); if (!slider || !input) return; if (source === 'slider') { input.value = slider.value; } else { slider.value = Math.min(parseInt(input.value, 10) || 1, 50); } calcState.seats = parseInt(input.value, 10) || 1; recalc(); }; window.syncYears = function (source) { var slider = document.getElementById('yearsSlider'); var input = document.getElementById('yearsInput'); if (!slider || !input) return; if (source === 'slider') { input.value = slider.value; } else { slider.value = Math.min(parseInt(input.value, 10) || 1, 10); } calcState.years = parseInt(input.value, 10) || 1; recalc(); }; function fmt(n) { return '£' + Math.round(n).toLocaleString('en-GB'); } function recalc() { var seats = calcState.seats; var edition = calcState.edition; var licType = calcState.licType; var upgrade = calcState.upgrade; var years = calcState.years; // AutoCAD cost var acadPerSeatYear = ACAD_PER_SEAT_YEAR; var acadTotal = acadPerSeatYear * seats * years; // ZWCAD cost var zwPerSeat = ZWCAD_PRICES[edition]; if (licType === 'network') { zwPerSeat *= NETWORK_MULTIPLIERS[edition]; } var zwLicenceTotal = zwPerSeat * seats; var zwFlexTotal = upgrade === 'flexible' ? zwPerSeat * FLEX_UPGRADE_RATE * seats * years : 0; var zwTotal = zwLicenceTotal + zwFlexTotal; var saving = acadTotal - zwTotal; var pct = Math.round((saving / acadTotal) * 100); var editionLabels = { standard: 'Standard', professional: 'Professional', mfg: 'MFG' }; var licLabel = licType === 'network' ? 'network licence' : 'standalone licence'; var upgrLabel = upgrade === 'flexible' ? 'perpetual + flexible upgrades' : 'perpetual'; // Render var set = function (id, val) { var el = document.getElementById(id); if (el) el.textContent = val; }; set('out-seats', seats); set('out-seats2', seats); set('out-acad-seat', fmt(acadPerSeatYear) + '/yr'); set('out-years-label', years); set('out-years-label2', years); set('out-period', years); set('out-acad-total', fmt(acadTotal)); set('out-zwcad-total',fmt(zwTotal)); set('out-saving', saving > 0 ? fmt(saving) : '£0'); set('out-pct', saving > 0 ? pct + '% less than AutoCAD' : 'AutoCAD is cheaper for this config'); set('out-zwcad-seat', fmt(zwPerSeat)); var labelEl = document.getElementById('out-zwcad-label'); if (labelEl) { labelEl.textContent = 'ZWCAD ' + editionLabels[edition] + ' — per seat (' + licLabel + ' · ' + upgrLabel + ')'; } } /* ──────────────────────────────────────── INITIAL STATE ──────────────────────────────────────── */ function init() { // Check hash for initial tab var hash = window.location.hash.replace('#', ''); if (['overview', '2027', 'pricing'].indexOf(hash) !== -1) { switchTab(hash); } // Run calculator recalc(); // Animate speed bars on load setTimeout(function () { document.querySelectorAll('.speed-fill').forEach(function (bar) { var w = bar.style.width; bar.style.width = '0'; requestAnimationFrame(function () { setTimeout(function () { bar.style.width = w; }, 50); }); }); }, 200); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', init); } else { init(); } })();