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

SketchUp Training Intro

SketchUp

Invest in professional training with us!

you won’t regret it! 26 Years of Official SketchUp Training Experience

We continue to successfully support new and existing clients with group, event, and one-to-one training. Due to popular demand,

we are continuing our weekend training on any of our SketchUp Pro training including YOUR PROJECT SPECIFIC training.

We are not only training you, with years of design and construction experience, but we also work with you to meet your project deadlines with 3D neatness.

To see if you have a valid subscription use our License wizard to check your status and purchase a new subscription if needed.

SketchUp

You can also enquire about our certified and tailored training courses with us. 3D modelling for all!

or contact us for discounted and special prices

SketchUp

Read our privacy policy before using the site or submitting any personal information and by using the site you are accepting the practices described in this privacy policy

SketchUp
SketchUp
SketchUp

Contact us to discuss YOUR SketchUp Pro Software Sales and ATC-certified training needs.

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