| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
|
||||
YngIngKllr Регистрация: 29.03.2005
СПб
Сообщений: 12,968
|
Цитата:
Скоро примерчик будет тебе(только не от меня)
__________________
Работаю за еду. Working for food. Für Essen arbeiten. العمل من أجل الغذاء Працую за їжу. |
|||
|
||||
крыс
Когда руки дойдут добавь пожалуйста возможность захватывать кроме позиционных еще гребенчатые и цепные выноски. А дальше я попытаюсь сам с фильтрами разобраться в топике Научите лиспу на примере (или как kpblc, VVA и компания пытаются обучить чайника лиспу)
__________________
Блог |
||||
|
||||
Есть кординальные различия. Но о них позже, когда лисп будет готов. Кстати, создание лиспа продолжилась по ссылке с #22.
__________________
Блог |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
"Продолжилось" - мягко сказано...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Дай бог до конца дойти.
__________________
Блог |
||||
|
||||
Получилось так, что тема продолжила развиваться в топике Научите лиспу на примере (или как kpblc, VVA и компания пытаются обучить чайника лиспу), там разработка заняла 8 листов, и по ходу дела в не поучаствовали многие программисты. Лисп пока ней закончен, но чтобы не забивать указанную тему лишней информацией было решено все же вернуть дальнейшие действия сюда.
Тут я приведу ссылки на самые важные посты, которые пригодятся далее. Код от kpblc, для преобразования выносок СПДС в список.#472 Код для упорядочивания списков от VVA#518 И последняя версия главного лиспа, который фильтрует и видоизменяет список полученный кодом от kpblc, который разработал CB#544 На данный момент этот лисп позволяет получить такой список. Код:
__________________
Блог |
||||
|
||||
CB,
Я планировал дома разобрать. На работе никак дел не поубавиться. Чтобы ответить осмысленно вечером все обмозгую. Хотя уже знаю, что будут проблеммы с этим Цитата:
Цитата:
__________________
Блог |
||||
|
||||
CB,
Блин. Уже полтора часа бъюсь об стенку и все не пойму как работает лямбда внутри лямбды. Хотя по отдельности все функции понемаю.
__________________
Блог |
||||
|
||||
Выделили цветом, должно стать понятнее
Код:
("Лист -" "Лист-" "Фл") ;;; 1 "ГОСТ 19903-74" ;;; 1 Тогда для '(lambda (x y) x=("Лист -" "Лист-" "Фл") ;;; 1 y="ГОСТ 19903-74" ;;; 1 Заметь, что элементы 1-го списка - списки Для (lambda (z) поочередно подставляются элементы x, т.е. z= "Лист -" z= "Лист-" z= "Фл" и все они собираются в список с y, т.е. "ГОСТ 19903-74" Получаем список из элементов ("Лист -" "ГОСТ 19903-74") ("Лист-" "ГОСТ 19903-74") ("Фл" "ГОСТ 19903-74") Внес в код небольшую модификацию для получения однородного списка (раньше мог быть список или точечная пара). Изменения выделил жирным В общем весь этот код сводится с получению этого списка Код:
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
VVA,
Спасибо. Теперь понял. Тогда, продолжив этот список для всех гостов, получим Код:
__________________
Блог |
||||
|
||||
Конструирование в области нефтеразведки Регистрация: 10.02.2006
Гомель
Сообщений: 321
|
>Red Nova
Весь день был в командировке, так что к машине добрался только сейчас... VVA объяснил работу кода очень доступно и понятно, правда Цитата:
Списки ты составил почти правильно, даже нашел засаду для подсписка '("Уголок"), которую я специально устроил... Правда есть и одна неточность, про которую ты наверняка не мог знать. Это подсписок '("Тр" "Tp" "Тp" "Tр"). Я понимаю , что ты хотел решить проблему, что слово Тр может быть написано и русскими буквами и английскими, но: во-первых - зту проблему нужно было решать раньше, т.к. если в слове Тр будет хоть одна английская буква, список отфильтруется на этапе фильтрации; во-вторых эта проблема легко решается с помощью функции Код:
Теперь продолжаем. Попробуй сделать сам следующее 1. Создаем глобальную переменную Код:
Код:
Код:
Код:
Ну пока хватит, что то я сегодня запарился... |
|||
|
||||
Хотя не до конца понял алгоритм, но судя по твоим указаниям код должен быть таким : Но естественно не работает
Код:
__________________
Блог Последний раз редактировалось Red Nova, 09.10.2008 в 22:44. |
||||
|
||||
Конструирование в области нефтеразведки Регистрация: 10.02.2006
Гомель
Сообщений: 321
|
>Red Nova
Цитата:
Цитата:
Код:
В зависимости от EL-LST вычисляется локальная переменная EL-AS, которая на данном зтапе и есть результат выполнения ф-ции lambda. Однако переменная EL-AS не является целью - она лишь средство для дальнейшей обработки. Нам нужнен второй или третий элемент EL-AS. Если бы не было специальных условий для "-","Уголок" и "\\U+E720", то все было бы совсем просто: Код:
Код:
1. Ф-ция для "-" : Код:
Код:
|
|||
|
||||
Спасибо, все работает
Соединив все коды, на данный момент имеем Код:
В качестве ориентира служат координаты мтекстов. Тут (кстати именно этим кодом я потом буду рассчитывать полученную спецификацию)VVA в коде применяет нечто подобное, там учтена возможность неидеального совпадения координат мтекстов. Если отмечая шаблон мы захватим более или менее четырех столбцов, выходит сообщение об ошибке, то же происходит, если выбрать меньше строк чем есть элементов в списке. Но если выбрать больше строк чем требуется, то лисп должен заполнить все верхние строки нормально, а в лишние записать ####. P.S. Я кстати добавил Тр.*,Tp.*,Тp.*,Tр.* в первый фильтр, (так и не понял куда твоу функцию вклеить, так вышло даже проще).
__________________
Блог Последний раз редактировалось Red Nova, 13.10.2008 в 09:21. |
||||
|
||||
Конструирование в области нефтеразведки Регистрация: 10.02.2006
Гомель
Сообщений: 321
|
>Red Nova
1. "Вклеить" функцию нужно здесь: Код:
Имеется: Код:
Код:
2. Так, как ты соединил, не будет работать окончательная сортировка Имеется: Код:
Код:
|
|||
|
||||
Поправил #37. Назвал команду ntt (note to text).
Странное дело. Обнаружил что на домашнем компе лисп по сих пор работает неправильно, хотя на работе все нормально. Это касается позиций с именами типа a2 a3 a4...b2 b3 b4... . Они вообще не попадают в список. Я и раньше встречал такого типа мистические несоответствия. Тогда так и не удалось с этим справиться. Может есть возможность как-то модифицировать код так, чтобы он делал то же но чуть по другому. Может тогда все наладится?
__________________
Блог Последний раз редактировалось Red Nova, 10.10.2008 в 20:31. |
||||
|
||||
Вот пример в котором показано как заполнить шаблон спецификации из полученного списка.
(Оказывается я перепутал первые два столбца метсами. Вместо ГОСТ, Позиция должно быть Позиция потом ГОСТ).
__________________
Блог |
||||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сейсмозащита и сейсмоизоляция существующих, построенных зд. | IANationalInformAgentstvo | Прочее. Архитектура и строительство | 216 | 20.01.2015 16:51 |
Предложения по расчетным моделям сооружений | aldt | Расчетные программы | 8 | 06.07.2009 17:53 |
Программа для разработки спецификаций в MS Excel | Бриг | Прочее. Программное обеспечение | 5 | 27.09.2007 08:38 |
Создание форматки для СПДС | Владимир М | Программирование | 2 | 22.09.2006 23:17 |
Программы для разработки спецификаций | assenizator | AutoCAD | 6 | 04.02.2005 13:34 |