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

Blog

SketchUp
Blog

V-Ray 7 for SketchUp – Released!

V-Ray 7 for SketchUp – Released! Home V-Ray 7 for SketchUp – Released! The industry standard rendering plugin for SketchUp. Chaos V-Ray is the leading photorealistic rendering plugin for SketchUp enabling […]

SketchUp
Blog

Thea Render v4.0 Released!

Thea Render v4.0 Released! Home Thea Render v4.0 Released! Thea Render v4.0 Released! We are excited to announce that our version 4.0 is now available, a huge milestone release for

SketchUp
Blog

Enscape 4.2 Released! – Make more Impact!

Enscape 4.2 Released! – Make more Impact! Home Enscape 4.2 Released! – Make more Impact! Enscape 4.2 Released! – Make more Impact! The latest version gives you host application-specific features

unnamed-1024x512
Blog

Introducing ZWCAD 2025

Introducing ZWCAD 2025 Home Introducing ZWCAD 2025 Introducing ZWCAD 2025 We’re excited to announce the release of ZWCAD 2025! This latest version not only perfects its 2D functionalities but introduces

SketchUp
Blog

Introducing SketchUp 2024

Introducing SketchUp 2024 Home Introducing SketchUp 2024 Efficiency Meets Innovation: Introducing SketchUp 2024 The 2024 release of SketchUp introduces a new level of realism and innovative visual styles directly within

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(); } })();