В.И.Седых, В.П.Болотов, Ю.И.Роньшин

СИСТЕМА  "ВЕКТОР". МЕТОДЫ РЕШЕНИЯ ИНЖЕНЕРНО-ХУДОЖЕСТВЕННЫХ ЗАДАЧ

English
Мощным фактором освоения современных систем компьютерной графики, автоматизированного проектирования, технологической подготовки производства является включение традиционно изучаемых классических дисциплин в их среду на уровне методов и готовых макрокоманд.  На изучение учебных дисциплин ориентирована системы “Вектор” (разработка авторов) , особенно, в их векторно-графической части. На уровне методов (базовых функций системы, позволяющих их использовать в макрокомандах или при программировании на С++) реализованы принципы общей векторно-графической подготовки, включающей теоретические и практические основы начертательной геометрии, технического черчения, векторно-графического анализа, основы инженерно-художественного творчества, а также большой блок выполнения домашних заданий.

Реализация множества заданий и задач на уровне встроенных макрокоманд позволяет автоматически получать каркас заданной детали или моделируемого процесса, посмотреть их в той или иной проекции, в том числе и аксонометрической, “покрутить” в пространстве. Для понимания же алгоритма решения задачи, надо сохранить макрокоманду в свою библиотеку, "прочитать" ее,  а меняя входные данные на свои, получить чертеж-заготовку по индивидуальному заданию. Чтобы выполнить дальнейшего оформления чертежа по всем правилам черчения, надо сохранить полученный каркас в формате .dxf и продолжить работу в CorelDraw или AutoCad. Такой подход облегчает процесс выполнения задания на 70-80 %, и главное, ускоряет его выполнение.

В Интернете по адресу: http://vm.fesma.ru/Texn_h/Auto_th.htm, наряду с подробным описанием системы "Вектор", возможности ее скачать на свой компьютер, представлен разнообразный комплекс пособий дистанционного освоения перечисленных дисциплин. Через электронные конспекты лекций, сценарии практический занятий, тест-обучающие и контролирующие карты, журнал-ведомость студент/курсант в домашних условиях через Интернет  может эффективно пройти учебный курс  по той или иной  графической дисциплине.

С о д е р ж а н и е
Введение
I. Макрокоманды и методы  в учебных  дисциплинах (рис. меню)
        1.1. Векторно-графический анализ (рис. меню)
                1.1.1.  Введение
                1.1.2.  Алгоритмизация
                1.1.3.  Оптимизация
                1.1.4.  Оптимизация в задачах со скоростью
                1.1.5.  Статистика и статистический анализ
                1.1.6.  Многокритериальные задачи, парето-оптимальное моделирование, компромисс
                1.1.7.  Графы и сетевое моделирование
                1.1.8.  Линейная и нелинейная оптимизация
                1.1.9.  Комбинаторика и комбинаторный анализ

        1.2. Начертательная геометрия  (рис. меню)
                1.2.1.  Комплексный чертеж точки
                1.2.2.  Изображение (классификация) прямых
                1.2.3.  Изображение (классификация) плоскостей
                1.2.4.  Задачи на принадлежность и пересечение
                1.2.5.  Изображение многогранников на комплексном  чертеже
                1.2.6.  Метрические свойства ортогональных проекций.
                1.2.7.  Преобразование проекций. Вращение
                1.2.8.  Преобразование проекций. Замена плоскостей проекций
                            Домашние задания 1,2,3,4

         1.3. Техническое черчение (рис. меню)
                1.3.1.  Геометрическое черчение. Основная надпись, шрифты чертежные, типы линий
                1.3.2.  Геометрическое черчение.  Чертеж детали, лекальные кривые - кулачек
                1.3.3.  Проекционное черчение. Деталь 1.
                1.3.4.  Проекционное черчение. Деталь 2.
                1.3.5.  Соединение деталей. Болт, гайка, шайба
                1.3.6.  Соединение деталей. Шпилька, гнездо под шпильку, шпилечное соединение.
                1.3.7.  Сборочный чертеж. Болтовое соединение
                1.3.8.  Чтение сборочного чертежа. Эскизы и деталирование
 
       1.4. Основы художественного конструирования (рис. меню)
                1.4.1. Построение интерьера комнаты.
                1.4.2. Пульт управления (схематично).
                1.4.3. Композиция 1, 2 на окраску и расположение по методу случайных чисел.
                1.4.4. Модулер и задание художественной линии через цикл.
                1.4.5. Художественные линии на плоскости общего положения (мольберт с портретом).
                1.4.6. Натюрморт.
                1.4.7. Художественные линии на поверхности вращения (портрет на вазе).
                1.4.8. Тени от одного и двух источников.

II. Методы  (рис. меню)

1. Текст и переменные в специальное окно и/или на поле чертежа
2. Геометрические примитивы. Точка
3. Отрезок
4.Окружность, эллипс и их дуги
5. Задание треугольника как плоскости
6. Задание параллелограмма через три точки (4-я автоматически вычисляется).
7. Задание прямоугольной пирамиды в основании у которой треугольник или параллелограмм
8. Задание шестигранника и параллелепипеда
9. Задание полилинии
10. Линии: квадратичная, кубичная, Лагранж 4 точки, синусоида, кулачок
11. Поверхность вращения
12. Линейчатая поверхность
13. Конус, усеченный конус, цилиндр, обобщенный цилиндр
14. Задачи на принадлежность. Точка на прямой
15. Задачи на принадлежность. Точка на плоскости
16. Задачи на принадлежность. Точка на поверхности и полилинии
17  Позиционные задачи. Пересечение
18. Позиционные задачи. Вектор нормали, касательные
19. Позиционные задачи. Разные
20. Задачи на сопряжения через комплексные числа
21. Преобразования
22. Цвет, толщина линий, заливка, очистка экрана
23. Импорт линий из .dxf формата и формирование по ним художественной линии или поверхности
24. Метрические задачи
25. Черчение: болт, гайка, болтовое соединение, шпилька, шпилечное соединение
26. Художественные линии
27. Новые методы.


I. Встроенные макрокоманды в системе "Вектор" для учебных  дисциплин

1.1. Векторно-графический анализ (рис. меню)

Урок 1. Введение в ВГА
1.1. Треугольник в треугольнике (экранный рисунок)
Требуется построить треугольник p1-p2-p3, как плоскость. Для этого требуется найти середины сторон и обратиться к соответствующему методу построения треугольной области.
Используем следующие методы:
Set P1 = p(3, 4, 5) - метод определения точки;
Ootrezok.ss p1, p2 - метод задания отрезка;
Trian.ss p1, p2, p3 - метод задания треугольной области, как плоскости;
Set K = PointOtr(P1, P2, t) - метод задания точки на отрезке от t ( 0 <= t <=1).

1.2. Цикл вращения синусоиды (экранный рисунок)
Используем метод задания синусоиды и цикл
For i = 0 To 36 step 0.5
Sinus.ss p(0,0,0) , 1.1, 0, 360 - метод задания синусоиды
obj.zAngle = 10*i  - поворот на угол
obj.SetH
Next

1.3. Муар вращения треугольника в треугольнике (экранный рисунок)
Используем метод задания точек на прямых от t в цикле
For t = 0 To 1 Step 0.05
         Set p12 = PointOtr(p1, p2, t)
         Set p23 = PointOtr(p2, p3, t)
         Set p31 = PointOtr(p3, p1, t)
             otrezok.ss p12,p23
             otrezok.ss p23,p31
             otrezok.ss p31,p12
 next
(см. также   лекция 1практика 1 )



Урок 2. Алгоритмизация
2.1. Перебрать точки на прямой линии и соединить их с третьей (экранный рисунок)
Аналитически точка Pi на прямой p1-p2 определяется:
Pi=(1-s)*p1+s*p2
Однако воспользуемся методами задания точек на прямой от s, построением отрезка и циклом.
For s = 0. To 1.01 Step 0.05
Set K = PointOtr(P1, P2, s)
otrezok.ss K, p3
Ngpoint.ss K
Next

2.2. Перебрать точки в прямоугольнике (экранный рисунок)
Аналитически точка Pi в 4-угольнике p1-p4 определяется:
Pi=(1-u)*Pj+u*Pm
где:
Pj=(1-v)*P1+v*P3
Pm=(1-v)*P2+v*P4
Однако проще воспользоваться готовым методом задания точки в 4-угольнике в зависимости от u, v, а для перебора двумя циклами.
For v = 0. To 1.01 Step 0.1
        For u = 0. To 1.01 Step 0.1
        Set K = Parall.P(u, v)
        Ngpoint.ss K
        Next
Next

2.3. Задать окружность в прямоугольнике по методу случайных чисел (экранный рисунок)
Окружность можно задать через центр, радиус и вектор нормали  к плоскости, в которой она лежит. Причем центр окружности (ее координаты) в пределах заданной области будем выбирать случайным образом.
For u = 0. To 1.01 Step 0.005
        randomize
        x = int(rnd(1)*15)
        y = int(rnd(1)*10)
        z = int(rnd(1)*8)
        n1 = int(rnd(1)*250)
        n2 = int(rnd(1)*250)
        n3 = int(rnd(1)*250)
        Krug.ss p(x,y,z), 0.5, p(x,y,z)
        SetFillColor n1, n2, n3
Next

 (см. также   лекция 2практика 2 )




Урок 3. Оптимизация
3.1. Найти наименьшее число из набора заданных чисел (экранный рисунок).
Алгоритм решения задачи: перебрать, сравнить и выбрать. Наиболее важной частью задачи является умение описать массив значений, чтобы по их номеру можно было определять их значения. На VBS это делается через Array.
s = Array(7, 5,8,6,1,2,0.5,0.7,9,3.5,1.,7.6,5.4,7.7,1.2,1.65,6.6,10.5,3.9,8.4)
For n = 0 To 19 Step 1
if s(n) < s99 Then s99=s(n)
Next
В итоге в  s99 будет лежать минимальное число

3.2 Задача Герона - кратчайшее расстояние от двух точек р1, р2 до прямой линии р11-р12 (экранный рисунок).
Алгоритм решения задачи: перебрать, сравнить и выбрать (ПСВ).
For s = 0. To 1.01 Step 0.05
 Set Pi = PointOtr(p11, p12, s)
 S1=DlinaOtr (p1,pi)
 S2=DlinaOtr (p2,pi)
 dlina=s1+s2
if dlina < smin Then  smin=dlina  ' искомая длина
Next
(см. также   лекция 3практика 3 )



Урок 4. Оптимизация в задачах со скоростью

4.1. Задача о пешеходе по скошенному и не скошенному лугу (экранный рисунок).
Оптимизируем время, которое зависит от скорости и расстояния.
For u = 0. To 1.01 Step 0.1
x = (1.-u)*x11+ u*x12
y = (1.-u)*y11+ u*y12
z = 0
s1=sqr((x1-x)*(x1-x)+(y1-y)*(y1-y)) '  расстояние 1
s2=sqr((x2-x)*(x2-x)+(y2-y)*(y2-y)) '  расстояние 2
t1=s1/v1  ' время 1
t2=s2/v2  ' время 2
t=t1+t2  ' суммарное время
if t < tmin Then  tmin=t  ' искомое минимальное время
Next

4.2. Задача о движении судна по течению и без него (экранный рисунок).
Задача в точности повторяет предыдущую.
For u = 0. To 1.01 Step 0.05
x = (1.-u)*x1+ u*x3
y = (1.-u)*y1+ u*y3
s1=sqr((x1-x)*(x1-x)+(y1-y)*(y1-y))
s2=sqr((x2-x)*(x2-x)+(y2-y)*(y2-y))
v3=v1+v2 '  скорость судна и ветра (течения воды)
t1=s1/v3  ' время 1
t2=s2/v1  ' время 2
t=t1+t2    ' суммарное время
If t < tmin Then  tmin=t ' искомое минимальное время
Next

4.3. Задача о расхождении судов (экранный рисунок).
Здесь моделируем движение двух судов, отмечая расстояние между ними, т.е. график расстояния между судами будет  зависеть  от времени. Задача также решается способом : перебрать, сравнить и выбрать.

(см. также   лекция 4практика 4 )




Урок 5. Статистика и статистический анализ
В задачах по статанализу пытаются наилучшим образом аппроксимировать явление или предугадать (экстраполировать) явление, пытаясь для этого найти подходящее уравнение (кривой или гиперповерхности).
5.1. Метод наименьших квадратов - в задаче нахождения коэффициента прямой (экранный рисунок).
В данном случае минимизируя сумму квадратов несовпадений значений  эксперимента с той кривой, которая могла бы описать процесс.
Решение: поиск коэффициента уравнения, отвечающего поставленным требованиям.
For a = 0. To 1.5 Step 0.1
e1=(a*x1-y1)*(a*x1-y1) ' отклонение в 1-м эксперименте
e2=(a*x2-y2)*(a*x2-y2) ' отклонение в 2-м эксперименте
e3=(a*x3-y3)*(a*x3-y3) ' отклонение в 3-м эксперименте
e4=(a*x4-y4)*(a*x4-y4) ' отклонение в 4-м эксперименте
e5=(a*x5-y5)*(a*x1-y1) ' отклонение в 5-м эксперименте
e = e1 + e2 + e3 + e4 + e5 ' сумма всех отклонений
if e < emin Then emin=e '  при e = min коэффициент будет оптимальным
 Next
 
5.2. Рост человека  от его возраста (экранный рисунок).
Здесь коэффициенты уже найдены выше предложенным подходом (в трех циклах). Строится только график зависимости и вычисляются искомые значения (рост человека) от возраста. Цикл организован от 1 до ста, в 4-х случаях рост фиксируется в заданных переменных.

For t = 1 To 100 Step 1
        y = a*(1-b*exp(-k*t))
        if t = tt Then y15=y
        if t = ttt Then y19=y
        if t = tttt Then y25=y
        if t = ttttt Then y50=y
Next

(см. также   лекция 5практика 5 )


Урок 6. Многокритериальные задачи, парето-оптимальное моделирование, компромисс
Найти оптимальное расположение завода по обработке мусора при различных целях (экранный рисунок). Итальянский ученый Парето определил, что в многокритериальной задаче, значения переменных между частными целевыми функциями, заведомо лучше, чем вне этой зоны. Поэтому важно уметь, определить эту зону, которая будет и областью ограничений в которой искомое решение (компромисс и прочие условия) требуется искать.
Два города р1 и р2 решили по трассе р11-р12 построить завод р:
- 1-город стремиться построить его ближе к себе;
- 2-город стремиться построить ближе к себе;
- Общее расстояние от городов до завода д.б. минимальным;
- 2-город имеет приоритет 4;
- на одинаковом расстоянии - компромисс;
- 2-й город стремится как можно дальше, 1-й - ближе;
-  1-й город стремится как можно дальше, 2-й - ближе.
Решение: перебрать, сравнить и выбрать
For u = 0. To 1.01 Step 0.05
x=(1-u)*x11+u*x12   ' перебираем положение завода на трассе
y=(1-u)*y11+u*y12
s1=sqr((x-x1)*(x-x1)+(y-y1)*(y-y1))  ' вычисляем расстояние до 1-го города
s2=sqr((x-x2)*(x-x2)+(y-y2)*(y-y2))  ' вычисляем расстояние до 2-го города
' и в зависимости от условий их складываем или отнимаем
s3=s1+s2 ' 3-е условие
s4=s1+4*s2  ' 5-е условие
s5=sqr((s1-s2)*(s1-s2))  ' 6-е условие на компромисс
s6=-s1+s2  ' 7-е противоречивые условия на min/max
s7=s1-s2    ' 8-е противоречивые условия на min/max
if s1 < s1min Then s1min=s1 ' оптимальное решение равно s1min
if s2 < s2min Then s2min=s2 ' оптимальное решение равно s2min
if s3 < s3min Then s3min=s3 ' оптимальное решение равно s3min
if s4 < s4min Then s4min=s4 ' оптимальное решение равно s4min
if s5 < s5min Then s5min=s5 ' оптимальное решение равно s5min
if s6 < s6min Then s6min=s6 ' оптимальное решение равно s6min
if s7 < s7min Then s7min=s7 ' оптимальное решение равно s7min
Next

(см. также   лекция 6практика 6 )



Урок 7. Графы и сетевое моделирование
7.1. Задача Богданов-Вентцель: найти оптимальный путь движения судна по портам (сетке) по методу случайных чисел (экранный рисунок).
Алгоритм решения задачи основан на переборе случайно выбираемых маршрутов движения, из которых выбираем, например, по затратам топлива наименьший . Движения по ячейкам основано на подходе: выпала 1, двигаемся по горизонтали, выпала 2 - по вертикали, выпала 3 - по диагонали. Трудным является формализация подсчета суммы затрат, когда движение идет по внешнему контуру. Из-за этого задача так и не доделана (в системе "Вектор" под DOS задача была решена полностью). Решение  удалось формализовать полностью по методу безусловной оптимизации.    
7.2. Задача Богданов-Белман: найти оптимальный путь движения судна по портам (сетке) методом безусловной оптимизации (экранный рисунок).
Здесь необходимо "проползти" по всем узлам сетки и заполнить при подходе к ним наименьшей суммой затрат, что в итоге приведет, к тому, что в последнем узле будет минимальная сумма.

7.3. Найти критический путь минимума трудозатрат в заданном графе (экранный рисунок).
Здесь требуется большая работа по выявлению возможных потоков движения, формализации их в виде таблиц и затем перебирая выявленные потоки найти критический путь по минимуму трудозатрат. Можно формализовать задачу и по методу случайных чисел, указав, всевозможные пути движения из каждого узла. Однако, в этом случае критический путь, может быть и не найден. Более подробно о графах и графо-сетевых методах решения задач см. также лекция 7практика 7


Урок 8. Линейная и нелинейная оптимизация
8.1. Найти максимум ЦФ: x+y -> max при заданных ограничениях (экранный рисунок).
x/5 + y/6 > 1
x/7 + y/4 > 1
0 < x, y < 1 
Решение. Ограничения на плоскости определяют замкнутую область - выпуклый многоугольник, на границе которого и будет искомое решение. Строим область ограничений, график ЦФ. Используемые методы: построение отрезка, полилинии (область ограничений).
8.2. Задача о посылке: найти максимум посылке при ее ограничениях на обхват и длину (экранный рисунок).
s=x*y*z->max
при ограничениях:
x+2y+2z < 72,
0< x,y,z.
Задача является смешанной. ЦФ  - нелинейная, а область ограничений - линейная. Область ограничений - многогранник, ограниченный координатными плоскостями x,y,z и плоскостью x/72+y/36+z/36=1.
For u = 0. To 1.01 Step 0.05
x=(1-u)*x91+u*x92  '  перебор координаты x  области ограничений
y=(1-u)*y91+u*y92 '  перебор координаты y  области ограничений
z=(1-u)*z91+u*z92 '  перебор координаты z  области ограничений
v=x*y*z  '  выисление объема
if  v  >  vmax Then vmax = v  ' и выбор максимума
End if
(см. также   лекция 8практика 8 )


Урок 9. Комбинаторика и комбинаторный анализ ( практика 9,)

9.1. Найти расположение цифр в квадрате Ло Шу  по методу случайных чисел (экранный рисунок).
Ло Шу - поиск чисел от 1 до 9 в квадрате 3х3 так, чтобы суммы по строкам, столбцам и диагоналям была равны 15. Числа от 1 до 9 можно выбирать случайно, и сравнивать - удовлетворяют условию, выход. Ряд логических операций, ускоряют процесс поиска, однако не грантируют что, за какое-то число итераций решение будет найдено.  

9.2. Найти расположение цифр в квадрате Ло Шу  с помощью организации циклов перебора (экранный рисунок). Можно, организовав два цикла, задачу решить однозначно.  



II. Начертательная геометрия  (рис. меню)

Урок 1. Комплексный чертеж точки
В системе "Вектор" автоматически задается комплексный чертеж декартовой системы координат и ее аксонометрических проекций (диметрия и изометрия).
1.1. Координатные плоскости и оси декартовой системы координат (экранный рисунок)
Ось можно задать через метод построения отрезка:
Otrezok.ss p(0,0,0), p(10,0,0),
а координатную плоскость через:
Parall.ss p(0,8,0), p(0,0,0), p(8,8,0).

1.2 Точка А(4,5,3) на комплексном и аксонометрическом чертежах (экранный рисунок)
Set A = p(4,5,3) - метод определения переменной типа точки
Ngpoint.ss A - метод отображения точки
Text.ss A, "A" - метод обозначения точки



Урок 2. Изображение (классификация) прямых на комплексном чертеже
Изображение прямых на комплексном и аксонометрическом чертежах (экранный рисунок)
Otrezok.ss A,B - метод задания отрезка прямой через две точки (A, B - описаны и заданы)



Урок 3. Изображение (классификация) плоскостей на комплексном чертеже
Изображение плоскостей на комплексном и аксонометрическом чертежах (экранный рисунок)
Плоскость можно задать по-разному. Однозначно, что это плоскость, это:
Trian.ss A, B,C - метод задание плоскости через треугольник,  который, в свою  очередь, определяется через три точки.
Parall.ss A, B, C - тоже плоскость, но в виде паораллелограмма.

Урок 4. Задачи на принадлежность и пересечение
4.1. Пересечение фронтально-проецирующего и горизонтально-проецирующего цилиндров (экранный рисунок) может быть найденно по свойству принадлежности их вырожденным проекциям.
Percyl c1,c2,r1,r2,h1,h2 - имя метода, где:
с1, с2 - центры оснований цилиндров;
r1, r2 - радиусы цилиндров;
h1, h2 - высоты цилиндров.

4.2. Пересечение горизонтально-проецирующего цилиндра и сферы (экранный рисунок)
также может быть найденно по свойству принадлежности линиям сферы
Persf c1,c2,r1,r2,h1 - имя метода, где
с1, с2 - центры основания цилиндра и сферы;
r1,r2 - радиусы цилиндра и сферы;
h - высота цилиндра

4.2. Пересечение прямой с плоскостью (см. дом. задание 2)
Set K  = PerSlinePlane (A, B, C,D, F)  - метод нахождения точки пересечения прямой D,F с плоскостью A,B,C.
 



Урок 5. Изображение многогранников на комплексном  чертеже
(см. методы и дом. задачу 1 ). Через методы можно задать: прямоугольную пирамиду (в основании треугольник или параллелограмм), параллелепипед и произвольный 6-гранник.
Pyramid.s x, y, z, s, n,
где x,y,z - точка привязки,
s -высота,
n - номер в структуре ранее заданного основания.
C6sides.ss A,B,C,D, A1,B1,C1, D1  - метод задания 6-гранника через восемь произвольных точек
Parallped.ss A, B, C, D - метод задания параллелепипеда через четыре произвольные точки
Parallped.ss2 A, s1, s2, s3 - правильный параллелепипед через точку, ширину, высоту и глубину



Урок 6. Метрические свойства ортогональных проекций (см. дом. задачу 3).

S=DlinaOtr (A, B) - длина отрезка A-B
S=DistPointSline (A,B,C) - расстояние от точки до прямой
S=DistPointPlane (A, B,C,D) - расстояние от точки до плоскости
S= NvTrian (A,B,C) - площадь треугольника
S=NvParal(A,B,C) - площадь параллелограмма
R = RadiusDuga3p (A,B,C) - радиус дуги (окружности) через три точки)
R=DistSfera4p(A,B,C,D) - радиус сферы через 4 точки, не лежащих в одной плоскости
R = Compl.Radius (p1, p2, s) - радиус дуги через 2 точки и центральный угол



Урок 7. Стандартные преобразования проекций.
obj.All = True - преобразовать все объекты
obj.scale= s - масштаб
obj.xAngle=s - вращение вокруг оси х на угол s
obj.yAngle=s - вращение вокруг оси y на угол s
obj.zAngle=s  - вращение вокруг оси z на угол s
obj.origin(0)=s - сдвих по оси х на s
obj.origin(1)=s - сдвих по оси y на s
obj.origin(2)=s  - сдвих по оси z на s
obj.SetH - матрица отрисовать

Масштабирование по х, y, z - в отдельности и задание вектора нормали
Obj.Uniform = False
Obj.Scale = 2
Obj.ScaleY = 3
Obj.ScaleZ = 4
Obj.Normal = p(0,-1,0)
obj.SetH - матрица отрисовать



Урок 8. Нестандартные преобразование проекций. Замена плоскостей проекций (см. методы и дом. задачи 3 и 4)
OrtTrans m,n - преобразование отрезка прямой в проецирущее положение к КП,
где m - номер КП (0,1,2), n - номер отрезка;
OtrezokToOtrezok m,n - преобразование отрезка на другой отрезок, m - номер 1-го отрезка, n - номер 2-го отрезка;
PlaneTrans m,n  - преобразование плоскости в положение, параллельное КП , где m - номер КП, n - номер плоскости;
PlaneToPlane m,n - преобразование плоскости на плоскость, где m - номер 1-й плоскости, n - номер 2-й плоскости.


 

Дамашние задания 1, 2, 3, 4

Домашнее задание 1. По координатам точек основания (параллелограмма) и высоте, построить пирамиду на ортогональном и аксонометрическом чертежах (экранный рисунок).
Используемые методы:
Parall.ss A, B, C - задается основание пирамиды;
Pyramid.s x, y, z, s, n,
где x, y, z - точка привязки (лишняя информация - не работает),
s - высота пирамиды, n - номер в структуре ранее заданного основания.


Домашнее задание 2. Найти линию пересечения 2-х плоскостей АВС и DEF. Определить натуральную величину треугольника АВС (экранный рисунок).
Дважды используетя метод на пересечение прямой с полоскостью
Set K1  = PerSlinePlane (A, B, C,D, E)  - метод нахождения точки пересечения прямой D,E с плоскостью A,B,C.
Set K2  = PerSlinePlane (A, B, C,D, F)  - метод нахождения точки пересечения прямой D,F с плоскостью A,B,C.
K1-K2 - искомая линия пересечения.


Домашнее задание 3. Найти н.в сечения пирамиды ABCDS плоскостью P, заданной следами p1-p2-p3 (экранный рисунок).
Решение: четыре раза решается задача на пересечения прямой с плоскостью.
k1-k2-k3-k4- искомое сечение.
Натуральная величина сечения определяется преобразованием секущей плоскости в положение параллельное координатной плоскости через метод:
PlaneTrans m,n,
где m - номер координатной плоскости, n - номер плоскости, которую преобразуем.


Домашнее задание 4. Определить, в какой из вершин многогранника ограничений ABCDS, ЦФ: x+y+z -> max будет иметь максимум и минимум  (экранный рисунок).
Решение: плоскость ЦФ надо привести в проецирующее положение и те вершины, которые будут ближе и дальше и будут искомыми.  Привести в проецирующее положение можно методом:
OrtTrans m,n - преобразование отрезка прямой в проецирущее положение к КП,
где m - номер КП (0,1,2), n - номер отрезка.
Другой способ - плоскость ЦФ сделать плоскостью уровня, здесь также ЦФ (ее плоскость) станет проецирующей.

III. Техническое черчение (рис. меню)

Урок 1. Геометрическое черчение

1 - Основная надпись (экранный рисунок).
2 - Шрифты чертежные  (экранный рисунок).
3 - Типы линий (экранный рисунок).

Урок 2. Геометрическое черчение

4 - Задание стандартной детали (один вариант для всех) (экранный рисунок).
5 - Построение лекальных линий - кулачек (экранный рисунок).

Урок 3. Проекционное черчение. По аксонометрическому изображению вычертить деталь в 3-х проекциях, сделать наклонное сечение.

6 -  Деталь 1 (экранный рисунок).
7 -  Деталь 1 с сечением (экранный рисунок).

Урок 4. По двум проекциям  построить третью, выполнить необходимые разрезы и аксонометрию.

8  -  Деталь № 1, варианты 1-10 (экранный рисунок).
9  -  Деталь № 2, вариант 11-20 (экранный рисунок).
10  -  Деталь  №3, вариант 11-30 (экранный рисунок).

Урок 5. Соединение деталей

11 - Болт (экранный рисунок).
12 - Гайка (экранный рисунок).
13 - Шайба (экранный рисунок).
14 - Упрощенное болтовое соединение (экранный рисунок)..

Урок 6. Соединение деталей

15 - Шпилька (экранный рисунок).
16 - Гнезда под шпильку (экранный рисунок).
17 - Шпилечное соединение (экранный рисунок).

Урок 7. Сборочный чертеж  (по задаче 14  )

Урок 8. Деталирование и чтение сборочного чертежа
Тестирование и окончательное оформление работ по урокам 1-7. Тест-зачет
 


II. Основы художественного конструирования (рис. меню)

Урок 1 Построение интерьера комнаты по заданным параметрам (экранный рисунок).
Урок 2. Построение пульта управления по заданным параметрам (экранный рисунок).
Урок 3. Задание окружности, треугольника, квадрата и их закраска по методу случайных чисел (экранный рисунок).
Урок 4. Задать кулачка и его закраска в прямоугольнике по методу случайных чисел (экранный рисунок) (еще рисунок, в котором число выступов кулачка выбирается случайно).
Урок 5. Модулер - задание художественной линии в цикле (экранный рисунок).
Урок 6. Мольберт с портретом Пушкина (экранный рисунок).
Урок 7. Натюрморт (экранный рисунок).
Задача 8. Пушкин на вазе (экранный рисунок).
Урок 9. Тени от одного источника (экранный рисунок).
Урок 10.  Тени от двух источников (экранный рисунок).
 

II. Методы  (рис. меню)

1. Текст и переменные в специальное окно и/или на поле чертежа (ЭР)

1.1. Вывод текста на поле чертежа
Set A =p (2,3,4) - задание переменной типа точки, к которой текст привязан
Text.ss  A,  "A" - метод вывода текста к точке привязки
Можно задать и так:
Text.ss p (2,3,4),  "A" - метод вывода текста к точке привязки
Переменная, например n, выводится следующим образом:
Text.ss  A, " "  & n, где в кавычках может быть написан (будет выводится на экран) какой либо текст, а может и отсутствовать, но кавычки д.б обязательны.

1.2 Вывод текста в специальное окно (выводится на экран перед визуализацией графики)
Set S = p(5, 4, 3) -  задание переменной типа точки, координаты которой выводятся в специальное окно:
VBSMsg "Вершина пирамиды: S.х= " & S.x &"S.y= " & S.y & "S.z= " & S.z
Чтобы текст перенести на новую строку ставится знак "_"
Пример вывода текста и переменных на экран дисплея:
n=19 - переменная
s = 1.75 - переменная
Text.ss  p(-6,-1,-4), "Возраст  = " & n
Text.ss  p(-6,-2,-4), "Рост = " & s
Text.ss  p(-9,5,5), "Вывод в системе 'Вектор' текстовых конструкций"
 


2. Геометрические примитивы. Точка (ЭР)

Set A =p (2,3,4) - задание переменной типа точки, где:
A.x, A.y, A.z - координатные составляющие точки А
Point.ss A  - метод задания и отрисовки точки
Point.s A.x, A.y, A.z - 2-й метод задания точки через ее составляющие
Point.s p(5, 4,3) - 3-й способ задания точки


 3. Отрезок (ЭР)

Как и точка отрезок можно задавать как через переменные типа точка, так и через составляющие компоненты точек
Set P1 = p(1,2,1) - описание точки;
Set P2 = p(4,5,3)  - описание точки;
Otrezok.ss p1,p2 - задание отрезка;
Otrezok.s p1.x, p1.y, p1.z, p2.x, p2.y, p2.z  - задание отрезка через координаты точек.

4 .Окружность, эллипс и их дуги (ЭР)

krug.s x, y, z, r  - окружность в плоскости xy, где:
x, y, z - координаты центра окружности;
r - радиус окружности
krug.ss O, r, N - задание окружности в пространстве, где:
O - центр окружности, r - радиус окружности,
N - вектор нормали плоскости окружности.
Arc.ss O, r1, r2, s1, s2, N, s3 - окружность-эллипс (их дуги)в пространстве, где:
O - центр, r1,r2 - малый и большой радиус,
s1, s2 - начальный и конечный угол дуги,
N - вектор нормали, s3 - угол поворота.

5. Задание треугольника как плоскости (ЭР)

Trian.ss P1, P2, P3 - треугольник-плоскость через три точки
Trian.s x1,y1,z1, x2,y2,z2, x3,y3,z3 - через числа-координаты точек
Trian.s P1.x,P1.y,P1.z, P2.x,P2.y,P2.z, P3.x,P3.y,P3.z

Примечание 1: Треугольник, как плоскость, можно преобразовывать в положение уровня или проецирующее
Примечание 2: Треугольник можно задать также отрезками или через замкнутую полилинию, но это уже не будет плоскость


6. Задание параллелограмма через три точки (4-я автоматически вычисляется) (ЭР)

Parall.s x1,y1,z1, x2,y2,z2, x3,y3,z3 - метод задание через координаты точек
Set D = Parall.P4 - метод вычисление 4-й точки (выполняется после задания параллелограмма).
Parall.SS2 P1, a, b, N - задание прямоугольника, где р1 - вершина фигуры, a ,b - величины сторон, N - вектор нормали.
Примечание. Параллелограмм, как плоскость, можно преобразовывать в положение уровня или проецирующее. Параллелограмма можно задавать отрезками или полилинией, но это уже не будет плоскость. В диалоге в параллелограмме можно задать сетку, поменять цвет.


7. Задание Задание прямоугольной пирамиды в основании у которой треугольник или параллелограмм (ЭР)

Pyramid.s x, y, z, s, n
где x,y,z - точка привязки (не работает),
s -высота,
n - номер в структуре ранее заданного основания
Set S = Pyramid.Top - вычисление вершины пирамиды"

8. Задание шестигранника и параллелепипеда (ЭР)

C6sides.ss A,B,C,D, A1,B1,C1, D1  - через восемь произвольных точек
Parallped.ss A, B, C, D - через четыре произвольные точки
Parallped.ss2 A, s1, s2, s3 - правильный параллелепипед через точку, ширину, высоту и глубину.

9. Задание полилинии (ЭР)

Polyline.Reset  - обнулить, в случае если ранее задавалась полилиния
Polyline.AddP A1  - задать 1-ю точку
Polyline.AddP A2  - добавить 2-ю точку и т.д
Polyline.SetFillColor n1, n2, n3 - задание цвета заливки
Polyline.SaveInDoc ( -1 ) - указатель (-1) задания линии вне группы
Polyline.Draw - отрисовать линию

Если, надо чтобы полилиния была в группе (для арт-линий) перед заданием полилинии добавляются команды:
CreateGroup
ngroup = GetLastNmb

Пример: Через цикл построить n-многоугольник. Закрасить его красным цветом.
n=5 ' - число углов
R=2 '  радиус

Polyline.Reset
 For fi = 0 To 6.28 step 6.28/n
 x=R*cos(fi)
 y=R*sin(fi)
 z=R*sin(fi)
 Ngpoint.ss p(x,y,z)
 Polyline.AddP p(x,y,z)
 Next
Polyline.SetFillColor 250, 0, 0
Polyline.SaveInDoc ( -1 )
Polyline.Draw
 


10. Линии: квадратичная, кубичная, Лагранж 4 точки, синусоида, кулачок (ЭР)

Kvadr.ss p1, p2, p3, s - квадратичная, где:
p1, p2 - нач.и кон.т.; p3 - характ. точка; s - полнота
CubBez.ss p1, p2, p3, p4, s - кубичная Безье, где:
p1, p2 - н.и к.т.; p3, р4 - х.т., s - полнота"
Lagr4.ss p1, p2, p3, p4  - Лагранж 4 точки, где:
p1, p2 - н.и к.т.; p3, р4 - средние точки.
Sinus.ss p1, R, s1, s2 - синусоида, где:
p1 - точка привязки; R - радиус, s1,s2 - нач. и кон. углы
Kulak.ss p1, s1, s2, n - кулачек, где:
p1 - точка привяки; ,s1 - наружный радиус, (s1-s2) - внутренний радиус, n - число выступов


 

11. Поверхность вращения (ЭР)

RoundPov.BaseNmb = number - номер образующей (опр. ранее) " _
RoundPov.Nu = 12 - число линий по u
RoundPov.Nv = 12 - число линий по v
RoundPov.CutThrowNodes = True - сечения по узловым точкам
RoundPov.SaveInDoc
RoundPov.Draw - отрисовка

Примечание. Образующий может быть отрезок или полилиния, созданная в МК или импортируемые из .dxf формата" _

Намер образующей задается:
number = LastNmb

' Пример задать поверхность вращения через полилинию, иимпортируемую из .dxf формата

Import "C:\dizain_n\Exp_got\Obraz.dxf", 1  ' 1 - означает в группу
number = LastNmb
RoundPov.BaseNmb = number
' RoundPov.Nu = 12
'  RoundPov.Nv = 12
RoundPov.CutThrowNodes = True ' через узловые точки
RoundPov.SaveInDoc
RoundPov.Draw
 


12. Линейчатая поверхность (ЭР)

RoundPov.BaseNmb = n1 - номер 1-й образующей
RoundPov.BaseNmb = n2 - номер 2-й образующей" _
LinPov.Nu = 11 - число линий по u
LinPov.Nv = 11  - число линий по v
LinPov.CutThrowNodes = True- сечения по узловым точкам
LinPov.SaveInDoc
LinPov.Draw - отрисовка

Примечание 1. Образующими могут быть: отрезок, окружность или полилинии, созданные в МК или импортируемые из .dxf.

Примечание 2. Поверхность по узловым точкам проверено из импортируемых .dxf


 13. Конус, усеченный конус, цилиндр, обобщенный цилиндр (ЭР)

RoundPov.Cone О, R, h, N - конус, где: О - центр основания, R,h - радиус основания и высота, N - вектор оси

RoundPov.Cone2 O,r1,r2,h,N - усеченный конус, где: O - центр основания, r1,r2,h - радиусы оснований и высота, N - вектор оси

RoundPov.Cyl О, R, h, N - цилиндр, где: О - центр основания, R,h - радиус основания и высота, N - вектор оси.

linpov.Cyl P1, h, N, n99 - обобщенный цилиндр, где: Р1 - точка привязки (не работает), h - высота, N - вектор оси, m - номер образующей


14. Задачи на принадлежность. Точка на прямой (ЭР)

Set K = PointOtr(A, B, t) - точка на прямой АВ в зависимости от параметра t
Set D = PointPointSline (A, B,C) - т. на прямой кратч. расстояния от С до AB
Set T = PointOtrS (A, B, s) - точка на прямой на расстоянии s от А
Set M1 = PointOtrX (A, B, M) - точка на прямой от аргумента х (М.х)
Set M2 = PointOtrY (A, B, M) - точка на прямой от аргумента y (М.y)
Set M3 = PointOtrZ (A, B, M) - точка на прямой от аргумента z (М.z)
Set E = Compl.PointArc (p1,p2,s,t) - точка на дуге или на отрезке (s=0)от t

15. Задачи на принадлежность. Точка на плоскости (ЭР)

Set A = Trian.P(0.5, 0.5) - точка в плоскости треугольника
Set A = Parall.P(u, v) - точка в плоскости параллелограмма
Set K = PointPointPlane (A, B,C,D) - т.на плоскости кратч. расстояния от D до ABC
Set D = Parall.P4 - 4-я точка параллелограмма (вычисляется после его задания)
Set D=PointPlaneXY (A, B,C,D) - D - точка в плоскости ABC на XY от xz
Set D=PointPlaneXZ (A, B,C,D) - D - точка в плоскости ABC на XZ от xy
Set D=PointPlaneYZ (A, B,C,D) - D - точка в плоскости ABC на YZ от xz.
Set D = ParalOtr(A, B, C) - D - вторая точка отрезка CD, араллельного и равного AB.

16. Задачи на принадлежность. Точка на поверхности и полилинии (ЭР)

Set N = RoundPov.Proj(N) - точка на поверхности вращения от xy
Set A = RoundPov.P (u, v) - точка на поверхности вращения от u, v
Set A = LinPov.P (u, v)  - точка на линейчатой поверхности от u, v
Set A = Polyline.P (t) - точка на полилинии


 17 Позиционные задачи. Пересечение (ЭР)

Set k = PerOtrxy (A, B, C, D) - точка К пересечения отрезов на xy
Set k = PerOtrxz (A, B, C, D) - точка К пересечения отрезов на xz
Set k = PerOtryz (A, B, C, D)  - точка К пересечения отрезов на yz
Set K = PerSlinePlane (A, B, C,D, F) - точка пересечения прямой с плоскостью

18. Позиционные задачи. Вектор нормали, касательные (ЭР)

Set N = VecOtr (A,B) - Определение направление вектора отрезка A-B
Set D = OrtOtrFrontal (A, B, С, s1) - перпендикуляр-фронталь (длины s1) к отрезку ОП AB в т. С
Set D = OrtOtrGorizontal (A, B, С, s1) - перпендикуляр-горизонталь к отрезку ОП AB в т. С длины s1
Set D = OrtOtrProfil (A, B, C, s1) - перпендикуляр-профильная прямая к отрезку ОП AB в т.С (длины s1)
Set D = OrtToFrontal (A,B, C, D) - перпендикуляр к фронтали из ее т. С в направлении к D
Set D = OrtToGorizontal (A,B, C, D) - Перпендикуляр к горизонтали из ее т. С в направлении к D
Set D = OrtToProfil(A,B, C, D) - Перпендикуляр к профильной из ее т. С в направлении к D
Set D=Gorizontal (A, B,C,D) - Горизонталь AD в плоскости ABC
Set D=Gorizontal (A, B,C,D) - Set D=Frontal (A, B,C,D)  Фронталь AD в плоскости ABC
Set Ps = LinSkata (A, B,C) - Линия ската B-Ps в плоскости АВС
Set N = NormPlosk (A,B,C) - Вектор нормали к плоскости A,B,C
Set K=PointDistPlane (A,B,C,D,s) - т. K на расстояние s от т. D, принадлежащей плоскости ABC
Set G = OrtPlaneOtr(A,B,C,F) Плоскость C,F,G,  перпендикулярная AB
Set N = LinPov.P (u, v) Нормаль (ед. вектор) к линейчатой поверхности в ее точке с параметрами (u,v)
Set N = RoundPov.N (u, v) Нормаль (ед. вектор) к поверхности вращения в ее точке с параметрами (u,v)
Set T = Polyline.T (t) Ед. вектор T касательного отрезка на полилинии от параметра t. Вычисляется после задания полилинии

19. Позиционные задачи. Разные (ЭР)

Set F = ParalPlane (A,B,C,D,E) - Плоскость DEF, параллельная ABC, D - т. привязки 2-й плоскости, E - пустая заготовка
Set O = CentrDuga3p (A,B,C) - Центр дуги (окружности) через три точки)
R = RadiusDuga3p (A,B,C) - Радиус дуги (окружности) через три точки)
Set O = Sfera4p(A,B,C,D) - Центр сферы через A,B,C,D, не лежащих в одной плоскости
R=DistSfera4p(A,B,C,D - Радиус сферы через A,B,C,D, не лежащих в одной плоскости
Set D = OrtToGorizontal (A,B, C, D) - Перпендикуляр к горизонтали из ее т. С в направлении к D
Set D = OrtToProfil(A,B, C, D) - Перпендикуляр к профильной из ее т. С в направлении к D
 

20. Задачи на сопряжения через комплексные числа (ЭР)

Set K = Compl.PointArc (p1,p2,s,t) - вычисление точки на дуге или на отрезке, где: p1, p2 - начало и конец дуги/отрезка, s - центральный угол (для отрезка s=0), t -безразмерный параметр от 0 до 1
Set O = Compl.Centr (p1, p2, s) - центр дуги)
R = Compl.Radius (p1, p2, s) = радиус дуги
Set K = Compl.PerDugDug (p1,p2,s1,p3,p4,s2) - Пересечения  2-х дуг, дуги и отрезка, отрезков
Set K = Compl.PerPerDug2 (O1,fi,fi2,R1, O11,fi11,fi12,R11) - Пересечения 2-х дуг - 2-й способ" _
Set A = Compl.PerDugOtr (O1,s1,s2,R1, p1,p2) - Пересечения дуги и отрезка
Set p2 = Compl.KasDugOtr (O1, s1, s2, R, p1) - Построение касатетельной к дуге
Set K2 = Compl.KasOtr2dug(p11,p12,s1, p21,p22,s2,K1)  - Отрезок, касательный 2-х дуг
Set K2 = Compl.Kas2Otr2dug(O1,s1,s2,R1, O2,s3,s4,R2,K1) - Отрезок, касательный 2-х дуг - 2-й способ
Set K2 = Compl.KasDug2dug(p11,p12,s1, p21,p22,s2,R,K1) - Касание дугой двух объектов (метод недоделан)

21. Преобразования (ЭР)

obj.All = True - преобразовать все объекты
obj.scale= s - масштаб
obj.xAngle=s - вращение вокруг оси х на угол s
obj.yAngle=s - вращение вокруг оси y на угол s
obj.zAngle=s  - вращение вокруг оси z на угол s
obj.origin(0)=s - сдвих по оси х на s
obj.origin(1)=s - сдвих по оси y на s
obj.origin(2)=s  - сдвих по оси z на s
obj.SetH - матрица отрисовать

Масштабирование по х, y, z - в отдельности и задание вектора нормали
Obj.Uniform = False
Obj.Scale = 2
Obj.ScaleY = 3
Obj.ScaleZ = 4
Obj.Normal = p(0,-1,0)
obj.SetH - матрица отрисовать

OrtTrans m,n - преобразование отрезка прямой в проецирущее положение к КП (0,1,2),
где m - номер КП, n - номер отрезка
OtrezokToOtrezok m,n - преобразование отрезка на другой отрезок, m - номер 1-го отрезка, n - номер 2-го отрезка
PlaneTrans m,n  - преобразование плоскости в положение, параллельное КП , где m - номер КП, n - номер плоскости
PlaneToPlane m,n - преобразование плоскости на плоскость, где m - номер 1-й плоскости, n - номер 2-й плоскости"


 22. Цвет, толщина линий, заливка, очистка экрана (ЭР)

Width 220 - толщина линий
SetColor 70,120,220  - цвет линии
SetWidthColor 90, 0, 0, 250 - толщина и цвет
SetFillColor n1, n2, n3 - цвет заливки замкнутой и не замкнутой линии, параллелепипеда, пирамиды, шестиганника.
Polyline.SetFillColor n1, n2, n3 - цвет замкнутой и не замкнутой полилинии. Ставится перед Polyline.SaveInDoc
Parall.SetNuNvFillColor Nu, Nv, n1, n2, n3 - число линий и цвет (Nu и Nv д.б. равны 0 или 1) параллелограмма
Trian.SetNuNvFillColor Nu, Nv, n1, n2, n3 - число линий и цвет (Nu и Nv д.б. равны 0 или 1) треугольника
SetInvisibleAll - очистка экрана при вызове макрокоманд.

23. Импорт линий из .dxf формата и формирование по ним художественной линии или поверхности (ЭР)

Надежнее всего указывать полный путь, откуда берется файл .dxf формата
Import '' C:\cg\krug.dxf'', n   -  n (0,1) указание вложения в подструктуру ( 0 - внутри, 1 - вне)

При использования полилинии просто как линии она д.б. задана вне группы n =1
Полилиния, как художественная линия, задается в группе - n =0" _
заливка при импорте полилинии выполняется в диалоге
Внимание! Если вы поработали с импортом из других директорий, то в том же сеансе - требуется перезапустить систему.


24. Метрические задачи

S=DlinaOtr (A, B) - длина отрезка A-B
S=DistPointSline (A,B,C) - расстояние от точки до прямой
S=DistPointPlane (A, B,C,D) - расстояние от точки до плоскости
S= NvTrian (A,B,C) - площадь треугольника
S=NvParal(A,B,C) - площадь параллелограмма
R = RadiusDuga3p (A,B,C) - радиус дуги (окружности) через три точки)
R=DistSfera4p(A,B,C,D) - радиус сферы через 4 точки, не лежащих в одной плоскости
R = Compl.Radius (p1, p2, s) - радиус дуги через 2 точки и центральный угол

Длина болта, шпильки см. в разделе черчения


25.Черчение: болт, гайка, болтовое соед., шпилька, шпилечное соединение (ЭР)

L = Bolt (h1,h2,d, A,B) - расчет длины болта и отрисовка, где: h1, h2 - толшины соед деталей,
d - ном. диаметр резьбы; A,B - переменные типа точка для вывода в них других размеров;
S = Gaika (d, р1,р2) - выборка высота гайки и ее отрисовка от d;
L = Bltsd (d, h1, h2, p1, p2) - расчет длины болта и отрисовка болтового соединения;
L = Hpilka (h,d, bkc) - расчет длины шпильки и ее отрисовка, где: h - толшины соед. деталей, d - н.диаметр резьбы;
L = Shpsd (h,d, p1,p2) - расчет длины шпильки и отрисовка шпилечного соединения
в зависимости от толщины соединяемой детали и наминального диаметра резьбы;
Номинальный диаметр возможен: 8, 10, 12, 16, 20, 24, 30, 36, 42;

26. Художественные линии (ЭР)

ToPolylineArt n1, n2 - преобразование полилинии в художественную линию, где: n1 - число щагов вперед; n2 - число шагов назад (n2  д.б. меньше n1). Полилиния для худлинии может импортирована (в группу)
"или создана -  в этом случае худлиния делается в диалоге.

27. Новые методы (ЭР)

Set Ox = Kulachek (R,R1,R2,R3,s,a,a1,b,b1,x,y,fi,fi1,O5,O6 - кулачок
Listpr1 s1,s2,s3,s4,s5,s6,s7 - деталь 1
Listpr1 s1,s2,s3,s4,s5,s6,s7 - деталь 1 с сечением
Listpr2 d,h,d1,h1,h2,a,a1 - деталь 2 вариант 1
Listprv2 h,a,d,h1,h2,h3,a1,a2 - деталь 2 вариант 2
Listprv3 h,d,d1,h1,h2,h3,a1,a2 - деталь 2 вариант 3

Примечание. К новому методу относится - задание геометрических примитивов в группе.
nbeg=LastNmb+1 - начало группы (добавляется единичка)
......

nend=LastNmb +1   -   конец группы
MoveToGroup nbeg, nend, "Шпилич_соед"   ' - название группы


© В.И.Седых, В.П.Болотов, Ю.И.Роньшин., 2001
© ДВГМА, 2001
 



 Vector – is a friendly and accessible system for working out engineering tasks in the mode of graphic dialogue and programming in Visual Basic Script and C++.

This system puts into effect basic operations of descriptive geometry and engineering drawing, optimizing and statistics used in multicriteria tasks, optimal modeling according to Pareto, network planning, linear and nonlinear programming, geometric modeling, typology and art design.

You can buy Vector system, receive training and solve proposed tasks by the following address:
                               http://vm.fesma.ru/CI++.htm