Воскресенье, 23.07.2017
FairCurveModeler
Меню сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

 

 

 
Add commands of FairCurveModeler COM app AutoCAD 



Дополнительные команды FairCurveModeler. Приложение AutoCAD


Дополнительные команды предназначены для моделирования лекальных кривых на основе аналитических кривых При конструировании изделий с функциональными кривыми часто возникает необходимось использования кривых со специфическими свойствами. Например:
- коническая кривая для моделирования окружностей, эллипсов, парабол и гипербол широко используется в технике;
- цепная линия используется для моделирования элементов конструкций вида куполов или висячих конструкций;
- линия наискорейшего спуска используется для синхронизации времени движения частиц под действием тяжести от произвольной точки кривой до концевой точки;
- спираль Архимеда с эволютой вида окружности широко используется в технике, например, в эвольвентных зацеплениях.
- спираль Корню (или клотоида) с линейным законом изменением кривизны используется при трассировании дорог и в других областях техники.
Приложение дает возможность использования различных аналитических кривых. Метод аппроксимации геометрического определителя Эрмита обеспечивает точное и изогеометрическое приближение аналитических кривых.
Такие фундаментальные аналитические кривые как коники метод построения v-кривой моделирует геометрически точно непосредсственно в команде V_Model.
Построение участка клотоиды с различными опциями построения и аппроксимации реализовано командой V_Clothoid.
Для построения произвольной аналитической кривой Вы должны написать процедуру AutoLISP подготовки геометрического определителя Эрмита в виде трех списков: координат точек, векторов касательных и значений кривизны. Пример написания процедуры дается в примере 17_Crt_Tmpl_Crcl.scr.
После подготовки геометрического определителя Эрмита необходио выполнить команду V_Hermite или непосредственно обратиться в Lisp-процедуре к программе French_Curve.


Команда V_Clothoid формирует участок клотоиды.
Команда V_Hermite и процедура FrenchCurve аппроксимирует таблично заданную лекальную кривую.
Упражнения для изучения дополнительных команд программы FairCurveModeler.

Команда V_Clothoid

формирует участок клотоиды (спирали Корню). Клотоида обладает уникальным свойством: кривизна линейно увеличивается от нулевого значения. Это свойство используется при моделировании функциональных кривых линий и поверхностей в САПР.
Собственно клотоида определяется скоростью линейного изменения кривизны по длине кривой. Задается в процедуре длиной участка кривой от нулевой точки и радиусом кривизны в конечной точке участка спирали. Или фиксированной точкой, через которую должна пройти клотоида.
Начальный участок клотоиды от нулевой точки может выделяться различным способом:
- длиной участка от нулевой точки;
- значением радиуса кривизны в конечной точке.
Из начального участка можно выделить участок с заданным радиусом кривизны в начальной точке. Сформированный участок клотоиды аппроксимируется NURBzS шаблоном и может использоваться в комбинированном моделировании кривых линий.


Команда: v_clothoid
Задает динамический параметр клотоиды: длину l_max начального участка и радиус r_min в конечной точке участка.
Specify dynamic params for curve r_min <...>: (введите радиус в конечной точке)
Specify dynamic params for curve l_max <...>: (введите длину участка)
Формирует участок клотоиды.
Командная строка: Enter an option [Dynamic/Radius/Length/Point/Startr]:
Командная строка: Enter an option [Dynamic/Radius/Length/Point/Startr/Create]: (введите опцию)
Параметры и функции:
Dynamic - переопределяет динамический параметр клотоиды;
Radius – выделяет начальный участок клотоиды по радиусу r (r>r_min);
Length - выделяет начальный участок клотоиды по длине l (l Startr - выделяет участок с фиксированным радиусом в начальной точке.
Create – фиксирует участок клотоиды в виде кубического NURBzS-шаблона или интерполированного массива точек.
Функция - Create
Командная строка: Enter an option [toNurbzs/toPolyline/eXit]: (введите параметр)
Параметры:
toNurbzs – формирует кубический NURBzS-шаблон участка клотоиды. Устанавливает количество сегментов кривой
Enter a number of segms of NURBzS: (введите значение).
toPolyline – формирует 3м полилинию на интерполированных точках клотоиды;


Команда V_Hermite и процедура FrenchCurve. Аппроксимация таблично заданной лекальной кривой

Команда формирует NURBzS модель уникальной кривой, заданной таблицей дифференциальных характеристик кривой. Команда испоьзует Lisp программу FrenchCurve.
Обращение к процедуре
(FrenchCurve xyz dxyz cvt).
Параметры кривой задаются тремя списками xyz, dxyz, cvt. Список xyz содержит точки (x y z), список dxyz содержит векторы касательных (dx dy dz), список cvt содержит значения кривизны cvt.
Для формирования списков рекомендуется написать программу на AutoLISP. Пример программы на AutoLISP формирования параметров для уникальной кривой «Окружность» приведен ниже
(defun TEST_Create_French_Curve ( / xyz dxyz cvt)
(setq xyz ( list (list -100. 0. 0.) (list 0. 100. 0.) (list 70.7107 70.7107 0.)
(list 0. -100. 0.) (list -100. 0. 0.)))
(setq dxyz ( list (list 0. 1. 0.) (list 1. 0. 0.) (list 0.707107 -0.707107 0.)
(list -1. 0. 0.) (list 0. 1. 0.)))
(setq cvt ( list 0.01 0.01 0.01 0.01 0.01))
(FrenchCurve xyz dxyz cvt)
)

Дизайнер для концептуального конструирования может ввести в набор "лекальных кривых” другие замечательные кривые. Для этого необходимо подготовить списки точек xyz командой (setq xyz (list (x0,y0,z0), (x1, y1, z1), …,(xn,yn,zn)), касательных векторов dxy командой (setq dxyz (list (dx0,dy0,dz0), (dx1, dy1, dz1), …,(dxn,dyn,dzn)) и значений кривизны cvt командой (setq cvt (list cvt0, cvt1, …,cvtn)) этих кривых. С помощью процедуры (FrenchCurve xyz dxyz cvt) программы FairCurveModeler на основе этих списков формируются их кубические NURBzS шаблоны.



Упражнения для изучения дополнительных команд программы FairCurveModeler




Упражнение 1. Построение начального участка клотоиды
Упражнение 2. Построение участка клотоиды по двум радиусам
Упражнение 3. Аппроксимация NURBzS шаблоном таблично заданных кривых

Упражнение 1. Построение начального участка клотоиды

Установите окно зумирования -50,-50 300,300. Выполните
Команда: _zoom -50,-50 300,300
Постройте начальный участок клотоиды. Выполните
Команда: v_clothoid
Задайте динамический параметр клотоиды: длину l_max = 500 начального участка и радиус r_min = 50 в конечной точке участка.
Specify dynamic params for curve r_min <...>: 50
Specify dynamic params for curve l_max <...>: 500

Программа рисует фантом клотоиды с длиной 500 и радиусом в конечной точке 50.
Ris4a_1

Задайте параметры для построения шаблона участка клотоиды.
Задайте радиус кривизны в конечной точке Radius = 60
Командная строка: Enter an option [Dynamic/Radius/Length/Point/Startr]: R[ENTER]
Specify end radius on clothoid curve:60[ENTER]
Программа рисует участок клотоиды.
Постройте шаблон участка клотоиды в формате NURBzS кривой
Enter an option [Dynamic/Radius/Length/Point/Startr/Create]:c[ENTER]
Enter an option [toNurbzs/toPolyline/eXit]:n[ENTER]
Enter a number of segms of NURBzS:10[ENTER]
Программа рисует NURBzS шаблон начального участка клотоиды.

Проверьте график кривизны участка клотоиды.
Команда:V_Test[ENTER]
Select spline curve: (укажите построенную кривую)
Specify options to display evolute or curvature graph of a curve
Enter an option for curvature graph [0 - Radiuses / 1 - Curvature ]<0>:0[ENTER]
Enter a number of interpolated points < 100 >:[ENTER]
Программа выведет график центров кривизны
Создайте граничные объекты и лекальную кривую
Команда:V_Testb[ENTER]
Программа нарисует лекальную кривую в виде 3м полилинии интерполированных точек, касательные отрезки и окружности кривизны в граничных точках.
Ris4a_3


Упражнение 2. Построение участка клотоиды на двух радиусах


Выполните
Command: v_clothoid
Установите параметры клотоиды: длину l_max = 500 начального участка и радиус r_min = 50 in в конечной точке участка.
Specify dynamic params for curve r_min<...: 50
Specify dynamic params for curve l_max<...: 500
Программа нарисует фантом клотоидной спирали длиной 500 и радиуса 50 в конечной точке.
Установите параметры для построения участка клотоиды.
Установите радиус кривизны в конечной точке Radius = 60
Command line: Enter an option [Dynamic/Radius/Length/Point/Startr]: R [ENTER]
Specify end radius on clothoid curve:60 [ENTER]
Программа нарисует участок клотоиды.
Установите радиус кривизны в начальной точке участка Radius = 300
Command line: Enter an option [Dynamic/Radius/Length/Point/Startr]: S [ENTER]
Specify end radius on clothoid curve:300 [ENTER]
Программа нарисует участок клотоиды.
Постройте NURBzS шаблон участка клотоиды
Enter an option [Dynamic/Radius/Length/Point/Startr/Create]:c [ENTER]
Enter an option [toNurbzs/toPolyline/eXit]:n [ENTER]
Enter a number of segms of NURBzS:10 [ENTER]
Программа нарисует NURBzS модель участка клотоиды.
Проверьте график кривизны участка клотоиды.
Command:V_Test [ENTER]
Select spline curve: (выберите кривую)
Specify Params to Dispay Evolute or Curvature graph of curve
Enter an option for curvature graph [0 - Radiuses / 1 - Curvature] <0 :1 [ENTER]
Enter a scale with sign for curvature <-0.25>: [ENTER]
Enter a number of interpolated points <100>: [ENTER]
Программа отобразит график кривизны
Постройте граничные параметры кривой и интерполированные точки кривой.
Command:V_Testb [ENTER]
Программа нарисует граничные касательные векторы, граничные окружности кривизны и ломаную интерполированных точек.


Ris5a_1

Упражнение 3. Аппроксимация NURBzS шаблоном таблично заданных кривых

Постройте NURBzS шаблон окружности с помощью процедуры FrenchCurve. Отладочная процедура AutoLISP (defun TEST_Create_French_Curve ..... ) готовит данные для построения NURBzS шаблона по таблице точек (список xyz), векторов касательных (список dxyz), кривизн (список cvt).
Выделите нижеследующий фрагмент текста от (defun.. до ;;;
(defun TEST_Create_French_Curve ( / xyz dxyz cvt)
(setq xyz ( list (list -100. 0. 0.) (list 0. 100. 0.) (list 70.7107 70.7107 0.)
(list 0. -100. 0.) (list -100. 0. 0.)))
(setq dxyz ( list (list 0. 1. 0.) (list 1. 0. 0.) (list 0.707107 -0.707107 0.)
(list -1. 0. 0.) (list 0. 1. 0.)))
(setq cvt ( list 0.01 0.01 0.01 0.01 0.01))
(FrenchCurve xyz dxyz cvt)
) (TEST_Create_French_Curve)
_zoom _all
;;;
Подведите курсор к командной строке AutoCAD и вставьте скопированный текст в командную строку. AutoCAD выполнит процедуру AutoLISP TEST_Create_French_Curve. Построит NURBzS шаблон окружности.
Ris8
Проанализируйте текст процедуры. Попробуйте осмысленно изменить значения точек, касательных векторов и кривизн и постройте другой NURBzS шаблон.

Форма входа

Поиск
Календарь
«  Июль 2017  »
ПнВтСрЧтПтСбВс
     12
3456789
10111213141516
17181920212223
24252627282930
31
РеспектСофт
  • О компании
  • Другие продукты
  • Платежные системы
  • Каталоги САПР
  • Сайт поддержки пользователей САПР
  • Copyright RespectSoft © 2017
    Бесплатный хостинг uCoz