Кубическая NURBzS поверхность определяется на сети кубических NURBzS
кривых.
При задании опциий изогеометричности метод построения обеспечивает
изогеометричность изопараметрических линий поверхности и кривых сети.
При любых значениях опции изогеометричности обеспечивается точное
прохождение поверхности через вершины исходной сети.
Рассмотрим процедуры построения NURBzS поверхности на различных
видах геометрических определителей:
1) На сети инцидентности
Вызовите команду v_model. Укажите 3D Mesh сеть.
[Setvars/cRtcrvu/Crtallu/Bsplineallu/eLevateallu/Fixcrvsu/Delallu/eXit]:
Выполните опцию Crtallu. Программа построит на каркасе строк сети каркас
кубических NURBzS кривых.
[Setvars/cRtcrvu/Crtallu/Bsplineallu/eLevateallu/Fixcrvsu/Delallu/eXit]:
Выполните опцию Fixcrvsu. Программа запросит шаг по выбору кривых из
каркаса кривых для создания 3D Mesh сети по узлам кривых
Enter number of segments between nods of NET<1>:
и построит сеть по узлам кривых каркаса.
При шаге больше 1 будут выбраны не все кривые каркаса.
Затем программа перейдет к построению направляющих кривых на сети
узловых точек
Enter an option [Setvars/Crtallv/Retcrvsu/eXit]
Выполните опцию Crtallv
Программа построит каркас направляющих кривых.
Выберите в меню
Enter an option
[Setvars/crTcrvsv/Crtallv/Elevateallv/Fixnet/Delallv/Retcrvsu/eXit]:
опцию Fixnet.
Программа зафиксирует сеть кривых и перейдет к построению NURBzS
поверхности
Enter an option [Setvars/Vretcrvs/Acadloft/acadIGS/toNurbzs/eXit]
Выберите опцию toNurbzs.
Программа запросит значение параметр изогеометричности
Izogeometrical Control (0 - not, 1 - weak, 2 - strong )<0>:
Значение 2 означает строгий контроль изогеометричности. Обеспечивается
отсутствие нежелательной осцилляции кривых в семействах
изопараметрических линий поверхности.
Программа построит NURBzS поверхность. Носителем NURBzS поверхности
становится GB-фрейм сплайновой поверхности Безье.
2) На сети с касательными строками
Вызовите команду v_model. Указать 3D Mesh сеть.
[Setvars/cRtcrvu/Crtallu/Bsplineallu/eLevateallu/Fixcrvsu/Delallu/eXit]:
Выполните опцию Setvars.
Программа запросит вид ГО для образующих кривых
For form curve/curves ...
Specify type of polygon [Incpllne/Tngpllne/Splframe/eXit]:
Задайте опцию Tngpllne.
Программа запросит ввести значения кривизны в концевых точках
образующих кривых
Enter an option [Curvatre/Objects/eXit]:
Не задавая ничего, выйдите из меню по опции eXit.
Программа запросит ввести значения касательной и кривизны в концевых
точках направляющих кривых.
For direct curve/curves ...
Enter an option [Tang/Curvatre/eXit]:
Не задавая ничего, выйдите из меню по опции eXit.
Программа перейдет к построению каркаса образующих кривых на
касательных строках сети
Enter an option [Setvars/Edtmesh/eDtrow/edTcol/Crtallu/eXit]:
Далее действия аналогичны действиям по построению поверхности на сети
инцидентности.
3) На согласованном каркасе кубических NURBzS кривых
Вызвовите команду v_model. Выберите NURBzS кривую.
Программа предложит строковое меню
[Setvars/BSpline/Formbs/exTRact/Multiply/eLevate/Viewcvt/Break/cRvsrf/eXit]:
Для объединения отдельных кривых в каркас образующих кривых выберите
опцию cRvsrf.
Программа предложит меню
Enter an option [Add/Undo/Close/eXit]:
Используя опцию Add, выберите остальные кривые.
После выбора последней кривой выберите опцию eXit.
Программа запросит шаг по выбору кривых из каркаса кривых
Enter number of segments between nods of NET<1>:
и построит сеть по узлам кривых каркаса.
Затем программа перейдет к построению каркаса направляющих кривых
Enter an option [Setvars/Crtallv/Retcrvsu/eXit]:
Далее действия аналогичны действиям по построению поверхности на сети
инцидентности.
В качестве учебного материала Вы можете в разделе Examples. Fair Surfaces использовать
видеоклипы и скрипт-файлы, на основе которых они сделаны:
1. Videoclip Crt_UV_Nurbzs_Part_Tor_i показывает пример построения
NURBzS поверхности на сети точек, которые неравномерно распложены на
торовой поверхности.
2. VideoclipCrt_Nurbzs_Arch Izo 0 > показывает пример построения NURBzS
поверхности типа архитектурной формы без контроля изогеометричности на
сети 3 * 3.
3. Videoclip Crt_Nurbzs_Arch Izo 2 показывает пример построения NURBzS
поверхности типа архитектурной формы с жестким контролем
изогеометричности (опция = 2) на той же сети 3 * 3.
2. Как моделировать b-сплайновую поверхность
Алгоритм построения на сети точек состоит из двух этапов:
1). Формируется каркас образующих b-сплайновых кривых.
2). На каркасе образующих b-сплайновых кривых формируется каркас
направляющих b-сплайновых кривых.
B-сплайновая кинематическия поверхность определяется на каркасе
направляющих b-сплайновых кривых.
B-сплайновая кинематическия поверхность является эквивалентной
формой представления b-сплайновой поверхности, определенной s-
многогранником.
S-полигоны направляющих b-сплайновых кривых совпадают со столбцами
s-многогранника b-сплайновой поверхности.
После редактирования b-сплайновой поверхности изменением весовых
коэффициентов, b-сплайновая поверхность становится NURBS поверхностью.
B-сплайновая кинематическия поверхность аппроксимирует исходный
каркас образующих b-сплайновых кривых.
Вершины s-полигонов b-сплайновых кривых не являются узловыми
точками (или точками с фиксированным параметром U_Const) для семейства
направляющих b-сплайновых кривых.
То есть образующие b-сплайновые кривые не совпадают с
изопараметрическими линиями b-сплайновой поверхности.
Рассмотрим процедуры построения b-сплайновой поверхности на различных
геометрических определителях:
1) На сети инцидентности
Вызвовите команду v_model. Указать 3D Mesh сеть.
Enter an option [Setvars/Edtmesh/eDtrow/edTcol/Crtallu/eXit]:
Выполните опцию Crtallu. Программа построит на каркасе строк сети каркас
кубических NURBzS кривых.
Программа предложит меню:
Enter an option
[Setvars/cRtcrvu/Crtallu/Bsplineallu/eLevateallu/Fixcrvsu/Delallu/eXit]:
Выполнить опцию Bsplineallu.
На запрос программы
Enter degree for b-spline <8>:
задайте степень b-сплайновой поверхности r(u,v) по направлению u. Степень
должна быть четной и равна 6/8/10. Программа аппроксимирует какас
образующих NURBzS кривых посредством каркаса b-сплайновых кривых.
Метод аппроксимации сохраняет качество исходных v-кривых,
представленных NURBzS кривыми.
Enter an option [Setvars/formbZall/Edtcrvsu/Fixcrvsu/Delallu/eXit]:
Введите опцию Fixcrvsu для фиксации каркаса b-сплайновых кривых.
Программа изменит носитель поверхности на сеть со строками,
совпадающими с s-полигонами b-сплайновых кривых, и перейдет к
построению направляющих кривых на новой сети
Enter an option [Setvars/Edtmesh/edTcol/Crtallv/eXit]:
Выполниту опцию Crtallv.
Программа построит каркас направляющих NURBzS кривых и перейдет к
меню
Enter an option [Setvars/crTcrvsv/Crtallv/Bsplineallv/Elevateallv/Delallv/eXit]:
Выбрать в меню Bsplineallv. На запрос
Enter degree for b-spline <8>:
введите степень сплайновой поверхности по направлению v. Степень должна
быть четной и равна 6/8/10.
Программа аппроксимирует направляющие NURBzS кривые b-сплайновыми
кривыми.
Программа предложит меню
Enter an option [Setvars/Edtcrvsv/formbZall/Delallv/Fixsurf/eXit]:
Выберите опцию опцию Fixsurf.
Программа зафиксирует b-сплайновую поверхность. Изменит носитель
поверхности на s-фрейм b-сплайновой поверхности.
2) На сети с касательными строками
Выполните команду v_model. Укажите 3D Mesh сеть.
Enter an option [Setvars/Edtmesh/eDtrow/edTcol/Crtallu/eXit]:
Выполните опцию Setvars.
Программа запросит вид ГО для образующих кривых
For form curve/curves ...
Specify type of polygon [Incpllne/Tngpllne/Splframe/eXit]:
Задайте опцию Tngpllne.
Программа запросит ввести значения кривизны в концевых точках
образующих кривых
Enter an option [Curvatre/Objects/eXit]:
Не задавая ничего, выйдите из меню по опции eXit.
Программа запросит ввести значения касательной и кривизны в концевых
точках направляющих кривых.
For direct curve/curves ...
Enter an option [Tang/Curvatre/eXit]:
Не задавая ничего, выйдите из меню по опции eXit.
Программа перейдет к построению каркаса образующих кривых на
касательных строках сети
Enter an option [Setvars/Edtmesh/eDtrow/edTcol/Crtallu/eXit]:
Далее действия аналогичны действиям по построению поверхности на сети
инцидентности.
3) На сети с касательными строками и с касательными
столбцами
Вызовите команду v_model. Указать 3D Mesh сеть.
Enter an option [Setvars/Edtmesh/eDtrow/edTcol/Crtallu/eXit]:
Выполнить опцию Setvars.
Программа запросит вид ГО для образующих кривых
For form curve/curves ...
Specify type of polygon [Incpllne/Tngpllne/Splframe/eXit]:
Задать опцию Tngpllne.
Программа запросит ввести значения кривизны в концевых точках
образующих кривых
Enter an option [Curvatre/Objects/eXit]:
Не задавая ничего, выйдите из меню по опции eXit.
Программа запросит ввести значения касательной и кривизны в концевых
точках направляющих кривых.
For direct curve/curves ...
Enter an option [Tang/Curvatre/eXit]:
Не задавая ничего, выйдите из меню по опции eXit. Программа вернется в
основное меню
Enter an option [Setvars/Edtmesh/eDtrow/edTcol/Crtallu/eXit]:
Выполните опцию Crtallu.
Программа перейдет к построению каркаса образующих кривых на
касательных строках сети.
После построения предложит меню
Enter an option
[Setvars/cRtcrvu/Crtallu/Bsplineallu/eLevateallu/Fixcrvsu/Delallu/eXit]:
Выполнить опцию Bsplineallu.
На запрос программы
Enter degree for b-spline <8>:
задайте степень b-сплайновой поверхности r(u,v) по направлению u. Степень
должна быть четной и равна 6/8/10. Программа аппроксимирует какас
образующих NURBzS кривых посредством каркаса b-сплайновых кривых.
Метод аппроксимации сохраняет качество исходных v-кривых,
представленных NURBzS кривыми.
Enter an option [Setvars/formbZall/Edtcrvsu/Fixcrvsu/Delallu/eXit]:
Введите опцию Fixcrvsu для фиксации каркаса b-сплайновых кривых.
Программа изменит носитель поверхности на сеть со строками,
совпадающими с s-полигонами b-сплайновых кривых, и перейдет к
построению направляющих кривых на новой сети
Enter an option [Setvars/Edtcrvsv/crTcrvsv/Crtallv/Delallv/eXit]:
Выполнить опцию Setvars.
Программа запросит вид ГО для образующих кривых
For direct curve/curves ...
Specify type of polygon [Incpllne/Tngpllne/Splframe/eXit]:
Задать опцию Tngpllne.
Программа запросит ввести значения кривизны в концевых точках
направляющих кривых
Enter an option [Curvatre/Objects/eXit]:
Не задавая ничего, выйдите из меню по опции eXit.
Программа вернется в основное меню
Enter an option [Setvars/Edtcrvsv/crTcrvsv/Crtallv/Delallv/eXit]:
Далее действия аналогичны действиям по построению поверхности на сети
инцидентности.
4) На согласованном каркасе b-сплайновых кривых
Выберите кривую.
Программа предложит строковое меню
[Setvars/BSpline/Formbs/exTRact/Multiply/eLevate/Viewcvt/Break/cRvsrf/eXit]:
Для объединения отдельных кривых в каркас образующих кривых выберите
опцию cRvsrf.
Программа предложит меню
Enter an option [Add/Undo/Close/eXit]:
Используя опцию Add, выберите остальные кривые.
После выбора последней кривой выберите опцию eXit. Программа
предложит меню
Enter an option [Tonet/toeDgs/eXit]:
Выберите опцию Tonet.
Программа запросит шаг по выбору кривых из каркаса кривых
Enter number of segments between nods of NET<1>:
и построит сеть по вершинам s-полигонов b-сплайновых кривых. Затем
программа перейдет к построению каркаса направляющих кривых
Enter an option [Setvars/Edtmesh/edTcol/Crtallv/eXit]:
Далее действия аналогичны действиям по построению b-сплайновой
поверхности на сети инцидентности.
В качестве учебного материала Вы можете в разделе Examples. Fair Surfaces использовать
видеоклипы и скрипт-файлы, на основе которых они сделаны:
Видеоролик Crt_Bsp_Klein 5 5 демонстрирует пример формирования b-
сплайновой поверхности степеней (5,5) вида односторонней поверхности
"бутылки Клейна" на s-многограннике.
Видеоролик Crt_Bsp_Tornado_i демонстрирует построение b-сплайновой
поверхности, моделирующей внешнюю поверхность "смерча".
Видеоролик Edt_Clth_Srf демонстрирует пример моделирования лапы
культиватора по сценарию.
3. Как моделировать NURBS поверхность
Первый способ Выполняется команда v_model. Выбирается первая граничная NURBS
кривая. Затем используется команда Crvsrf с опцией
toeDgs
Последовательно выбираются остальные граничные NURBS кривые.
Select curve 2 for surface edge:
Select curve 3 for surface edge:
Select curve 4 for surface edge:
На 4-х граничных кривых формируется NURBS поверхность.
Второй способ Выполняется команда v_model. Выбирается NURBS кривая. Набор
NURBS кривых объединяется в каркас.
Используется команда Crvsrf с опцией
toNet
Последовательно выбираются остальные NURBS кривые.Каркас
принимается за каркас направляющих по U NURBS кривых NURBS
поверхности.
Затем строится каркас направляющих по V NURBS кривых. В опции Setvar
задаетется параметр Splframe и далее задаются формат и степень
кривых. Командой Createallv строится NURBS поверхность.
Данный способ можно использовать для геометрически точного
моделирования квадратичных поверхностей (поверхности сферы, торовой
поверхности и т.п.)
и дальнейшего редактирования с помощью управляющего многогранника
NURBS поверхности с сохранением высокого порядка гладкости.
В качестве учебного материала Вы можете в разделе Examples. Fair Surfaces использовать
видеоклипы и скрипт-файлы, на основе которых они сделаны:
Видеоролик Crt_Nurbs_Arch демонстрирует пример моделирования и
редактирования поверхности типа архитектурной формы, заданной
граничными кривыми - дугами окружностей.
Видеоролик>Crt_Sphere_Nurb демонстрирует пример геометрически точного
моделирования поверхности сферы.
Видеоролик Crt_Nurbs_Torus демонстрирует пример геометрически точного
моделирования поверхности тора.
4. Как конвертировать NURBS модели приложения в
примитивы AutoCAD.
1) Можно использовать кривые на поверхности для построения примитива
_LoftedSurface.
a) При построении NURBzS поверхности
Можно использовать также штатную функцию AutoCAD построения на
сечениях примитива _LoftedSurface. Для этого используйте опцию Acadloft.
Выберите опции построения поверхности на каркаса образующих или
каркасе направляющих
Enter an option [0 - Lofted Surface created on form curves / 1 - on direct
curves]<0>:
Enter an option (0 - Lofted Surface created on set of curves / 1 - on net of
curves)<1>:
Программа построит штатный примитив AutoCAD примитив _LoftedSurface.
Качество построенного примитива существенно ниже поверхности NURBzS.
Особенно на редкой сети кривых. При этом даже при высоком качестве
кривых, составляющих сеть, качество поверхности может быть невысоким.
Для повышения качества примитива _LoftedSurface предварительно
постройте NURBzS поверхность.
b) на построенной поверхности
В меню
[Setvars/Multiply/Transpon/extRact/Prllsrf/vieWsurf/Acadloft/acadIGS/eLevate/e
Xit]:
или
[Setvars/Edtframe/Vretcrvs/Multiply/ChFormat/extRact/Transpon/Invrows/invcoL
s/Prllsrf/vieWsurf/Acadloft/acadIGS/eXit]:
выберите Multiply. Программа уплотнит NURBzS поверхность. Постройте
примитив опцией Acadloft.
В этом случа Примитив _LoftedSurface сохранит качество построенной
поверхности.
2) Можно интерполировать поверхность и на основе сети
интерполированных точек перейти к поверхностям-сетям.
a) NURBzS surface
В меню
[Setvars/Multiply/Transpon/extRact/Prllsrf/vieWsurf/Acadloft/acadIGS/eLevate/e
Xit]:
Введите опцию Prllsrf. Задайте параметры построения параллельной
поверхности.
Программа построит 3D Mesh интерполированных точек поверхности.
Полигогальную сеть 3D Mesh можно преобразовать в сеть-поверхность и
затем в NURBS поверхность.
b) b-spline or NURBS surface
В меню
Enter an option
[Setvars/Edtframe/Vretcrvs/Multiply/ChFormat/extRact/Transpon/Invrows/invcoL
s/Prllsrf/vieWsurf/Acadloft/acadIGS/eXit]:
Введите опцию Prllsrf. Задайте параметры построения параллельной
поверхности.
Программа построит 3D Mesh интерполированных точек поверхности.
Полигогальную сеть 3D Mesh можно преобразовать в сеть-поверхность и
затем в NURBS поверхность.
3) Можно преобразовать в модель в IGS-файл и импортировать в AutoCAD
Для точного преобразования NURBS модели приложения в примитив
NURBS Surface AutoCAD используйте опцию acadIGS (с версии AutoCAD 2015
можно импортировать IGS-файлы).
Команда V_Model. Выберите поверхность.
a) NURBzS поверхность
Enter an option
[Setvars/Multiply/Transpon/extRact/Prllsrf/vieWsurf/Acadloft/acadIGS/eLevate/e
Xit]:
введите acadIGS.
Программа конвертирует модель поверхность Приложения в IGS формат и
запишет в IGS-файл. Затем командой _IMPORT импортирует в NURBS
поверхность.
b) b-spline или NURBS поверхность
Команда V_Model. Выберите NURBS поверхность.
На запрос
Enter option
[Setvars/Edtframe/Vretcrvs/Multiply/ChFormat/extRact/Transpon/Invrows/invcoL
s/Prllsrf/vieWsurf/Acadloft/acadIGS/eXit]:
введите acadIGS.
Программа конвертирует модель поверхность Приложения в IGS формат и
запишет в IGS-файл. Затем командой _IMPORT импортирует в NURBS
поверхность.