|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Общее для всех методов:
Сначала блок _insert'ом вставляем в укромное место, а затем из этого укромного места что-то с ним делаем По возрастанию предпочтения и сложности 1.вставить блок в точку 0,0 и вызвать copy, затем блок в точке 0,0 удалить (предварительно запомнив) 2.Вставить блок в 0,0. Copyclip, удалить блок и в цикле pasteclip. 3. В цикле Вставить блок в 0,0. И использовать _CHANGE режим точка изменения (Пояснение Команда _CHANGE (режим точка изменения. Т.е. _change выбрать блок на запрос "очка изменения или [Свойства]" нажать enter и посмотреть на запросы дальше ) Общее для всех вариантов условие выхода из цикла: не изменилась LASTPOINT (пользователь не указал точку, а нажал ввод) *** Добавлено Здесь можно посмотреть пример http://dwg.ru/f/showpost.php?p=91119&postcount=41
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 01.08.2008 в 22:24. |
|||
|
||||
VVA,
Хотел пойти по третьему пути. Понял что нужно использовать while, а внутрь его всунуть if, но как получить nil в результате ввода enter ?
__________________
Блог |
||||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Цитата:
Посмотри как это сделано во 2-м лиспе по ссылке с поста #301
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
VVA, Попытался понять твой лисп #301. По возможности изучил новые функции оттуда. Не совсем все понял, но вроде как надумал один вариант на основе твоего.
Принцип такой. Создаю цикл при помощи while. В нем вставляется колонна (в 0.0), затем применяется change, запоминаются точка 0.0 и вставленный последним блок. Затем lastpoint присваивается новой переменной, и мы начинаем вставлять блок в разные точки. функцией If проверяем равенство двух переменных отвечающих за последнюю и первую точку вставки, как только нажимаем энтер, то блок вставляется в начальную точку, и две переменные уравниваются. Как только ловится это условие, то последний блок удаляется, цикл прекращается. Написать это так чтобы заработало само собой не получилось. Да и задумка наверное не верная. Вот код. Код:
Почему в цикле while только princ? Зачем тебе в If вторая часть? Цитата:
Почему не сравнить последнюю точку "LASTPOINT" с точкой 0,0? Зачем при этом две переменные, ведь можно и одной. Типа повторяем цикл, как только переменная с "LASTPOINT" попадает в 0,0, то цикл завершен.
__________________
Блог |
||||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Задумка верная. Только
Код:
Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
VVA, Пока не заработало.
Код:
__________________
Блог |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,856
|
Вот интересно, если код пишется для AutoCAD'a, то почему не использовать vl-cmdf и его особенности?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Кулик Алексей aka kpblc,
Дай подсказку к своему заданию по поводу подсчета блоков пожалста.
__________________
Блог |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,856
|
Получаешь набор блоков (с фильтрацией по имени), проход по каждому элементу. Забрать "габариты"; если "габариты" уже есть в списке результатов, то для этого элемента увеличить счетчик.
Понадобятся функции ssget, ssname, assoc, member, subst, cons.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Цитата:
Код:
Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
VVA,
Поправил, теперь работает. Код:
__________________
Блог |
||||
|
||||
Кулик Алексей aka kpblc,
Вроде можно выбрать все блоки “колонна” вот так Код:
Выбрать очередной элемент можно так (загнав в цикл) Код:
Код:
Зачем нужны member, subst, cons пока не понял
__________________
Блог |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,856
|
Примерно так (код не гонял и не проверял совсем):
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Кулик Алексей aka kpblc,
Их хелпа Цитата:
item = <имя>, (_dwgru-conv-pickset-to-list selset) = <список> (if (member ...............)) = <выражение> Что такое (_dwgru-conv-pickset-to-list selset)? Если это функция разработанная на этом сайте, то почему ее нет в коде? Про остальное пока молчу. Непонятного много пока. VVA Жду еще задания
__________________
Блог |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,856
|
В подписи см. библиотека DwgRuLispLib.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
kpblc,
Нашел по поиску только в этом топике, на #21. В библиотеке нету.
__________________
Блог |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,856
|
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Кулик Алексей aka kpblc, ]
Пытаюсь понять структуру функции (_dwgru-conv-pickset-to-list selset). Начал с самой внутренней строчки. Там такое Код:
__________________
Блог |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,856
|
Запусти в VLIDE следующие строки:
Код:
__________________
Моя библиотека 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 |