|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
|
||||
Цитата:
Цитата:
1. Сформировать набор изолиний (скорее всего это полилинии, возможно на определенном слое) 2. С помощью vlax-curve-getClosestPointTo найти ближайшую к указанной точку на изолинии. 3. С помощью distance найти минимальное расстояние и ,соотвественно, саму ближайшую изолинию
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
VVA, таким макаром проверять каждую из изолиний надо что ли и у каждой считать расстояние и выбирать минимальный?
в моем случае выбор через (ssget "_c" p1 p2) с увеличением рамки с шагом 0.1 достаточно.
__________________
Не труд сделал из обезьяны человека, а лень и жажда халявы... |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Создавай блок программно и на этом все.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Под "программно" я имел ввиду следующее. Описал в лиспе все действия, которые выполняет пользователь при создании блока, а при запуске, акад сам отрисовывает модель, создает блок и присваивает атрибут. Как в этой ситуации быть, т.к. видимо до создания блоков на самом деле программно я еще не дошел.
|
||||
|
||||
Регистрация: 20.03.2008
Сообщений: 2,653
|
Программно, если говорить о лиспе, блок можно создать тремя способами (насколько я знаю):
1. Командные методы (функции command и vl-cmdf) 2. Метод описания точечных пар (entmake) 3. Обращение к объектной модели (vla-методы) Цитата:
Командными методами можно сделать примерно так: Код:
Последний раз редактировалось skkkk, 26.11.2013 в 02:07. Причина: Поправки |
|||
|
||||
|
||||
|
||||
Регистрация: 14.09.2013
Сообщений: 7
|
Приветствую! Прошу посильной помощи Клуба.
У Полещука: (ssget '(125.4 58.1) создает набор из всех примитивов, проходящих через точку (125,4 58,1) Из официальной справочной документации: Command: (ssget '(2 2)) Create a selection set of the object passing through (2,2) Из личных "хождений по целине": Строю ряд отрезков, абсолютно точно, проходящих через начало UCS (оная есть World). Запускаю код Код:
Так что же нужно учитывать при написании кода, чтобы был набор из примитивов, а не просто один object ? И если, все же, можно только один, то по какому критерию он выбирается из общего множества? |
|||
|
||||
Регистрация: 14.09.2013
Сообщений: 7
|
Поверьте, не имею такой привычки - постить с бухты барахты:
http://www.google.ru/cse?cx=partner-...%83&gsc.page=1 http://www.google.ru/cse?cx=partner-...get&gsc.page=2 Если не сложно уточните свое утверждение ссылкой. |
|||
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
|
|||
|
||||
Регистрация: 14.09.2013
Сообщений: 7
|
Спасибо огромное! Однако, хотелось бы понять отчего же такой облом происходит. Это не первое и, увы, не единственное мое наблюдение странностей применения "условий выбора" при создании наборов. Пытался докопаться, посты читая, но так и не нашел ответов - просто поменял алгоритм, усыпляя чувство нарастающей тревоги, своей недалекостью в ОбработчикеСписков... Ну а сегодня понял, что нужно ставить диагноз не допуская перетекания в хронику.
И кстати, даже увеличив величину допуска до 1, в любезно предоставленном коде, все рано в набор цепляет всего 3 отрезка из 8-ми. Пардон - вот только что прочел всю ветку (сразу не вкурил как перейти туда). Так вот - точка с координатами '(0 0 0). как мне видится, здесь абсолютно не причем. На этот косяк, а точнее свою неверную трактовку Полещука, я нарвался, решая не рафинированную (как в моем первом примере "для чистоты эксперимента") задачу, и исход был таким же! Мое внимание привлек вот этот пост: Цитата:
Спасибо огромное Клуб!!! Всем успехов. Последний раз редактировалось chicot, 26.11.2013 в 01:19. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Насколько я помню, при программном формировании набора примитивов внутри определенной области, эта область должна быть на экране. Чуть ли не первое условие. Второе - соблюдение точности вычислений (а это уже показали).
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 20.03.2008
Сообщений: 2,653
|
Цитата:
Цитата:
Цитата:
Код:
И, как абсолютно справедливо заметил Алексей в предыдущем посте, область должна быть на экране. Поэтому я всегда предварительно программно зумирую вид в эту точку. Последний раз редактировалось skkkk, 26.11.2013 в 02:05. |
|||
|
||||
Регистрация: 14.09.2013
Сообщений: 7
|
Цитата:
Ну и выставляю на ваш суд свой опус: Код:
|
|||
|
||||
Цитата:
примеры entmake'ов Entmake Functions Чтобы создать вхождение блока (INSERT) нужно воспользоваться функцией insert из последней ссылки
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
У меня проблема: моя функция выводит результат вычисления в экспоненциальном виде:
6.66e+007 А я ожидал: 185.0 Вот так выглядит функция: Код:
Если запускать из командной строки, нет проблем: Код:
PS У меня ещё вопрос: может ли человек читать такое представление числа? Последний раз редактировалось baaba, 23.12.2013 в 15:11. |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Цитата:
Ожидания сильно не оправдались. Может быть, поделить надо на dimscale?
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic) |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Или на dimlfac... Кто ж его знает?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
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 |