| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,856
|
Подсветка с ручками или без? Если без, то vla-highlight в помощь. Если с ручками - то преобразовать vla в ename, добавить ename в набор и потом sssetfirst.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 23.10.2013
Сообщений: 23
|
Цитата:
И еще: Почему функция (vlax-get-property obg "PrincipalDirections") возвращает одни и те же единичные вектора главных направлений для разных цилиндров (повернутых в разные направления вдоль главных координатных осей)? Для цилиндра с осью вдоль оси X координаты векторов (1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0) Для цилиндра с осью вдоль оси Y координаты векторов (1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0) Не поверите, но вдоль оси Z тоже самое. Как вообще узнать в каком направлении он повернут? Ну или может быть есть какой нибудь другой способ узнать координату конца цилиндра? Протыкал все примитивы в его составе, но так и не нашел. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,856
|
В другом или в следующем?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 14.05.2015
Сообщений: 33
|
Во всех последующих, список может быть длинней 4х:
'((25 50 100 300 200) (25 50 100 200) (25 50 100) (25 50) (700 600 400 500) (700 600 500) (700 600)) На выходе нужно получить максимально объединенные подсписки: '((25 50 100 300 200)(700 600 400 500)) |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,856
|
Сильно хочется задать провокационный вопрос: а каков должен быть результат для списка
'((25 50 100 300 200) (25 50 100 200) (25 50 100 700 600) (25 50) (700 600 400 500) (700 600 200 25 500) (700 600))
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 14.05.2015
Сообщений: 33
|
Список тот что я обрабатываю можно разделить на два: значения элементов подсписков первого списка уникальны, и не встречаются во втором подсписке. Возможно я все усложняю. Вообще исходные данные такие:
1. есть список уникальных координат, лежащих на полилиниях (отмечены красным на рисунке) 2. есть список наложенных полилиний Половина уникальных координат встречается в каждой полилинии в своей половине списка. Мне нужно получить две группы полилиний, по признаку принадлежности к своей половине уникальных координат. Я пробегался foreach по координатам полилиний, и с помощью member и vl-remove-if-not получил список с именами полилиний, но проблема в том что нужно список '((имя_полилинии1 имя_полилинии2 имя_полилинии3) (имя_полилинии2 имя_полилинии3) (имя_полилинии4 имя_полилинии5 имя_полилинии6) (имя_полилинии5 имя_полилинии6)) преобразовать в '((имя_полилинии1 имя_полилинии2 имя_полилинии3)(имя_полилинии4 имя_полилинии5 имя_полилинии6)) Последний раз редактировалось Inferi, 08.11.2017 в 17:17. |
|||
|
||||
автоматизация и организация черчения Регистрация: 17.11.2009
Sterlitamak
Сообщений: 135
|
Здравствуйте!
Будьте добры, подскажите, как с помощью лиспа, при простановке размера, задавать длину выносных линий? Т.е. иными словами как задавать отступ размерной линии от виртуальной прямой проходящей между двумя точками размера.
__________________
слесарь САПР |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,856
|
Цитата:
----- добавлено через 10 сек. ----- Насчет второго не уверен.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
автоматизация и организация черчения Регистрация: 17.11.2009
Sterlitamak
Сообщений: 135
|
Цитата:
В самом объекте данный параметр заблокирован для редактирования(при просмотре через vlax-dump-object, рядом со значением стоит (RO)). Есть мысль расчитывать третью(последнюю) точку, указываемую при построении размера, но это слишком сложные геометрические вычисления.
__________________
слесарь САПР |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,856
|
А это что?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 10.02.2007
Москва
Сообщений: 611
|
А это вот что:
Из Справки. Отступ от объекта Указывает расстояние, на которое выносные линии отступают от точек объекта. (Системная переменная DIMEXO) Автор темы напрасно применил термин "отступ". Цитата:
В простом примере эти вычисления не оправданы, но, например, при создании отверстия в перекрытии с автоматическим проставлением размеров, дальнейшим преобразовании прмоугольника отверстия вместе с размерами в блок и вставкой потом этого блока с нужным поворотом в нужное место - в этом случае подобные вычисления себя оправдывают. |
|||
|
||||
автоматизация и организация черчения Регистрация: 17.11.2009
Sterlitamak
Сообщений: 135
|
Цитата:
Не в совершенстве владею терминологией, возможно ввел кого-то в заблуждение. Цитата:
Цитата:
----- добавлено через ~4 ч. ----- Кстати получилось, проставлять размеры с фиксированной длиной выносных линий, способом вычисления третьей точки. Выкладываю тестовый код, может кому пригодится, без проверок на пустой ввод и функции ошибки. Тестил мало, возможно есть ошибки. Код:
__________________
слесарь САПР |
|||
|
||||
Регистрация: 21.04.2009
Тюмень
Сообщений: 97
|
Добрый вечер! Возможно ли в LISPе реализовать двойную сортировку и как это сделать (только средствами Active X)? Например, имеется набор блоков с разными именами. Программа выделяет все блоки, сортирует их сначала по наименованию, а затем, внутри каждого списка блоков с одинаковым именем, еще и по длине. То есть список получается типа (А длиной 200, А длиной 100, Б длиной 500, Б длиной 50).
|
|||
|
||||
Регистрация: 20.03.2008
Сообщений: 2,653
|
Я бы делал наоборот: сначала выбрал уникальные этой функцией, а затем отсортировал по наименованию.
|
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
LISP. Вставка в таблицу поля, соотвествующего площади примитива | Profan | Готовые программы | 272 | 06.06.2021 23:12 |
Сейсмозащита и сейсмоизоляция существующих, построенных зд. | IANationalInformAgentstvo | Прочее. Архитектура и строительство | 216 | 20.01.2015 16:51 |
Мониторы LCD CRT | Разное | 94 | 17.06.2008 10:51 | |
ЮМОР 2006 =) | Perezz!! | Разное | 1122 | 04.01.2007 00:46 |