LeoCAD (, або Lego CAD) — це вільна система автоматизованого проєктування віртуальних 3D моделей з кубиків Lego та інших подібних конструкторів, побудованих за принципом з'єднуваних чи зіставлюваних блоків. Програма використовує стандарт LDraw і описані ним формати файлів.
Історія У 1996, американський програміст Леонардо Зід (), інженер-програміст компанії Treyarch, на той час студент університету, створив пропрієтарну програму для Windows під назвою LeoCAD, яка поширювалася як безплатне програмне забезпечення за схемою emailware. LeoCAD мав графічний інтерфейс для редагування віртуальних 3D моделей Lego з використанням бібліотеки блоків у форматі LDraw.Окрім програми, в ранні роки Зід також створив кілька блоків для офіційної бібліотеки блоків спільноти LDraw.org, але основну увагу зосередив на розробці програмного забезпечення.
У квітні 1999, було анонсовано про початок створення версій LeoCAD для Unix-подібних операійних систем, в першу чергу Linux та Mac OS:У грудні 1999, в журналі «Linux Magazine» було опубліковано коротку замітку під назвою , з оглядом версії програми LeoCAD для Linux і посиланням на офіційний сайт (на той час, розміщеному на сервері GeoCities, хоча це було тимчасове дзеркало офіційного сайту):
У лютому 2000, програміст Річард Хестгрей (), один з розробників середовища GNOME для Linux, опублікував огляд ранньої версії файлового менеджера Nautilus 0.1, що розроблявся компанією , і перший опублікований знімок екрану свідчив про те що версія LeoCAD для Linux у той час також була встановлена на його персональному коп'ютері.
Влітку 2000, було розпочато створення версії LeoCAD для BeOS, але роботи були припинені, зокрема через припинення розробки самої операційної системи. З січня 2022, актуальні версії LeoCAD було портовано для операційної системи Haiku, яка є вільною реолізацією BeOS.
У листопаді 2001, у журналі було надруковано статтю з оглядом програм LDraw, MLCAD та LeoCAD.
23 липня 2003, компанія Lego Group випустила першу версію власного редактора віртуальних моделей Lego під назвою Lego Digital Designer (LDD) для Windows і Mac OS. LDD мав власний формат бібліотеки блоків і файлів моделей (.lxf), не сумісний з форматом LDraw (LeoCAD підтримує відкриття файлів LDD). Будучи популярним певний час, LDD зрештою втратив популярність, серед інших причин й через появу великої кількості нових редакторів після 2010, і його розробку офіційно було припинено у 2016, а з 2023 повністю припинено надання оновлень бібліотеки блоків до нього. Натомість новим офіційним редактором Lego став BrickLink Studio (Stud.io), який розроблявся з 2016 однойменною компанією, власницею популярного порталу для фанатів Lego, яку Lego Group поглинула разом усіма активами у 2021. Редактор BrickLink Studio з самого початку створювався з підтримкою використання бібліотек і файлів моделей у форматі LDraw.
У жовтні 2003, в угорському журналі було опубліковано статтю про програмне забезпечення САПР з оглядом LeoCAD, BlockCAD, XTrackCAD та інших програм.
З середини 2000-х, LeoCAD поставлявся видавцями різних комп'ютерних журналів на компакт-дисках з безкоштовними програмами, що додавалися до випусків журналів, таких як «Linux Magazine» (CD), «com!» (CD), «CHIP» (DVD), «Personal Computer & Internet» (DVD).
У 2008, у китайському журналі , було надруковано огляд LeoCAD і принципів роботи з віджетом Minifig Wizard.
У березні 2009, LeoCAD було портовано для смартфонів iPhone.
У березні 2010, на сайті профільного видання «Brothers Brick», що спеціалізується на темі Lego, було опубліковано статтю , зі згадкою про LeoCAD. Стаття була призначена пояснити що таке LDraw, і чим LDraw відрізняється від редактора та рендера, яким є LeoCAD.
У 2015, Франк Гофман () опублікував у журналі «Ubuntu User» (Issue 27) статтю під назвою (підзаголовок статті: ), яка була присвячена опису процесу створення віртуальних моделей Lego у програмі LeoCAD. Окрім друкованої версії у журналі, стаття розмішена у вільному доступі на сайті видання.
У грудні 2016, французьке видання «Framboise 314» опублікувало статтю з оглядом процесу встановлення і використання програми LeoCAD на одноплатних комп'ютерах Raspberry Pi. На основі Raspberry Pi також створено програмовані блоки-кубики для конструкторів Lego.
У жовтні 2017, стаття з описом використання LeoCAD була опублікована у японському електронному журналі «Gigazine».
В іспанському журналі «HispaBrick Magazine» регулярно друкувалися огляди і статті присвячені різним програмам для роботи з LDraw форматом, у тому числі й програмі LeoCAD.
23 грудня 2021, Леонардо Зід став лауретом щорічної премії «James Jessiman Memorial Award», отримавши її як відзнаку за значний внесок у розвиток проекту LDraw.org зроблений ним за понад 20 років участі у проекті.
У 2023, Даніель Тібі () опублікував у англомовній версії журналу «Linux Magazine» (Issue 268) статтю з настановами щодо використання програми LeoCAD та бібліотеки блоків LDraw. Стаття також була видана польською та німецькою мовами.
Станом на 2024, Зід продовжує вдосконалювати програму LeoCAD та допомагає іншим розробникам програмного забезпечення для роботи з форматом LDraw, а також бере участь у розробці та вдосконаленні стандарту LDraw.
Можливості LeoCAD є одним з найперших редакторів віртуальних моделей Lego з графічним інтерфейсом, який все ще перебуває в активній розробці (станом на 2024), а також є одним із найпопулярніших і найпростіших для опанування редакторів файлів LDraw, який увібрав у себе багато різних функцій та інструментів наявних у інших подібних програмах: Багатоплатформність: офіційна підтримка Linux, Mac OS, Windows, а також неофіційні порти для інших платформ, створених користувачами, серед яких є порти для Haiku, FreeBSD, Solaris, Solus, Raspbian (Raspberry Pi) та . Підтримка роботи з через інтерфейс командного рядка. Підтримка налаштування інтерфейсу програми (положення панелей інструментів, кольорової теми інтерфейсу, налаштування поєднання клавіш). Можливість реорганізації каталогу блоків методом редагування конфігурації груп блоків. «Minifig Wizard» — віджет для генерування моделей мініфігурок LEGO (з підтримкою використання і створення шаблонів конфігурації). Панель навігації бібліотекою блоків (з налаштовуваними відображенням, фільтрами сортування і пошуком). Розділення робочої області на кілька частин (вюпортів). Підтримка ортографічної та перспективної проекцій відображення моделей. Створення моделей з ієрахічною топологією методом комбінації групування блоків та субмоделей. Підтримка швидкого "прилипання" блоків за місцями кріплення (положення шипів, гнізд, центри деталей) та до площин граней, з можливістю встановлення кроку "прилипання" по осям X, Y та Z у локальній або глобальній системі координат. Підтримка гнучких блоків (кабелі, пружини, "гумові" блоки, стікери, тощо). Гнучкі блоки мають піктограму у вигляді "змійки" у лівому верхньому куті іконки попереднього перегляду у списку блоків. Підтримка різних типів матеріалів (матових, глянцевих, напівпрозорих) і кольорів блоків. Підтримка швидкої зміни кольору обраних деталей та заміни усієї палітри кольорів деталей. Відображення покрокової структури моделі з можливістю швидкої реорганізації блоків по кроках. Встановлення камер (можуть бути використані для відображення в окремих вюпортах) та джерел світла для налаштування ракурсу і освітлення у віртуальній сцені при підготовці до рендерингу. Рендеринг фотореалістичних або стилізованих (див. Контурне тонування) зображень моделей з використанням вбудованого рушія OpenGL, або POV-Ray чи Blender. Створення LEGO-анімацій шляхом організації стоп-кадрів кроків зміни положення моделей і окремих деталей у сцені. Створення простих покрокових інструкцій по збиранню моделей, як у форматі для друку (PDF), так і для розміщення на вебсайті (HTML). Можливість використання як воксельного редактора (за умови, якщо блоки мають форму куба; достатньо лише одного блока LDraw у формі куба).
Система координат і одиниць LeoCAD має власну систему координат і систему одиниць, яка спирається частково на метричну систему (у ранніх версіях програми можна було перемикати відображення позиції і розмірів блоків у сантиметрах), а також на стандарт LDraw (у стандарті LDraw основною одиницею є LDU — ).Система координат LeoCAD відповідає Декартовій системі: осі X та Y лежать у нижній площині, а вертикальна вісь Z спрямована вектором догори; у LDraw використовується інша система координат: осі X та Z лежать у нижній площині, а вертикальна вісь Y направлена вектором донизу.
Одиниці відстані теж відрізняються: 1.0 LDU (LDraw unit) = 0.5 LeoCAD unit.
Орієнтовний масштаб для створення масштабних моделей: 1:42½ (масштаб мініфігурок LEGO).
У таблиці наведено приклад конвертування координат точки з системи координат LeoCAD у систему координат LDraw, а також приклад конвертації основних розмірів пластинки та кубика Lego: +LeoCADLDraw (LDU)сантиметриКоординати: X / Y / Z10 / 30 / 3620 / -72 / 60Відстань між двома шипами10200.8Висота пластини (без шипа)480.32Висота кубика (без шипа)12240.96
У LeoCAD також підтримується дві системи координат трансформацій: глобальна і локальна. Локальна система трансформацій корисна для позиціонування і обертання поточного положення чи центра групи, у яку вміщено блок. У нижньому правому куті вікна програми LeoCAD відображаються координати центру обраної деталі, а також інформація щодо поточних налаштувань прив'язки переміщення за осями XY та Z, кроку повороту (у градусах), типу трансформації і назва поточного кроку інструкції зі збирання моделі.
Формати файлів
Редагування, об'єднання і збереження
Модель LeoCAD (.lcd) — основний формат у ранніх версіях LeoCAD (у актуальній версії підтримується лише відкриття без збереження). Блок і модель LDraw (.dat, .ldr, .mpd) — у актуальних версіях LeoCAD використовується як формат файлів проектів (моделей); при додаванні у файл .ldr додаткових субмоделей тип файлу автоматично змінюється на .mpd. Зображення (знімок екрана робочої області) у PNG, BMP, JPEG.
Імпорт Модель Lego Digital Designer (.lxf). Інвентар наборів з сайту Rebrickable (потрібен доступ до Інтернету).
Експорт
3D модель 3D Studio Max (.3ds). 3D модель Collada (.dae). 3D модель Wavefront (.obj). Інвентар (список деталей) моделі у CSV (.csv). Інвентар моделі у BrickLink (.xml). 3D сцена POV-Ray (.pov) — для експорту і рендерингу з допомогою рендера POV-Ray необхідно додатково встановити LGEO (бібліотека блоків у форматі POV-Ray). Інструкція зі збирання моделі у PDF або HTML (або вивід на принтер для прямого друку). LeoCAD також дозволяє передавати полігональну 3D модель повністю безпосередньо у програму Blender з використанням API, що дозволяє під'єднувати Blender до LeoCAD як рушія рендирингу. Також існує кілька доповнень для Blender для імпорту, експорту і рендерингу моделей у форматі LDraw.
Бібліотеки блоків Для створення моделей у LeoCAD використовуються існуючі бібліотеки блоків у форматі LDraw, створені іншими користувачами, а також є можливість використання власноруч створюваних бібліотек блоків власного дизайну.
Існуючі готові до використання бібліотек блоків поділяють на: офіційні — створені спільнотою LDraw.org у відповідності до справжніх кубиків з наборів конструктора Lego (зі збереженням нумерації блоків, у відповідності до заводських номерів кубиків), а також створені іншими користувачами за тим же принципом неофіційні — створені для кубиків з наборів конструкторів подібних до Lego (зокрема клонів Lego, сумісних або частково сумісних з кубиками Lego), а також інших конструкторів, які мають інші форму та принцип з'єднання деталей
Репозиторій коду LeoCAD містить мінімальний набір офіційних блоків, а останні тестові збірки програми надаються зі вбудованою повною бібліотекою офіційних блоків, актуальних на момент релізу нової версії програми. За необхідності, користувач може завантажити оновлену повну бібліотеку з сайту LDraw.org і в налаштуваннях програми LeoCAD визначити яку бібліотеку блоків використовувати.