VetCAD

Две лисповские программки построения овала и линии пересечения двух плоскостей

    3 оценки

Батраков Сергей

размещено: 11 Июня 2021
Презентую две лисповские программки:
1. Построение овала
Фигуру из старых учебников по черчению, которой предлагали заменять эллипс.
Тем не менее, если кому интересно её использовать, программка ставит овал по трём точкам даже в 3D. Может кому захочется начертить овал лица, а не эллипс лица или вдруг ещё что неожиданное.
2. Построение прямой и единичного отрезка не пересечении двух плоскостей.
В качестве плоскостей можно выбрать: отрезок "LINE", прямая "XLINE", окружность "CIRCLE", дуга "ARC", эллипс "ELLIPSE", полилиния (обычная) "LWPOLYLINE", 2d или 3d полилиния "POLYLINE", сплайн "SPLINE", спираль "HELIX".
Предлагается выбрать сначала одну группу объектов, потом другую. Если сразу сделать пустой ввод, то предлагается ввести 6 точек подряд, по три на каждую плоскость. Если выбрать две группы объектов, программа автоматически выберет по три точки с наибольшим вектором векторного умножения. Внимание программа не производит проверку, лежат ли все точки выбранной группы объектов в одной плоскости, это надо обеспечить при вводе.
Две лисповские программки построения овала и линии пересечения двух плоскостей1

Комментарии

Комментарии могут оставлять только зарегистрированные участники
Авторизоваться
Комментарии 1-7 из 7
Jedem_das_seine , 17 июня 2021 в 11:55
#1
Уважаемый, а какими командами запускаются сии полезности?
AlexCondor , 20 июня 2021 в 12:06
#2
Автор не отвечает, возьму на себя смелость ответить:
(Овал) и (Пересечение_плоскостей)
Jedem_das_seine , 21 июня 2021 в 08:54
#3
Не поверищь - возникала такая безумная идея .... но - не-а, не работает ... колдунство какое-то да и токмо
Jedem_das_seine , 21 июня 2021 в 09:01
#4
Миль пардон - заработало! Просвети мя темного - а почему наименование команды со с (), а не как обычно с префиксом _?
AlexCondor , 21 июня 2021 в 12:44
#5
Программы написаны как отдельные функции. Ну видимо так было удобнее автору.
Можете внести изменения. Первой строки Овал.lsp:
(Defun c:Овал (/ poi1 poi2 poi3 poi4 O OC CE poi1-O poi ;после символа / идёт
и в строку 118 Пересечение_плоскостей.lsp:
(defun c:Пересечение_плоскостей (/ e1 e2 lst1 lst2)
и будет запускаться как обычная команда.
Jedem_das_seine , 22 июня 2021 в 07:59
#6
Огромное спасибо, Alex!
Батраков Сергей , 08 августа 2021 в 23:58
#7
Цитата:
Сообщение #4 от Jedem_das_seine

Миль пардон - заработало! Просвети мя темного - а почему наименование команды со с (), а не как обычно с префиксом _?

`((я)(люблю)(лисп)(,поэтому)(обожаю)(слова)(в)(скобках))
zip

0.04 МБ

СКАЧАТЬ