Тривимірне моделювання з використанням SketchUp і Eclipse: Частина 1. Створення моста між SketchUp і Eclipse

  1. Серія контенту:
  2. Цей контент є частиною серії: Тривимірне моделювання з використанням SketchUp і Eclipse
  3. Часто використовувані скорочення
  4. Малюнок 1. Інтерфейс SketchUp
  5. запуск SketchUp
  6. Малювання в SketchUp
  7. Малюнок 2. Базова панель інструментів SketchUp
  8. Малюнок 3. Приклад фігур SketchUp
  9. SketchUp Ruby Console
  10. Малюнок 4. Вікно SketchUp Ruby Console
  11. Малюнок 5. Приклад гладкою фігури
  12. Як отримати та інсталювати SketchUp Bridge
  13. тестування моста
  14. Eclipse і SketchUp Bridge
  15. Установка SketchUp SDK
  16. Створення та виконання сценаріїв за допомогою SketchUp SDK
  17. Малюнок 6. SketchUp SDK
  18. Висновок
  19. Ресурси для скачування

Тривимірне моделювання з використанням SketchUp і Eclipse

Серія контенту:

Цей контент є частиною # з серії # статей: Тривимірне моделювання з використанням SketchUp і Eclipse

https://www.ibm.com/developerworks/ru/views/global/libraryview.jsp?series_title_by=Трехмерное+моделирование+с+использованием+sketchup+и+eclipse

Слідкуйте за виходом нових статей цієї серії.

Цей контент є частиною серії: Тривимірне моделювання з використанням SketchUp і Eclipse

Слідкуйте за виходом нових статей цієї серії.

Тривимірне моделювання займає важливе місце в моїх останніх проектах, і в спробах знайти підходяще засіб проектування я спробував ознайомчі версії AutoCAD, Blender, Maya і SketchUp. Програма SketchUp виявилася набагато простіший у вивченні і найбільш приємною у використанні. Я постійно говорив собі: "Це не може бути так просто". Але завдяки самовчителях Google і Відеодемонстрація на YouTube я не тільки швидко пройшов курс навчання, а й отримав задоволення, працюючи над проектом.

Часто використовувані скорочення
  • API: Application programming interface (прикладний інтерфейс програмування)
  • CVS: Concurrent Versions System
  • SVN: Subversion
  • UI: User interface (призначений для користувача інтерфейс)

Ще більше задоволення мені принесло (я програміст, а не дизайнер графіки) виявлення того, що SketchUp виконує командні сценарії. Це означає, що я можу автоматизувати такі завдання, як додавання підписів до малюнків, призначення матеріалів поверхонь і креслення геометричних фігур, наприклад парабол і еліпсів. SketchUp API заснований на мові програмування Ruby і, як і SketchUp, його неважко вивчити. Для прискорення процесу кодування я розробив спеціалізований плагін, який взаємодіє з SketchUp через міст SketchUp Bridge.

У даній статті дається короткий вступ в SketchUp, пояснюється, як працює SketchUp Bridge, і демонструється, як встановити плагін, що включає Eclipse до SketchUp. В наступній частині даної серії статей Тривимірне моделювання з використанням SketchUp і Eclipse (EN) будуть більш детально розглянуті SketchUp API і види проектів, які можна створити з його допомогою.

Як і сам сайт Google, Google SketchUp надає багато можливостей, які переховуються за простим інтерфейсом. Призначення SketchUp - надати доступ до можливостей тривимірної графіки широкої аудиторії користувачів, і вона домагається своєї мети - за п'ять хвилин ви можете навчитися малювати основні двовимірні фігури і витягати їх в тривимірні. За півгодини, просто граючи з програмою, ви можете освоїти всі елементи інструментальної панелі. На малюнку 1 зображено призначений для користувача інтерфейс SketchUp. Хоча SketchUp виглядає програмою моделювання, вона веде себе як іграшка.

Малюнок 1. Інтерфейс SketchUp
Тривимірне моделювання з використанням SketchUp і Eclipse   Серія контенту:   Цей контент є частиною # з серії # статей: Тривимірне моделювання з використанням SketchUp і Eclipse   https://www

На відміну від програми Blender, SketchUp не є програмою з відкритими початковими кодами. Ліцензія Google дозволяє вам використовувати програму для будь-яких законних цілей, і ви можете розширювати SketchUp плагінами, але вихідний код недоступний. SketchUp працює тільки на комп'ютерах з операційною системою Windows® або Apple Mac OS X. Доступні дві версії: безкоштовна і версія SketchUp Pro за ціною 495 доларів США. SketchUp Pro надає професійні схеми і стилі, розширені операції з файлами і технічну підтримку. Однак і безкоштовна версія надає величезну кількість функціональних можливостей, тому перш ніж продовжувати читання я настійно рекомендую вам відвідати сайт SketchUp (див. Розділ ресурси ) І завантажити її копію.

запуск SketchUp

При першому запуску SketchUp відобразиться запит про те, який шаблон (template) ви віддаєте перевагу використовувати. Шаблон визначає одиниці виміру та оформлення вікон проектування. Доступно дванадцять варіантів:

  • Simple Template (feet and inches) (простий шаблон (фути і дюйми)). Зафарбовує площину xy зеленим кольором, область позитивних z - блакитним.
  • Simple Template (meters) (простий шаблон (метри)). Зафарбовує площину xy зеленим кольором, позитивну z-область - блакитним.
  • Architectural Design (feet and inches) (архітектурне проектування (фути і дюйми)). Зафарбовує площину xy темно-сірим кольором, область позитивних z - світло-сірим.
  • Architectural Design (millimeters) (архітектурне проектування (міліметри)). Зафарбовує площину xy темно-сірим кольором, область позитивних z - світло-сірим.
  • Google Earth Modeling (feet and inches) (моделювання Google Earth (фути і дюйми)). Зафарбовує площину xy зеленим кольором, область позитивних z - блакитним.
  • Google Earth Modeling (meters) (моделювання Google Earth (метри)). Зафарбовує площину xy зеленим кольором, область позитивних z - блакитним.
  • Engineering (feet) (технічне конструювання (фути)). Зафарбовує всю область проекту білим кольором.
  • Engineering (meters) (технічне конструювання (метри)). Зафарбовує всю область проекту білим кольором.
  • Product Design and Woodworking (inches) (проектування виробів і деревообробка (дюйми)). Зафарбовує площину xy темно-сірим кольором, область позитивних z - світло-сірим.
  • Product Design and Woodworking (millimeters) (проектування виробів і деревообробка (міліметри)). Зафарбовує площину xy темно-сірим кольором, область позитивних z - світло-сірим.
  • Plan View (feet and inches) (вид на площині (фути і дюйми)). Зафарбовує всю область проекту білим кольором (починає роботу з двовимірного вікна).
  • Plan View (millimeters) (вид на площині (міліметри)). Зафарбовує всю область проекту білим кольором (починає роботу з двовимірного вікна).

За винятком одиниць виміру, між шаблонами немає значних відмінностей. Я інженер, тому віддаю перевагу шаблон Engineering (meters).

Після вибору шаблону з'явиться вікно проектування, і ви побачите послідовність ліній, що перетинаються в точці, яка називається початком координат (origin). Ці лінії визначають define систему координат (x, y, z). на малюнку 1 показано, як вони виглядають. Хмарно червона лінія - це позитивна вісь x, пунктирна червона лінія - негативна вісь x. Хмарно зелена лінія - позитивна вісь y, пунктирна зелена лінія - негативна вісь y. Хмарно синя лінія - позитивна вісь z, пунктирна синя лінія - негативна вісь z (xyz = RGB, пам'ятаєте?).

Малювання в SketchUp

У даній статті розглядається автоматизація SketchUp, але перш вам потрібно отримати уявлення про те, як все робиться вручну. Давайте почнемо з двох простих фігур. Як і в Adobe® Photoshop® або Microsoft® Paint, процес малювання в SketchUp включає в себе вибір інструменту в панелі інструментів і клацання лівою кнопкою миші у вікні проекту. На малюнку 2 показана базова панель інструментів SketchUp.

Малюнок 2. Базова панель інструментів SketchUp

Для початку виберіть інструмент Rectangle (прямокутник), який креслить суцільну прямокутну область. Створіть прямокутник, клацнувши в двох місцях вікна проекту. Ви побачите, що перша фігура проекту завжди поміщається в площині xy. Результат повинен виглядати приблизно так, як показано на малюнку 3a.

Малюнок 3. Приклад фігур SketchUp

Інструмент Push / Pull додає третій вимір і використовується для перетворення прямокутника в паралелепіпед. Виберіть цей інструмент, клацніть на прямокутнику і перемістіть миша вгору. У вікні SketchUp з'явиться паралелепіпед, його висота змінюється відповідно до позиції курсору миші. Клацніть лівою кнопкою миші ще раз, щоб створити паралелепіпед, аналогічний зображеному на малюнку 3b. У термінах SketchUp створення тривимірної фігури з двовимірної називається витягуванням (extrusion).

Потім зверху паралелепіпеда намалюйте циліндр. Виберіть інструмент Circle (коло) і клацніть лівою кнопкою миші в центрі верхньої поверхні паралелепіпеда. Перемістіть курсор від центру і клацніть лівою кнопкою ще раз для формування кола, аналогічного зображеному на малюнку 3c. Нарешті, виберіть інструмент Push / Pull ще раз, перемістіть курсор вгору і створіть циліндр, показаний на малюнку 3d. Якщо перемістити курсор вниз, можна створити циліндричний отвір в паралелепіпеді.

Цей базовий приклад дуже простий, але можливості SketchUp набагато більше. Більш повні уроки наведені на навчальному сайті SketchUp (див. Розділ ресурси ). Попрацюйте з ними самостійно. Після завершення роботи перегляньте відеоматеріали по темам середнього і підвищеного рівня складності, щоб краще пізнати і багатих можливостях SketchUp.

SketchUp Ruby Console

Хоча малювання в SketchUp є захоплюючим заняттям, я вважаю за краще створювати дизайн в коді. Щоб побачити, як це робиться в SketchUp, виберіть Window> Ruby Console для відображення вікна з інтерфейсом командного рядка в нижній частині і вікном виведення результатів у верхній. Вводячи код в командному рядку, можна створювати і змінювати фігури у вікні проекту. Перед початком роботи видаліть всі існуючі фігури, вибравши інструмент Selection і натиснувши комбінацію клавіш Ctrl + a, а потім Delete. Потім в командному рядку Ruby Console введіть дві наступні команди:

face = Sketchup.active_model.entities.add_face [0,0,0], [9,0,0], [9,9,0], [0,9,0]
face.pushpull -9

Ці команди написані на Ruby, єдиною мовою програмування, який розуміє SketchUp. Ruby є об'єктно-орієнтованою мовою, і перша команда створює об'єкт face, який представляє прямокутник в поточному проекті. Другий рядок створює паралелепіпед, активізуючи метод pushpull () класу Face. На малюнку 4 показані результати, які відображаються в консолі після введення обох команд.

Малюнок 4. Вікно SketchUp Ruby Console

Тепер, подивившись у вікно проекту SketchUp, ви побачите куб (9x9x9), що стосується початку координат. Для наближення зображення виберіть інструмент Zoom Extents. За допомогою інструментів SketchUp можна переміщати, масштабувати і обертати цю фігуру.

Командний рядок - це добре, але серйозні програмісти поміщають цей код в файли, для того щоб не потрібно було повторно вводити всі наші команди. Доступ до файлу здійснюється командою load, яка зчитує сценарій Ruby (* .rb) і вказує інтерпретатора Ruby SketchUp виконати всі команди. Я створив приклад сценарію lathe.rb (див. Розділ Завантаження ). Цей сценарій створює гладку фігуру, використовуючи метод витягування, відмінний від механізму Push / Pull, описаного вище. Після завантаження даний сценарій можна виконати за допомогою наступної команди (передбачається, що сценарій знаходиться в папці C: \ test):

load "C: /test/lathe.rb"

Тепер SketchUp виконує команди в lathe.rb і відображає гладку фігуру, як показано на малюнку 5.

Малюнок 5. Приклад гладкою фігури

SketchUp Bridge

SketchUp API заснований на Ruby, щодо новою мовою програмування, спочатку використовувався для корпоративних обчислень (Ruby on Rails). Я ніколи не програмував на Ruby до SketchUp і не сумніваюся, що багато з них перебувають у такому ж становищі. Ця мова нескладний у вивченні і в порівнянні з мовами програмування C, C ++ і Java ™ має багато переваг, таких як ітератори і простий синтаксис. Але, без сумніву, мені було б краще, якби творці SketchUp заснували свій API на більш популярному мові.

Фірма Google не створювала SketchUp; вона отримала додаток, коли придбала @Last Software. Але оскільки в Google працює багато Java-програмістів, було б чудово, якби вони змінили API з Ruby на технологію Java. Тоді він став би більш популярним в освітніх установах, а 3-D-дизайнери змогли б використовувати всі інструментальні засоби з відкритими початковими кодами, що надаються технологією Java. Програма SketchUp була б не тільки "3-D для всіх", але і "3-D-кодуванням для всіх".

Було б ще краще, якби можливості SketchUp були реалізовані всередині плагіна Eclipse. Тоді, крім вікна проекту, ми мали б все навігатори по ресурсам, вікна debug / outline / console та інтеграцію з CVS / SVN. І це не було б дуже складним завданням: середа Eclipse Graphical Editor Framework (GEF) може базуватися на OpenGL точно так же, як і SketchUp. Тоді SketchUp могла б скласти реальну конкуренцію AutoCAD. Google, якщо вам потрібні добровольці, напишіть мені.

SketchUp дозволяє завантажувати командні сценарії, але не надає якогось редактора сценаріїв. В результаті більшість розробників сценаріїв кодують сценарії в окремому додатку і завантажують їх у вікно консолі Ruby. Ми можемо зробити краще. Додаток SketchUp Bridge надає можливість виконувати сценарії Ruby поза SketchUp. Це означає, що вам ніколи не потрібно буде вводити команди у вікні консолі. Нижче я поясню, як звернутися до SketchUp Bridge з Eclipse. Але поки основним пріоритетом є установка файлів SketchUp Bridge і перевірка їх роботи.

Як отримати та інсталювати SketchUp Bridge

SketchUp Bridge був розроблений таємничими людьми з сайту plugins.ro, девізом яких є слова "Інструменти, які роблять вас щасливими". Його ліцензія дозволяє вільний доступ до програмного забезпечення для персонального використання. Для комерційного використання потрібен дозвіл від автора, назва якого є як TBD (Поки не встановлено). Для отримання програми відвідайте сайт plugins.ro (див. Розділ ресурси ) І натисніть посилання bridge.zip. Після завантаження та розархівування ви знайдете три важливих файлу:

  • bridge_load.rb - Ruby-сценарій, службовець в якості плагіна для SketchUp.
  • Bridge.so - бібліотека підпрограм, до яких звертається плагін bridge_load.
  • SUB.exe - Windows-додаток, що виконує сценарії SketchUp поза SketchUp.

Для установки SketchUp Bridge помістіть перші два файли в підкаталог Plugins каталогу установки SketchUp. На моїй системі таким каталогом є C: \ Program Files \ Google \ Google SketchUp 7 \ Plugins. Оскільки bridge_load.rb - це Ruby-сценарій в каталозі Plugins, він буде автоматично завантажуватися при запуску SketchUp. Розміщення в цьому каталозі відрізняє плагін SketchUp від звичайного сценарію.

тестування моста

До початку спільної роботи SketchUp Bridge з Eclipse вам слід переконатися в тому, що все працює правильно:

  1. Завантажте сценарій lathe.rb (див.розділ Завантаження ) І помістіть його в ту ж папку, в якій знаходиться додаток SUB.exe, отримане з SketchUp Bridge. Ця папка може бути де завгодно, не обов'язково в каталозі SketchUp Plugins.
  2. Запустіть SketchUp або перезапустіть її, якщо вона вже працює.
  3. Відкрийте вікно командного рядка Windows і перейдіть в каталог, що містить SUB.exe і сценарій lathe.rb.
  4. Введіть команду SUB lathe.rb.

Додаток SUB вказує SketchUp прочитати команди з lathe.rb. Інтерпретатор Ruby SketchUp виконує команди, а результати роботи (показані на малюнку 5 ) Відображаються у вікні проекту. Таке розміщення особливо зручно при наявності двох моніторів. В цьому випадку ви можете редагувати сценарій на одному моніторі і переглядати проект SketchUp на іншому.

Eclipse і SketchUp Bridge

Я палкий шанувальник Eclipse, і коли мені потрібно написати код на новому мовою, перше, що я шукаю, - функціональність Eclipse, яка надає підтримку файлів і можливість редагування, які роблять мою роботу максимально продуктивною. Раніше був доступний Ruby Development Toolset (RDT), але він став частиною програми Aptana RadRails, яка зараз є підключається функціональністю для Aptana Studio. Ви можете завантажити Aptana Studio і RadRails, але процес установки тривалий і заплутаний. Крім того, якщо вам потрібен тільки редактор Ruby, немає сенсу завантажувати 30-денну пробну версію гігантської системи Aptana Studio.

Оскільки наявні інструментальні засоби роботи з Ruby мене не задовольняли, я написав власний простий плагін Eclipse, який необачно назвав SketchUp Software Development Kit, або SketchUp SDK. Посилання для його завантаження наведені в розділі " Завантаження ". Плагін надає дві основні функціональні можливості: редактор Ruby і елемент панелі інструментів, що завантажує додаток SketchUp Bridge. В даному розділі пояснюється, як встановити плагін, і демонструється, як редагуються і виконуються сценарії.

Примітка. Дана тема, може бути, кілька заплутана, тому дозвольте мені уточнити термінологію. В офіційній документації по Eclipse для доповнень (add-on) використовується термін plug-in (плагін). В офіційній документації по SketchUp використовується термін plugin (без дефіса). SketchUp API це набір класів Ruby, модулів і методів, що дозволяють звертатися в коді до проекту SketchUp. SketchUp SDK - це plugin Eclipse, який є інтерфейсом до SketchUp через SketchUp Bridge, що містить plugin SketchUp. SketchUp SDK і SketchUp Bridge - абсолютно різні системи, але перша використовує другу, реалізуючи інтерфейс до SketchUp з Eclipse.

Установка SketchUp SDK

SketchUp SDK є загальнодоступним і, оскільки SketchUp Bridge працює тільки на Windows, SDK теж працює тільки на Windows. Після завантаження необхідно виконати чотири наступних кроку:

  1. Завантажте архів SketchUp Bridge і помістіть файли Bridge.so і bridge_load.rb в каталог Plugins SketchUp.
  2. Розпакуйте файл sketchup_sdk.zip і помістіть SUB.exe (один з файлів SketchUp Bridge) в підкаталог exe головного каталогу org.dworks.susdk_1.0.0.
  3. Перемістіть каталог org.dworks.susdk_1.0.0 в підкаталог plugins головного каталогу вашої установки Eclipse.
  4. Запустіть або перезапустіть SketchUp і Eclipse.

Щоб не заплутатися в файлах і каталогах, дозвольте мені описати структуру каталогів на моєму комп'ютері. Я встановив Eclipse в C: \ eclipse, і моїм головним каталогом SketchUp є C: \ Program Files \ Google \ Google SketchUp 7. Отже, файли SketchUp Bridge (Bridge.so, bridge_load.rb і SUB.exe) розміщені в наступних місцях:

  • C: \ Program Files \ Google \ Google SketchUp 7 \ Plugins \ Bridge.so
  • C: \ Program Files \ Google \ Google SketchUp 7 \ Plugins \ bridge_load.rb
  • C: \ eclipse \ plugins \ org.dworks.susdk_1.0.0 \ exe \ SUB.exe

Створення та виконання сценаріїв за допомогою SketchUp SDK

Якщо ви помістили плагін SDK і файли моста правильно, можете приступати до кодування. Процес розробки сценаріїв SketchUp в Eclipse складається з трьох етапів:

  • Створення сценарію Ruby (* .rb) в Eclipse.
  • Додавання команд SketchUp в сценарій.
  • Натискання SUB в панелі інструментів для виконання сценарію всередині SketchUp.

На малюнку 6 показано середу редагування.

Малюнок 6. SketchUp SDK

Якщо ви знайомі з Eclipse, вам, ймовірно, не потрібні подальші інструкції. Але про всяк випадок перегляньте наступний опис для прояснення процедури:

  1. Віберіть в Eclipse File> New> Project.
  2. Відкрійте папку General, віберіть Project и натісніть кнопку Next.
  3. Введіть my_project в якості назви проекту, потім натисніть кнопку Finish.
  4. В Eclipse Package Explorer клацніть правою кнопкою миші на my_project, потім натисніть New> File.
  5. Введіть my_script.rb в якості назви сценарію SketchUp, потім натисніть кнопку Finish.
  6. Скопіюйте текст з lathe.rb в редактор Eclipse і збережіть вміст сценарію.
  7. В панелі інструментів Eclipse виберіть SUB для доступу до SketchUp Bridge і передачі сценарію з редактора в SketchUp. Можна також використовувати комбінацію клавіш Ctrl + Shift + Space.
  8. Відкрийте SketchUp, збільште масштаб відображення, і ви побачите якусь гладку фігуру, як показано на малюнку 5 .

Тепер у вас повинна бути набудувати середовище SketchUp-Eclipse і ви повинні розуміти основи малювання в SketchUp. У наступній статті ми більш детально розглянемо мову Ruby і код сценарію SketchUp.

Висновок

Незважаючи на простоту додатки Google SketchUp у використанні і вивченні, воно має дуже широкі можливості. SketchUp надає безліч функціональних можливостей для моделювання вашого проекту і управління всіма аспектами його зовнішнього вигляду і геометрії. Однією з найважливіших можливостей SketchUp є його інтерпретатор сценаріїв, який виконує сценарії Ruby, що створюють, змінюють і видаляють аспекти проекту SketchUp. Але, хоча SketchUp і надає інтерпретатор сценаріїв, в ньому немає редактора; тут в гру вступає Eclipse.

Для підключення Eclipse до SketchUp необхідно спочатку завантажити SketchUp Bridge. Ця програма складається з трьох файлів, які при правильному розміщенні дозволяють виконувати сценарії SketchUp поза вікна консолі SketchUp. Потім необхідно завантажити і встановити плагін SketchUp SDK в Eclipse. Цей простий SDK надає можливість редагування сценаріїв і виконання їх в SketchUp одним натисканням кнопки.

Ресурси для скачування

Схожі тими

Підпішіть мене на ПОВІДОМЛЕННЯ до коментарів

Jsp?
Xyz = RGB, пам'ятаєте?