Rhinoceros руководство пользователя

Rhinoceros®

NURBS моделирование для Windows

или “РУССКИЙ НОСОРОГ

Справочное руководство

Перевод с английского, дополнение и редакция: Борис Фомин (BORN)

Основной источник: Training Manual Level 1 (© Robert McNeel & Associates)

ПЕРЕВЕДЕНО, ПРОВЕРЕНО, ДОПОЛНЕНО, ДОСТУПНО и ИСЧЕРПЫВАЮЩЕ!!!

Борис Фомин

“Rhinoceros. NURBS моделирование для Windows или Русский носорог” (Перевод с английского с дополнениями и исправлениями).

По общим вопросам обращайтесь по электронномуадресу: Rhino_rus@mail.ru

Rhinoceros 3D – это профессиональная система моделирования в основном с помощью NURBSтехнологий. Rhino позволяет создавать, редактировать, анализировать кривые, поверхности и твердые тела,

иполноценно работать с NURBS-объектами. Система эффективно работает с объектами любой сложности

иразмеров. Это может быть моделирование как техническое от клапана до лайнера, так и моделирование биологических объектов от мышонка до человека. У данного программного продукта непривычный интерфейс, но он достаточно прост в освоении, гибок и обеспечивает неизменно высокий результат моделирования. Вы можете создавать и редактировать любую комбинацию кривых, поверхностей, геометрических тел, а затем экспортировать созданные модели в любой формат. Rhino — превосходный моделер, получивший широкую известность и стал незаменимым инструментом многих профессиональных дизайнеров.

Если вы хотите познать и овладеть всеми возможностями этой уникальной программы и сделать ее своим верным помощником в достижении своих целей и реализации творческих идей, вам немедленно надо приступить к ее изучению. А данное руководство по максимуму будет способствовать наилучшему, быстрому и эффективному освоению Rhino. Почти 600 цветных иллюстраций, десятки заметок, полезных советов, огромное количество примеров, пояснений, доступных описаний большинства инструментов программы и ГЛАВНОЕ — 70 УНИКАЛЬНЫХ УПРАЖНЕНИЙ с подробным освещением всей последовательности действий, выполняя которые вы ещё на стадии обучения сможете добиться внушительных результатов. Все эти особенности руководства помогут вам освоить на практике методы и приемы работы над трехмерной моделью и составят прочный фундамент для дальнейшей самостоятельной работы и постепенного развития профессиональных навыков.

Данное издание можно ПОРЕКОМЕНДОВАТЬ АБСОЛЮТНО ВСЕМ, будь то любопытный среднестатистический пользователь или опытный дизайнер, повседневно работающий с программами трехмерного моделирования. Каждый сможет найти для себя в этом руководстве что – нибудь полезное.

Все названия программных продуктов являются зарегистрированными торговыми марками соответствующих фирм.

Все права защищены. Никакая часть настоящего руководства ни в каких целях не может быть воспроизведена в какой бы то ни было форме и какими то ни было средствами, будь то электронные или механические, включая фотокопирование и запись на магнитный носитель, если на это нет письменного разрешения автора перевода (Борис Фомин) или издательства (© Robert McNeel & Associates).

Информация, содержащаяся в данном руководстве, получена из источников, рассматриваемых автором как надёжные. Тем не менее, имея в видувозможные человеческие или технические ошибки, автор не может гарантировать абсолютную точность и полноту приводимых сведений и не несет ответственности з а возможные ошибки, связанные с использованием руководства.

Copyright © 2006 by Boris Fomin.

Original English language edition Copyright © 2001 Robert McNeel & Associates.

ОГЛАВЛЕНИЕ

Предисловие

-8-

Что такое Rhinoceros 3D

-8-

Структура руководства

-8-

Для кого это руководство

-8-

Упражнения

-9-

Благодарности

-9-

От автора

-9-

ЧАСТЬ 1:

ВВЕДЕНИЕ

-10-

1

НАПУТСТВИЕ

-10

2

ОСНОВЫ

-10-

Интерфейс Rhino для ОС Windows

-10-

Рабочая область Rhino

-11-

Меню

-12-

Панели инструментов

-12-

Подсказки

-12-

Разворачивающиеся списки

-12-

Графическая область

-13-

Окна проекций

-13-

Командная строка

-14-

Функции мышки

-14-

Команды

-14-

Ввод команд

-14-

Завершение названия команды

-14-

Повторное выполнение последней команды

-14-

Отмена команд

-15-

Справка

-15-

Отображение истории команд

-15-

Отображение недавно выполненных команд

-15-

Упражнение 1 – Основы Rhino

-15-

Навигация вокруг модели

-20-

Панорамирование (Pan)

-20-

Масштабирование (Zoom)

-21-

Масштабирование до заполнения (Zoom Extents)

-22-

Перемещение объектов

-22-

Копирование объектов (Copy)

-24-

ЧАСТЬ 2:

СОЗДАНИЕ ГЕОМЕТРИИ

-26-

3

СОЗДАНИЕ ДВУ – РАЗМЕРНЫХ ОБЪЕКТОВ

-26-

Рисование линий

-26-

Упражнение 2 – Рисование линий

-26-

Рисование кривых свободной формы

-28-

Упражнение 3 – Рисование Кривых произвольной формы

-28-

Упражнение 4 – Рисование кривых с контрольными точками

-28-

Вспомогательные средства моделирования (ВСМ)

-29-

Упражнение 5 – Рисование линий и кривых с использованием ВСМ

-29-

Настройка программы (Options)

-29-

Сохранение модели

-31-

Слои (Layers)

-32-

Упражнение 6 – Слои

-32-

Упражнение 7 – Выделение объектов

-34-

Удаление объектов

-36-

Упражнение 8 – Попрактикуемся в использовании операции удаления и команд

выделения

-36-

От теории к практике

-37-

4

ТОЧНОЕ МОДЕЛИРОВАНИЕ

-40-

Абсолютные координаты

-40-

Упражнение 9 — Создание новой модели

-40-

Упражнение 10 – Ввод абсолютных координат

-40-

Относительные координаты

-41-

Упражнение 11 – Ввод относительных координат

-41-

Осевые координаты

-42-

Упражнение 12 – Ввод относительных осевых координат

-42-

Использование клавиши Shift для переключения режима

Ортогональной привязки

-44-

Упражнение 13 – Ввод ограничений на значения расстояния

-44-

Упражнение 14 – Ввод ограничений на значения угла и расстояния

-44-

Упражнение 15 – Закрепление навыков использования ограничений на

значения

-45-

угла и расстояния (1)

Окна проекций

-47-

Конструкционные плоскости

-48-

Упражнение 16 – Моделирование в трехмерном пространстве (3D)

-48-

Режим элеватора (Elevator Mode)

-48-

Упражнение 17 – Закрепление навыков использования ограничений на значения

угла и расстояния (2)

-54-

Объектовая привязка (Osnap)

-55-

Упражнение 18 – Использование Объектовой привязки

-57-

Команды анализа (Analyze)

-60-

Рисование Окружностей

-63-

Опции Окружностей

-63-

Упражнение 19 – Рисование Окружностей

-63-

Упражнение 20 – Тренируемся рисовать Окружности

-67-

Упражнение 21 –Применение Объектовых привязок к окружности

-69-

Рисование Дуг

-70-

Упражнение 22 – Тренируемся рисовать Дуги (1)

-71-

Упражнение 23 – Тренируемся рисовать Дуги (2)

-74-

Рисование Эллипсов и Многоугольников

-76-

Опции Эллипсов

-76-

Опции Многоугольников

-77-

Упражнение 24 — Тренируемся рисовать Эллипсы и Многоугольники

-77-

Моделирование с помощью кривых произвольной формы

-81-

Опции Кривых произвольной формы

-81-

Упражнение 25 – Тренируемся рисовать Кривые

-82-

Упражнение

26

– Рисование кривых произвольной формы

-86-

5

ОТОБРАЖЕНИЕ

-90-

Изменение видов на модель

-90-

Еще раз про окна проекций

-90-

Параллельные и перспективные способы отображения

-90-

Панорамирование и Масштабирование

-90-

Восстановление вида

-91-

Упражнение

27

– Опции отображения

-91-

6

РЕДАКТИРОВАНИЕ ОБЪЕКТОВ

-96-

Кромка (Fillet)

-96-

Опции Кромки

-96-

Упражнение

28

– Кромка

-96-

Фаска (Chamfer)

-102-

Опции Фаски

-102-

Упражнение

29

– Фаска

-103-

Упражнение

30

– Тренируемся в применении

Кромки и Фаски

-106-

Перемещение (Move)

-108-

Упражнение

31

– Перемещение

-108-

Копирование (Copy)

-110-

Опции Копирования

-110-

Упражнение 32

– Копирование

-110-

Повтор и отмена (Undo, Redo)

-112-

Вращение (Rotate)

-112-

Упражнение 33

– Вращение

-112-

Группировка (Group)

-113-

Упражнение 34

– Группировка

-113-

Зеркальное отражение (Mirror)

-114-

Упражнение 35

– Зеркальное отражение

-114-

Объединение (Join)

-115-

Упражнение 36

— Объединение

-116-

Масштабное соотношение (Scale)

-116-

Упражнение 37

– Масштабное соотношение

-116-

Массив (Array)

-120-

Упражнение 38

– Массив

-120-

Обрезка (Trim)

-124-

Упражнение 39

– Обрезка

-125-

Разбиение (Split)

-126-

Упражнение 40

– Разбиение

-126-

Продолжение (Extend)

-129-

Упражнение 41

– Продолжение (удлинение)

-129-

Смещение (Offset)

-132-

Опции Смещения

-132-

Упражнение 42

– Смещение

-132-

Упражнение 43

– Большая тренировка (1)

-138-

Упражнение 44

– Большая тренировка (2)

-139-

Упражнение 45 – Большая тренировка (3)

Упражнение 46 – Большая тренировка (4)

7 ТОЧЕЧНОЕ РЕДАКТИРОВАНИЕ

Общие сведения Упражнение 47 – Редактирование контрольных точек

Упражнение 48 – Тренируемся редактировать кривые с помощью контрольных точек

ЧАСТЬ 3: ТРЕХМЕРНОЕ МОДЕЛИРОВАНИЕ И РЕДАКТИРОВАНИЕ 8 СОЗДАНИЕ ДЕФОРМИРУЕМЫХ ФОРМ

Общие сведения Упражнение 49 – Создание игрушечной утки

9 МОДЕЛИРОВАНИЕ ТЕЛ

Общие сведения Упражнение 50 – Моделирование вывески с текстом

10 СОЗДАНИЕ ПОВЕРХНОСТЕЙ

Общие сведения Упражнение 51 – Основные приемы создания поверхностей

Упражнение 52 – Выдавливание поверхностей (моделирование радиотелефона) Упражнение 53 – Лофтинг поверхностей.

Упражнение 54 – Поверхности вращения Упражнение 55 – Использование вращения по направляющей

Упражнение 56 – Использование команды растягивания по направляющей Упражнение 57 — Использование команды растягивания по 2 направляющим

Упражнение 58 – Использование сетки кривых для создания поверхностей

Упражнение 59 – Тренируемся в использовании Растягивания по 1 направляющей (моделирование стола)

Упражнение 60 – Создание игрушечного молотка

Упражнение 61 – Создание пластиковой бутылки.

11 ИМПОРТ И ЭКСПОРТ МОДЕЛЕЙ

Общие сведения

Импорт и экспорт файлов в Rhino

Упражнение 62 – Экспорт моделей Создание сеток

Упражнение 63 – Тренируемся создавать сетки для экспорта

12 ВИЗУАЛИЗАЦИЯ

Общие сведения Упражнение 64 – Тренируемся визуализировать модель

13 РАЗМЕТКА

Типы разметки Упражнение 65 – Тренируемся применять разметку

Двухмерное представление трехмерной модели Упражнение 66 – Тренируемся создавать двухмерные изображения модели

14 ПЕЧАТЬ

Упражнение 67 – Тренируемся распечатывать

ЧАСТЬ 4: НАСТРОЙКА РАБОЧЕЙ ОБЛАСТИ И ПАНЕЛЕЙ ИНСТРУМЕНТОВ

15 НАСТРОЙКА RHINO

-140-

-141- -141- -141- -142-

-149- -151-

-151- -151- -152- -169- -169- -170- -181- -181- -182- -186- -198- -201- -201- -203- -206- -210-

-211- -216-

-237- -255- -255- -256- -256- -259- -259- -261- -261- -261- -272- -272- -273- -275- -275- -276-

-276-

-279- -279-

Опции

-279-

Упражнение 68 – Тренируемся работать с опциями

-279-

Свойства документа

-283-

Упражнение 69 – Тренируемся работать со свойствами документа

-283-

16

ПАНЕЛИ ИНСТРУМЕНТОВ

-283-

Упражнение 70 – Настройка панелей инструментов

-283-

Заключение

-290-

Предисловие

Уважаемый читатель! Спасибо за то, что выбрали это руководство. Надеюсь, что вы найдете в нем все необходимое.

Работу над данным изданием я начал накануне зимней сессии, уделяя по несколько часов в день переводу англоязычного текста, разработке иллюстраций и редактированию. Сказать точно, что послужило поводом для начала работой над этим изданием я не смогу. Наверное, сыграло свою роль то, что когда – то после долгой работы с 3D Max я заинтересовался найденным в Интернете описанием возможностей Rhinoceros 3D, и меня привлекла эта программа, что послужило поводом знакомства с ней. В принципе, сложностей в ее освоении у меня не возникало, все происходило методично и последовательно, но я, как и многие другие столкнулся с проблемой нехватки информации, практических примеров и упражнений. Все описания и какие – либо источники с информацией по Rhino были скудны или на английском языке. Вскоре мне под руку попал файл с англоязычным руководством от Robert McNeel, после прочтения которого, я был удовлетворен стилем изложения и полезностью в практическом применении информации представленной в нем. Одновременно с этим я задумался над идеей сделать перевод мануала и дополнить некоторые моменты, чтобы все настоящие и будущие русскоговорящи е (и читающие на русском) пользователи Rhino смогли беспрепятственно, легко и эффективно познавать возможности этой программы и с максимальной полезностью применять их. Надеюсь, у меня получилось сделать это качественно и доступно, и искренне хотелось бы, чтобы с помощью этого руководства вы с легкостью смогли овладеть программой и начать творить, создавать и воплощать! Желаю приятного чтения!

Что такое Rhinoceros 3D

Я не буду пересказывать техническое описание и характеристики этой программы, так как вы без труда сможете найти их сами, если уже не сделали этого ранее. На основании своих впечатлений от работы с Rhino, я могу сказать, что эта программа прекрасно подходит для создания (с помощью NURBS технологий) высоко детализированных и точных (преимущественно технических) моделей, которые потом можно с легкостью экспортировать в другой формат и дорабатывать в специализированных редакторах. Вместе с тем, Rhino, как вы вскоре в этом убедитесь (и, надеюсь, согласитесь со мной) проста в использовании, легка в освоении и обладает приятным, удобным, легко настраиваемым интерфейсом . К тому же расход компьютерных ресурсов на работу в Rhinoceros минимален, чего нельзя сказать про другие трехмерные редакторы. Еще эту программу отличает стабильность в работе (при прав ильном использовании ее инструментов), но, не смотря на это, не стоит полагаться на кажущуюся безупречность и лучше подстраховываться, сохраняя почаще свою работу. Говоря в общем, я остался под приятным впечатлением от работы с данным программным продуктом и часто использую Rhino для своих нужд. Думаю, что вы вскоре тоже последуете моему примеру.

Структура руководства

В этом издании, несмотря на его относительно небольшой размер, сосредоточены сведения о почти о всех (по крайней мере о большей части) инструментах Rhino. Здесь приводятся необходимые теоретические данные в достаточном объеме и без излишеств. Наряду с тем, как я убедился на личном опыте, лучший путь к познанию чего – либо – это практика. Поэтому в руководстве представлено большое количество п олных, подробных упражнений, выполнение которых позволит вам очень быстро освоиться в программе. В целом, после прочтения настоящего издания вы приобретете достаточный уровень знаний, чтобы в полной мере начать работу над собственными проектами, повышая ур овень своего мастерства.

Для кого это руководство

Я думаю, ответ на этот вопрос не требует особых разъяснений, так как данное издание пригодится, как совсем неопытному, начинающему пользователь (благодаря подробному изложению материала), так и профессиональным дизайнерам, желающим пополнить копилку освоенных программ еще одной новинкой.

Упражнения

Для выполнения почти всех практических заданий, представленных в этом руководстве потребуются тренировочные (исходные) файлы, которые идут в комплекте с анг лоязычной версией. Я думаю вы без труда найдете их в Интернете.

Благодарности

Прежде всего, Спасибо всем читателям за выбор данного руководства!

Хочу поблагодарить издательство Robert McNeel за предоставленную (исходную) версию руководства, которая легла в основу данного издания.

Также я искренне благодарен всем создателям прекрасной программы Rhinoceros.

Огромное спасибо говорю моей девушке, за то, что она терпела все мои многочасовые (иногда ночные) «просиживания» за компьютером и не устаю повторять, ч то я люблю ее больше чем клавиатуру, мышку или монитор (не смотря на ее эпизодические опровергающие это высказывания).

Ну и конечно же, скромное (не хочу показаться тщеславным) спасибо мне, за мои труды.

От автора

Ваши замечания, предложения и вопросы отправляйте по адресу электронной почты: Rhiho_rus@mail.ru (Борис Фомин).

Буду рад услышать ваше мнение и ответить на все интересующие вас вопросы.

ЧАСТЬ 1: ВВЕДЕНИЕ

1 НАПУТСТВИЕ

Это руководство содержит тренировочный курс, который покажет вам, как создавать 3D модели, используя геометрию NURBS (Non — Uniform Rational B — Splines).

Для достижения лучших результатов, практикуйтесь в Rhino, используя этот мануал или файл помощи (F1) для получения дополнительной информации.

Цель руководства:

С помощью тренировочного курса вы научитесь:

-использовать функциональные возможности пользовательского интерфейса в Rhino;

-настраивать рабочую среду программы, для удобства моделирования;

-создавать простейшие графические объекты – Линии (Lines), Окружности (Circles), Дуги (Arcs), Кривые

(Curves), Тела (Solids) и Поверхности (Surfaces);

-моделировать с высокой точностью, использую ввод координат и инструменты Привязки объектов (Object Snaps);

-изменять кривые и поверхности с помощью команд меню Правка (Edit);

-использовать Контрольные точки (Control point) для редактирования формы кривых и поверхностей;

-анализировать вашу модель;

-отображать все части вашей модели;

-экспортировать и импортировать модели, в том числе, из файлов (в файлы) других форматов;

-Визуализировать (Render) модель.

2 ОСНОВЫ

Интерфейс Rhino для ОС Windows

До начала изучения конкретных инструментов программы, мы должны познакомиться с интерфейсом программы. По мере изучения Rhino, вы будете часто использовать такие элементы интерфейса программы как: рабочее окно Rhino, Окна проекций (Viewports), Меню (Menus), Панели инструментов (Toolbars), и

Окна диалогов (Dialog boxes).

Существует множество способов активизировать те или иные команды в Rhino – с помощью клавиатуры, меню или панели инструментов.

Для запуска Rhino:

Используйте двойной щелчок ЛКМ на иконке программы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

1. Знакомство с интерфейсом и навигацией


2. Работа с двумерными объектами.(линии, полилинии, кривые, Explode, сетка, орто, объектные привязки (object snaps). Сохранение файлов. Слои (Layers). Выделение объектов (Select Objects)

3. Абсолютные и относительные координаты, привязки. Построение прямых, Project, SmartTrack. Построение окружностей. Построение дуг. Построение эллипсов и многоугольников. Построение кривых Безье, спиралей.

4. Редактировании кривых с помощью команд Extend, Fillet, Chamfer, Fillet Corners, Blend, Adjustable curve blend, Offset, Offset Normal to Surface, Offset curve on surface, Curve From 2 Views, Cross-Section Profiles, Rebuild, Match, Adjust Closed Curve Seam, Simplify Lines and Arcs, Convert Curve to Polyline/Convert Curves, Adjust Curve End Bulge, Insert/Remove a control point, Close open curves, Delete Sub-curve, Extract Sub-curve, Sub Curve, Insert Line into Curve, Curve Boolean

5. Трансформация объектов командами Move, Copy, Scale и Mirror, Orient, Rectangular/Polar Array, Set XYZ Coordinates

6. Моделирование резинового утенка (Split, Blend Surface и Orient on Surface)

7. Твердотельные объекты (Solid): Box, Sphere, Ellipsoid, Paraboloid, Cone, Pyramid, Truncated Cone, Cylinder, Tube, Torus, Pipe, Extrude Curve, Extrude Surface;
Редактирование твердотельных объектов (Solid Tools): Boolean Union/Difference/Intersection/Split, Create Solid, Cap Planar Holes, Extract Surface, Holes, Faces, Edges

8. Поверхности (Surface): Plane и Extrude

9. Поверхности (Surface): Surface from Corner Points, from Edge Curves, from Planar Curves и Patch

10. Поверхности (Surface): Loft, Sweep 1 Rail, Sweep 2 Rail

11. Поверхности (Surface): Revolve, Rail Revolve, Drape Surface over Objects

12. Трансформация: FlowAlongSrf и BlendSrf

13. Инструменты редактирования поверхностей (Surface Tools) Часть 1: VariableOffsetSrf, MatchSrf, MergeSrf, MergeSrf, MergeSrf

14. Инструменты редактирования поверхностей (Surface Tools) Часть 2: ChangeDegree, Untrim, ShrinkTrimmedSrf, MakePeriodic, SrfSeam, RemoveEdge, UnrollSrf, Smash, EndBulge, InsertControlPoint, RemoveControlPoint. Панель Select Points

All the guides available for developing for Rhino or Grasshopper.

General

Guides that apply across platforms and SDKs

Overview

  • Developing Software In Public
  • Rhino Technology Overview
  • Frequently Asked Questions (FAQ)

Getting Started

  • Developer Prerequisites
  • Developer Training
  • Contributing

Fundamentals

  • What is a Rhino Plugin?
  • Rhino Installer Engine
  • Simple Command Macros
  • Rhino Package Manager

Essential Mathematics

  • Introduction
  • Vector Mathematics
  • Matrices and Transformations
  • Parametric Curves and Surfaces
  • Download Essential Mathematics for Computational Design as a single PDF

This Site

  • How This Site Works
  • Getting Started with Developer Docs
  • Developer Docs Style Guide

RhinoCommon

The cross-platform .NET plugin SDK for Rhino.

Overview

  • What is RhinoCommon?
  • What are Mono & Xamarin?
  • What’s New/Changes?

Getting Started

  • Installing Tools (Windows, Mac)
  • Your First Plugin (Windows, Mac, Cross-Platform)
  • Plugin Installers (Windows, Mac)
  • Distributing a Rhino Plug-In with the Package Manager

Fundamentals

  • Object Selection with Options
  • Plugin User Data
  • Registering Plugins (Windows)
  • Commas & Periods
  • Event Watchers
  • Adding Commands to Projects
  • Loading Tool Palettes (Mac)
  • Uninstalling Plugins (Mac)

Rendering

  • Render Engine Integration — Introduction
  • Render Engine Integration — Modal
  • Render Engine Integration — ChangeQueue
  • Render Engine Integration — Interactive Viewport

Advanced

  • Changes to Tabbed Panels
  • Creating and Deploying Plugin Toolbars
  • Localizing Plugin Toolbars
  • Options Pages Best Practices
  • Run a Rhino command from a Plugin
  • Supporting High DPI Displays
  • Using NuGet
  • Using RhinoCommon from Python
  • Creating a Skin (Windows)
  • Display Conduits
  • Wrapping Native Libraries
  • Procedurally Generate Toolbars
  • Using methodgen
  • Interacting with Rhino Accounts

Zoo

  • What is a LAN Zoo Plugin?
  • Creating LAN Zoo Plugins
  • Creating Plugins that use the LAN Zoo
  • Digitally Signing LAN Zoo Plugins

Cloud Zoo

  • Creating Plugins that use Cloud Zoo
  • Register as an Issuer in Cloud Zoo
  • Add Products to Cloud Zoo
  • Implement HTTPS Callbacks
  • Modify Plug-In licensing code to support Cloud Zoo
  • Optional Cloud Zoo endpoints for License Management

Rhino.Python

Quickly add functionality to Rhino or automate repetitive tasks.

Overview

  • What is Rhino.Python?

Getting Started

  • Your First Python Script in Rhino (Windows, Mac, Grasshopper)
  • Where to get help…
  • Troubleshooting Installation

Python Editor for Windows

  • Running a Python script in Rhino
  • Canceling a Python script in Rhino
  • Editing a Python script in Rhino

Python in Grasshopper

  • Your First Python Script in Grasshopper
  • An Overview of the GhPython Component
  • An Overview of the GhPython Editor
  • Debugging GhPython components Visual Studio
  • GhPython Common Questions and Answers
  • Creating Global Sticky Variables
  • Node in Code from Python.
  • Custom GhPython Baking Component
  • Grasshopper data trees and Python

Fundamentals

  • Python Basic Syntax
  • Python Procedures
  • Python Data Types
  • Python Variables
  • Python Conditionals
  • Python Looping
  • Python Operators
  • Python Code Conventions
  • Python Dictionaries

Python in Rhino

  • RhinoScriptSyntax in Python
  • Points in Python
  • List of Points in Python
  • Colors in Python
  • Lines in Python
  • Vectors in Python
  • Planes in Python
  • Rhino objects in Python
  • Point and Vector Methods
  • Line and Plane Methods
  • Rhino NURBS Geometry Overview
  • Creating Rhino Commands Using Python

Rhino.Python 101

   Introduction
   Where to find help
   1. What’s it all about?
   2. Python Essentials
   3. Script anatomy
   4. Operators and functions
   5. Conditional execution
   6. Tuples, Lists and Dictionaries
   7. Classes
   8. Geometry

   Download the Rhino.Python 101 Primer as a single PDF

Intermediate

  • How to read and write a simple file
  • How to read and write a CSV files
  • How to use JSON
  • Using Python Dictionary as a database
  • How to get user input in a script
  • Creating a script and module
  • APIs Available to Python
  • Calling Overloaded Methods from Python
  • Generating Random Numbers in Python
  • Providing Arguments for By-Reference Parameters

Custom Dialogs in Eto

  • Writing Custom Eto forms in Python
  • Eto Controls in Python
  • Eto Layouts in Rhino.Python

Other Resources

  • Rhino Scripting Forum (Discourse)
  • Rhino.Python Samples
  • Rhino.Python Developer Samples GitHub
  • Designalyze Python Tutorials
  • Plethora Project
  • Steve Baer’s Blog
  • Python Beginner’s Guide
  • Tutorials Point Python Series
  • Rhino.Python Dash Docset
  • Nature of Code Video Tutorials

openNURBS

Read/Write Rhino 3dm files in your application.

Overview

  • NURBS Geometry Overview
  • What is openNURBS?
  • What is Rhino3dmIO?

Getting Started

  • Getting Started
  • Linking with openNURBS
  • What’s New and Update Guide

Fundamentals

  • Brep Loop & Edge Directions
  • Getting Object Attributes
  • Importing Lightweight Extrusions
  • Periodic Curves & Surfaces
  • Reading Render Meshes
  • Reading Subdivision Surfaces
  • Superfluous Knots
  • Traversing Instance Definitions

Advanced

  • Creating Linear Dimensions
  • Data from Ellipses
  • Finding an Annotation object’s font
  • Instance References with Non-Uniform Scales
  • Reading Per-Face Render Materials
  • Testing for Object Visibility

C/C++

Native SDK for Rhino for Windows plugins.

Overview

  • What is the C/C++ SDK?
  • What’s New?
  • License Agreement

Getting Started

  • Installing Tools (Windows)
  • Creating your first C/C++ plugin for Rhino
  • Defining New Plugin Commands
  • Migrate your plugin project to Rhino 7
  • Plugin Installers (Windows)
  • Migrate your plugin project to Rhino 6 manually
  • Migrate your Options, Document Properties and Object Properties Pages

Fundamentals

  • Adding a Custom Menu
  • Adding a NURBS Curve from Control Points
  • Adding Command Line Options
  • Adding Curve Objects
  • Adding Mesh Objects
  • Adding User Strings to Objects
  • Adjusting Isocurve Density
  • Annotation Objects
  • Applying Non-Uniform Transformations to Objects
  • Archiving Curves to a File
  • Avoiding Buffer Overruns in String Functions
  • Calculating the Angle Between Two Points
  • Clear Undo and Redo Lists
  • Create Principal Curvature Curves
  • Creating Blocks
  • Creating Leaders
  • Creating Sublayers
  • Determining Curve Object Types
  • Determining if a Brep is a Box
  • Determining the Active Viewport
  • Determining the Normal Direction of a Brep Face
  • Finding Points on Curves at Arc Length Distances
  • Finding Rhino’s Installation Folder
  • Finding the Parameter of a Curve at a Point
  • Getting Layer Objects
  • Getting Object UUIDs
  • Getting the Units of the Active Document
  • Iterating the Geometry Table
  • Logging Debug Info
  • Mesh Types
  • Modify an Object’s Color
  • Modifying a Light’s Color
  • Offsetting Curves on Surfaces
  • Open a 3DM file
  • Orienting Objects on Surfaces
  • Picking Brep Components
  • Picking Point Objects
  • Picking Surface Point
  • Picking Text Dots
  • Pre- and Post-Picking Objects
  • Printing a Layer’s Full Path
  • Registering Plugins (Windows)
  • Renaming Layers
  • Running Rhino Commands from Plugins
  • Saving Persistent Settings
  • Selecting Objects
  • Setting Viewport Titles
  • Transforming Breps
  • Type Casting Rhino Objects
  • User Data
  • Using the sizeof operator with TCHAR and wchar_t
  • Window Selecting
  • Writing to Text Files
  • Object Types
  • Brep Data Structure

Advanced

  • Adding Online Help to Your Plugin
  • Adding RhinoScript Support
  • Adding to Rhino’s File Search Path
  • Adjusting Clipping Planes from Conduits
  • Calculating the Lengths of NURBS Curves
  • Canceling Long Processes with ESC
  • Changing Display Precision
  • Crash Dump Analysis
  • Creating a Custom Color Picker
  • Creating a Custom CRhinoGetObject Class
  • Creating and Deploying Plugin Toolbars
  • Creating Points from Text Objects
  • Custom Picking Grip Objects
  • Custom Undo Events
  • Determining Language Setting
  • Draft Angle Contouring
  • Drawing Arrowheads in Display Conduits
  • Duplicating Objects with Group
  • Dynamically Drawing Geometry when Picking Points
  • Dynamically Drawing Polylines
  • Dynamically Drawing Text Strings
  • Dynamically Inserting Blocks
  • Enabling Orthogonal Mode
  • Extracting Curve Edit Points
  • Extracting Thumbnail Preview Images
  • Getting Script-Added Objects
  • Handling Enter and Escape from Modal Dialogs
  • Highlighting Objects in Conduits
  • Loading Plugins at Startup
  • Localizing Plugin Toolbars
  • Lofting Surfaces that Maintain Tangency
  • Making Plugins That Expire
  • Modifying Advanced Display Settings
  • Moving Curve and Surface Grips
  • Moving Mesh Vertices
  • Object Properties Page Icons
  • Picking Objects without CRhinoGetObject
  • Plugin Loading
  • Plugin Search Order
  • Project Curves onto Breps
  • Projecting Points to Breps
  • Retrieving Rhino Data from the Clipboard
  • Running Rhino from the Command Line
  • Setting Up a Cage Edit
  • Shading Individual Objects
  • Showing Objects Transforming Dynamically
  • Supporting High DPI Displays
  • Testing for Curves on Surfaces
  • Toggling the Status Bar
  • Tracking Camera Changes with Conduits
  • Triangulating Polygons
  • Unifying Mesh Normals
  • Using ActiveX Controls
  • Writing Code for 32- and 64-bit Compilers
  • Creating a Skin

Rendering (RDK)

  • RDK Automatic UI
  • RDK Current Environment
  • RDK Decals
  • RDK Dithering
  • RDK Document Contents
  • RDK Ground Plane
  • RDK Linear Workflow
  • RDK Post Effect Classes
  • RDK Render Content
  • RDK Rendering
  • RDK Safe Frame
  • RDK Skylight
  • RDK Sun
  • RDK Tasks
  • What is the RDK?
  • Scripting Methods for RDK (Windows)
  • Your First Renderer Plugin (Windows)
  • Textures and Mappings
  • Light Attenuation
  • RDK Render Content Editors

Zoo

  • What is a LAN Zoo Plugin?
  • Creating Plugins that use the LAN Zoo
  • Digitally Signing LAN Zoo Plugins

Troubleshooting

  • Do NOT Test for Equality
  • FPU Issues

Grasshopper

Create custom Grasshopper components and plugins.

Overview

  • What is a Grasshopper Component?

Getting Started

  • Installing Tools (Windows, Mac)
  • Your First Component (Windows, Mac)
  • Distributing a Grasshopper Plug-In with the Package Manager

Fundamentals

  • Simple Component
  • Simple Mathematics Component
  • Simple Geometry Component
  • Simple Data Types
  • Simple Parameters

Advanced

  • List Components
  • Extending the GUI
  • Task Capable Components
  • Custom Attributes
  • Custom Component Options
  • Components with a variable number of parameters

In Depth

  • Grasshopper Data Types
  • Multi-threaded components
  • The Why and How of Data Trees
  • Grasshopper Icons
  • Component Installers (Windows)

Python in Grasshopper

  • Your First Python Script in Grasshopper
  • An Overview of the GhPython Component
  • An Overview of the GhPython Editor
  • Debugging GhPython components Visual Studio
  • GhPython Common Questions and Answers
  • Creating Global Sticky Variables
  • Node in Code from Python.
  • Custom GhPython Baking Component
  • Grasshopper data trees and Python

RhinoScript

RhinoScript is a scripting tool based on Microsoft’s VBScript language. With RhinoScript, you can quickly add functionality to Rhino for Windows, or automate repetitive tasks.

Overview

  • What are VBScript and RhinoScript?

RhinoScript 101

   Introduction
   Where to find help
   1. What’s it all about?
   2. RhinoScript Essentials
   3. Script anatomy
   4. Operators and functions
   5. Conditional execution
   6. Arrays
   7. Geometry
   Download the RhinoScript 101 Primer as a single PDF

Fundamentals

  • VBScript Statements
  • VBScript Procedures
  • VBScript Variable Hoisting
  • VBScript Variables
  • VBScript Data Types
  • VBScript Conditionals
  • VBScript Logic
  • VBScript Looping
  • VBScript Passing Parameters
  • VBScript Constants
  • VBScript Operators
  • VBScript Code Conventions
  • VBScript Dictionaries
  • VBScript Err Objects
  • VBScript Err Objects
  • VBScript String Literals

Intermediate

  • Array Dimensions & Upper Bounds
  • ByRef vs ByVal
  • Calculating Permutations
  • Comparing Arrays
  • Converting GUIDs to Strings
  • Creating GUIDs
  • Disposing of Variables
  • Finding Duplicate Strings
  • Finding Perfect Squares
  • Generating Random Numbers
  • Including Scripts
  • Lengths of Curves
  • Modifying Object Colors
  • Multidimensional Arrays
  • Nothing vs Empty vs Null
  • Optional Arguments
  • Parentheses Error
  • Parsing Text Files
  • Reversing Arrays
  • Selecting Curves by Type
  • Using .NET Classes

Advanced

  • Accessing Databases
  • Adding Curvature Circles
  • Archimedean Spirals
  • Array Utilities
  • Cancelling Scripts
  • Closest Axis Point
  • Converting Text to Geometry
  • Converting to Grayscale
  • Copying to Excel
  • Curve Osculating Planes
  • Disconnected Recordset Sorting
  • Distance on a Curve from a Point
  • Efficient Script Loading
  • Error Handling
  • Fibonacci Numbers
  • Getting & Setting Locale
  • Hot & Cold Colors
  • Importing Points from Text Files
  • Isometric Views
  • Linear Regression
  • Offsetting Meshes
  • Padding Digits
  • Persistent Settings
  • Quadratic Solver
  • Quick Sort Key Value Pairs
  • Read & Write UTF-8 Files
  • Reading Excel Files
  • Replacing Points with Blocks
  • Rounding Numbers
  • Saving File Summary Info
  • Script Demand Loading
  • Shortest Line between two Lines
  • Skipping current iteration in a For loop
  • Sorting VBS Arrays with .NET
  • Testing for Empty Arrays
  • Trimming Curves
  • Uncommon Numeric Conversions
  • VBScript RegExp Objects
  • VBScript RegExp Objects

Troubleshooting

  • Failed to Create VBScript Error

Other Resources

  • Pascal Golay’s scripted utilities for Rhino
  • RhinoScript Samples on GitHub
  • RhinoScript Dash Docset
  • RhinoScript Help File On-Line

Compute

Getting Started

  • Compute: Features
  • Running and Debugging Compute Locally
  • Calling Compute with Python
  • Calling Compute with JavaScript
  • Calling Compute with .NET
  • Extending Compute with Custom Endpoints

Production Deployment

  • Licensing & Billing
  • How to create a virtual machine (VM) on Azure
  • How to create a virtual machine (VM) on Amazon Web Service
  • Deployment to Production Servers
  • Configure Compute to use HTTPS

Hops

  • What is Hops
  • How Hops Works
  • The Hops Component

Developer Services

Localization

Our regional office in Europe provides a translation and localization service for third-party developers and anyone else interested in translating their products to French, German, Italian, Spanish, etc. Details…

Marketing Support

If you have developed a Rhino add-on that you would like to make available to other Rhino users, food4Rhino is the place to post the details about your plug-ins for Rhino and Grasshopper. Food4Rhino is the Plug-in Community Service by McNeel. Users can find the newest Rhino Plug-ins, Grasshopper Add-ons, Materials, Textures and Backgrounds, Scripts and much more. It is free. See the frequently asked questions…

В данной заметке, выражу только свое понимание, которое не может быть последней инстанцией, либо претендовать на единственное верное решение, сколько людей — столько и мнений и вариантов, привожу свой вариант. Кому необходим перевод всех настроек, можно установить Rhinoceros на русском языке и прочесть, что — за что отвечает, благо программа русифицирована, на оффициальном уровне.
Настройки всех разделов приводить не буду, остановлюсь лишь на некоторых настройках раздела View — Shaded, которые облегчают мне процесс моделирования и помогают.

1. Background — Подложка рабочего окна, выставлена в режим Gradient 2 Colors, двухцветный градиент. Значение светлого тона — RGB = 162, значение темного тона — RGB = 92, установлено для того, чтобы беречь зрение, так как от длительной работы, глаза очень устают, так же по причине того, что монитор излучает свет, а свет монитора это раздражитель для нервной системы и чем приглушеннее цвета в программе, тем проще нервной системе, так как не приходится долго смотреть либо на яркий белый, либо на ядовитые мертвые цвета.

2. Color & Material usage — это цвет лицевой поверхности объекта, всегда устанавливаю в режим Custom Material for all object (Настраиваемый материал для всех объектов), который имеет следующие настройки:

  • Override object’s color (Замена цвета объектов) — значение — RGB = 105, все объекты в сцене будут покрыты серым цветом, немного ниже среднего.
  • Gloss color (Цвет глянцевитости) — значение — RGB = 255.
  • Gloss intensity (Интенсовность глянцевитости) — 30%, ядреные блики и отражения на объекте не нужны, а приглушенные пойдут и как раз будут показывать, как лег свет на обект.
  • Gloss finish (Окончание глянцевитости) — 20%, вообще это ширина блика со спадом, меньше значение размер шире, больше значение размер уже.

3. Backface settings — это цвет изнаночной поверхности, обратной стороны объекта, всегда устанавливаю в режим Custom Material for all object (Настраиваемый материал для всех объектов), который имеет следующие настройки:

  • Override object’s color (Замена цвета изнанки объектов) — значение — RGB = 0,255,255, все изнаночные поверхности объектов в сцене будут покрыты голубым цветом (цвет может быть любым главное, чтобы он считывался при беглом взгляде на объекты в сцене и было понятно что объекты или нормальные или вывернутые наружу).
  • Gloss color (Цвет глянцевитости) — значение — RGB = 255
  • Gloss intensity (Интенсовность глянцевитости) — 100%, в данном случае можно ставить на 100%, так как далее срабатывает параметр Transparency, но можно менять на свое усмотрение.
  • Gloss finish (Окончение глянцевитости) — 30%, ширина блика со спадом, меньше значение размер шире, больше значение размер уже.
  • Transparency — Прозрачность изнаночной стороны, если у лицевой стороны прозрачности быть не должно, то у изнаночной — желательно, еще одна подсказка при беглом взгляде на сцену. Вообще правилом хорошего тона при моделировании, лицевые поверхности держать наружу, а изнаночные внутрь и так же передавать сцены, но часто бывает так, что открывая сцену, не ясно что в ней, если настройки лицевой и изнаночной стороны установлены по дефолту. Не ясно какая поверхность куда смотрит, вот для этго лучше сразу в настройках выставить себе помощь, еще как вариант для изнаночной поверхности подходит оранжевый цвет, сразу бросается в глаза.

Результат лицевой и изнаночной стороны, лицевая серая, изнаночная циановая, хотя она зеленовато-синяя (смайл).

Далее идет одна довольно спорная настройка Color Reduction — Ослабление цвета, в разделе Surface Edge settings — Настройки ребер поверхности. Что она делает, например если выставить значение цвета — RGB = 255,0,0 красный, то при установленных 50% в итоге получится RGB = 128,0,0, то есть ослабленный в два раза красный цвет. Эта настройка тесно связана с разделом Surface, которы будет описан далее. Почему настройка спорная — можно выставить нужный цвет сразу, например не RGB = 255,0,0, а RGB = 128,0,0, но к ней уже привычка и если сее установить в 50%, то точно при установке яркого цвета программа снизит его интенсивность автоматически, своеобразная напоминалка для забывчивых, и не очень хочется во время работы видеть слишком перенасыщенные ядерные цвета. В общем на вкус.

Далее идет раздел Grid — Сетка, в котором я включаю параметр World axis icon color usage — Использование цвета для значков Мировых координат, в режим Use specified custom colors — Использовать определенные настраиваемые цвета и выставляю значения:

  • X-axis color RGB = 150,75,75
  • Y-axis color RGB = 75,150,75
  • Z-axis color RGB = 75,75,150

Так же включаю отображение оси Z — Show Z-axis, лично мне так удобно и всегда легко ориентироваться по трем разным цветам, четко зная что красный всегда — ось X, зеленый всегда — ось Y, синий всегда — ось Z. Если у кого-то на этот счет мнение, отличное от моего, это хорошо — так должно быть.

Отображение оси Z

Далее идет раздел Objects — Объекты, в котором настраиваю подразделы:

  • Points — Точки
  • Curves — Кривые
  • Surface — поверхности

Подраздел Points — Точки
Point object settings — Настройки объекта точки

  • Point style — стиль точки или сполшной черный квадрат Solid или черный квадрат с белым квадратом внутри Square with white center (Rhinoceros 5 до сих пор считает точку — квадратной, благо Rhinoceros 6 — уже понимает точку круглой. Это был срказм ибо никто не знает, что представляет из себя точка, а представление у всех разное, философское отступление).
  • Size — Размер точки, установлен большим, так как нет желания присматриваться и искать точку в сцене, дай глазам отдых, а не напряг и тем более, я не моделирую микроскопические объекты, а моделирую промышленные изделия и стараюсь находить реальные размеры, тех объектов которые моделирую.

PointCloud object settings — Настройки объекта облако точек

  • PointCloud style — стиль точки облака точек или сполшной черный квадрат Solid или черный квадрат с белым квадратом внутри Square with white center
  • Size — Размер точки.
  • PointCloud control point style — стиль контрольных точек облака точек или сполшной черный квадрат Solid или черный квадрат с белым квадратом внутри Square with white center
  • Size — Размер контрольной точки.

Размер точек по умолчанию = 2, как я раньше с такими работал, вопрос?

Размер точек = 8, наше всё!

Далее следует настройка подраздела Curves — Кривые, в котором параметр Curve color usage — Использование цвета кривых установлен в режим Use object color — Использовать цвет объекта и параметр Curve width (pixels) = 3, почему такой размер, потому что дефолтная линия очень тонкая и похожа на нитку. Вообще работая в двух программах Rhinoceros и Autodesk Alias — для себя ассоциирую Риновскую кривую — с аллюминиевой проволокой, а Алиасовскую со стальной, легкое отступление.

Размер кривой дефолтный = 1, давай до свидания!

Размер кривой = 3, наше всё!

Далее следует самый интересный (для меня), подраздел Surfaces — Поверхности. Вот тут поподробнее.
— Surface Edge Settings — Настройка ребер поверхностей

  • Edge color usage — Использование цвета ребер, режим Use object’s color — использовать цвет объекта
  • Naked Edge usage — Использование открытых ребер, режим Use separate settings for naked edges — использовать раздельные настройки для открытых ребер
  • Edge Thickness (pixel) = 1, Толщина ребра, установлено в дефолтое значение, так как эти ребра считываются глазом очень быстро, если они определены каким-то ярким цветом, о нем ниже.
  • Color Reduction — ослабление цвета, о нем написано выше = 50%, насыщенность цвета снижается в 2 раза
  • Edge Color Usage — Использование цвета ребер, к открытым ребрам, режим Use single color for all naked edges — Использовать один цвет для всех открытых ребер
  • Naked Edge color — Цвет открытых ребер, значение цвета RGB = 255,0,255 маджента, но этот цвет ослабляется параметром Color Reduction и на выходе получается цвет RGB = 128,0,128, то есть в половину меньше по насыщенности, глаз очень быстро с таким цветом считывает открытые ребра.

— Surface Isocurve Settings — Настройка изопараметрических кривых

  • Isocurve color usage — Использование цвета изопараметрических кривых, режим Use specified UV colors — использование определенного цвета для горизонтального и вертикального направлений.
  • U color — Горизонтальное направление (ось Х) = RGB 255,0,0 красный, чтобы видеть напрвление поверхности по горизонтали.
  • V color — Вертикальное направление (ось У) = RGB 0,255,0 зеленый (Да в Рино — это зеленый (смайл)), чтобы видеть напрвление поверхности по вертикали.
  • Isocurve width (pixel) — Ширина (лучше толщина) изопараметрических кривых в пикселях, режим Use specified UV width — использование определенной ширины (толщины) для горизонтального и вертикального направлений.
  • U width — Горизонтальное направление (ось Х) = 2, дефолтное значение не подходит, очень тонкая линия. Линия красного цвета толщиной 2 пикселя.
  • V width — Вертикальное направление (ось У) = 2, дефолтное значение не подходит, очень тонкая линия. Линия зеленого цвета толщиной 2 пикселя.

Результа настройки поверхностей:
Преимущества:

  • сразу видны направления и степень поверхности по UV
  • считывается фиолетовый цвет открытых ребер, так же он ослаблен до 50%
  • Лицевая и изнаночная сторона видны сразу, не нужно ломать голову

Недостатки — не вижу, ткните, буду благодарен.

Так же такие настройки позволяют быстро считывать количество кусков из которых состоит поверхность, сингл спан и мультиспан — отдельная тема для статьи.
Control point

  • U — 8 CP
  • V — 4 CP

Degree

  • U — 3
  • V- 3

Поверхность состоит из 5 кусоков по направлению U, то есть по горизонтали.

P.S. Все вышеизложенное, является лишь частным мнением, которое может отличаться от других, отличаться от чего — от других! За выявленные оишбки в посте, буду благодарен, будет исправлено.

P.S.1 Удобство в слоях, если каждому слою присваивать цвет, тогда итог лицевой поверхности объекта будет следующим:

Все сферы одинаковые, что не отвлекает, а цвет ребра у всех разный в зависимости от цвета слоя. Напоминает Autodesk Maya, особенно синий цвет, так же срабатывает Color Reduction.

P.S.2 Настройка программы под себя, значительно облегчает процесс и ускоряет его, но нужно сесть и разобраться в настройках, а что еще делать в долгие, тихие, зимние вечера.

Понравилась статья? Поделить с друзьями:

А вот и еще наши интересные статьи:

  • Мануал по ремонту киа соренто
  • Баня из сендвичных панелей своими руками видео инструкция
  • Мануал по mazda capella
  • Серкадис плюс фунгицид инструкция по применению
  • Кальций магний цинк форте инструкция по применению

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии