|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
09.11.2007, 15:17 | #1 | |
Предложение: Готовые функции
Проектировщик ВК. LISP-любитель.
Москва
Регистрация: 15.12.2003
Сообщений: 1,189
|
||
Просмотров: 114693
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,843
|
Идеи ruCAD'a живут и побеждают
P.S. объект, созданный _revcloud, является обычной полилинией, даже без РД или словарей А ориентироваться только на то, что там дуговые сегменты, я б не рискнул.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Если сделать круг, то он будет объектом Circle b у него только 4 ручки. Если сделать круг из двух дуг, то ручек будет 4, но объект станет Poliline.
Очень не маловажный факт, что создание полилинии из дуг через _revcloud никогда не дает создать несколько дуг с одинаковыми координатами центра дуги. Поэтому, если объект состоит из дуг и их центры не лежат в одних координатах - это облако и не важно чем оно сделано. |
||||
|
||||
С учетом замечаний. Revclod'ом считается
1. LW полилиния 2. со всеми дуговыми сегментами 3. Координаты центров этих сегментов не совпадают 4. кривизна дуговых сегментов одинакова как по знаку, так и численно Код:
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 12.11.2007 в 10:17. Причина: Предложение Евгения Елпанова и Apelsinov №8 |
||||
|
||||
У меня получается (пока), что не только знак, но и численно равны.
Исправил №6 с учетом равенства bulge.
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
Проектировщик ВК. LISP-любитель. Регистрация: 15.12.2003
Москва
Сообщений: 1,189
|
VVA,
огромное спасибо, я бы такого написать не смог. просьба - объяви локальные переменные и вообще спасибо всем за идеи. что касается раздела - никто не высказался ни за ни против.
__________________
apel.fas |
|||
|
||||
инженер (КМ) Регистрация: 30.10.2004
Красноярск
Сообщений: 3,826
|
Я - за!
Только вот какие это функции будут? Я в том смысле, что функция может использовать другие функции, как большие и самодостаточные так и библиотечные. И если дело выгорит, то надо четко организовать порядок размещения этих функций. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,843
|
Во-во. Помимо этого неизбежно возникнет вопрос: а что качать, как ставить, что делать, короче - чтобы добиться заявленного эффекта?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Проектировщик ВК. LISP-любитель. Регистрация: 15.12.2003
Москва
Сообщений: 1,189
|
Цитата:
Цитата:
Функции будут самые разные, кроме тех что можно отнести к программам, то есть это должны быть функции, используемые только в коде. Остальные отправляются в готовые программы. Что касается используемых в этих функциях функций, то они должны быть либо прописаны прямо в теле функции, либо даны отдельно, опять же в этом разделе. Я понимаю что все это потребует,во первых, четких правил написания функций, во вторых, четких правил их именования. И ,соответственно, системы контроля всего этого дела. Что касается вопросов "а что качать, как ставить, что делать" - то этого не будет, т.к. тем, у кого такие вопросы возникают, нужно в Готовые программы. Ну и ,соответственно, должно быть четкое описание аргументов функции и возвращаемого значения.
__________________
apel.fas |
|||
|
||||
>Apelsinov №8 Оформлю в понедельник
Как пример, в коде выше используется ф-ция st-en-bulge->center, которая вычисляет центр дугового сегмента по координатам начала, конца и кривизне (bulge) Если ее нет в готовых ф-циях, то 1. добавить 2. объявить локальной в IsRevClode Это я к тому, что человек, размещающий свою функцию вынужден будет выкладывать и другие свои использующиеся ф-ции. Переписывать ее с учетом опубликованных здесь вряд ли будет. И если проект пойдет, то рыскать по, например, 200 опубликованным ф-циям не будет тоже. Как вариант, можно поступать так: 1. Основную ф-цию с подробным описанием что делает, что на входе, что на выходе, пример использования, выкладывает ввиде кода (чтобы поисковиками индексировалось) 2. Остальные сервисные ф-ции выкладываются ввиде атачмента (zip, rar, lsp). Благо этот форум позволяет это делать. Возможно, при достаточном накоплении ф-ций понадобится сервис, позволяющий из всех опубликованных постов в Готовых Функциях отавить те, в которых встречается "полилиния" или что-то в этом роде. Чтобы отфильтровать. Вот мои мысли вслух
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Предложение Apelsinov поддерживаю. Вполне возможно создать такую библиотеку, назвав, например, DWGruLib. Сам готов отдать в нее все.
Это должна быть именно библиотека функций, а не программ. Библиотека должна быть в виде одного автозагружаемого FAS-файла. Именно один FAS, а не куча LSP. В этом случае все функции доступны друг другу. FAS нужен для конечных пользователей. LISP нужны для авторов. Авторов может быть много, но лучше ограниченное количество - чтобы не загубить идею "колхозом". Здесь я имею ввиду, что компилироваться должен только проект из авторских вариантов, лучше всего одним человеком - координатором. Но исходники могут быть доступны для изучения всем. Не возбраняется и дополнять, и предлагать улучшения, но приниматься к действию все должно координаторами. Организация такой билиотеки давно у меня продумана (и испытана на практике) после десятка лет мучений со множеством вариантов. Изложено в "САПР на базе AutoCAD - как это делается". За последние годы особых изменений в концепции нет. Кроме FAS могут быть и дополнительные файлы, например COM-dll. Они не зависят от версии AutoCAD и могут быть в скомпилированном виде. Однако это дело трудоемкое. Нужна большая организационная работа. Да и легче сказать "надо документировать", чем сделать. Вот у меня на сей момент имеется 1728 функций, включая 3D. Возьмется кто-нибудь по ним HELP составить в минимальном стандартном объеме? А еще надо и контроль версий вести, и коды синхронизировать, да много что надо. Постоянно для "простых" пользователей выкладывать инсталляцию библиотеки. Если соберется команда, готовая реально очень много работать на голом энтузиазме, готов передать все, что имеется. |
|||
|
||||
Конструирование в области нефтеразведки Регистрация: 10.02.2006
Гомель
Сообщений: 321
|
Отличное предложение!
Что подобное сделано здесь http://www.cadforyou.spb.ru/index.ph...functions_page, но на этом форуме наверняка можно сделать во много раз лучше... |
|||
|
||||
Administrator
Регистрация: 21.08.2003
Сообщений: 4,409
|
Посмотрите на почивший autolisp.ru
Возможно на его основе можно будет сделать библиотеку, главное знать что делать |
|||
|
||||
Армспорт Регистрация: 18.07.2006
Ейск
Сообщений: 355
|
Вариант с FAS-файлом - несерьёзен, лучше уж собирать проект из кучи лиспов и компилировать в один VLX-файл со всеми почестями
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,843
|
Не "что", я думаю, а "как" - основной вопрос. Как именовать функции, как отслеживать изменения, как определять авторство, как рассылать обновления... Жалко, что я "САПР на базе" на работе оставил.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Цитата:
А знаете, сколькими байтами отличается FAS от VLX? Если в него не включаются другие файлы, например DCL? FAS компилируется из проекта, в который при компиляции собираются множество LSP. Для библиотеки функций общего применения нужен именно FAS. Безо всяких "отдельных пространств имен". Конечные программы по желанию авторов могут компилироваться в VLX. Однако это технические детали. Организация дела гораздо сложнее. Библиотека может превратиться и в никому не нужную помойку. Есть такой у меня опыт участия в больших открытых проектах. Библиотеку Jedi VCL с трудом довели до "товарного" вида почти за 10 лет после начального демократичного и либерального периода. |
|||
|
||||
Lisp/VBA/VB.NET Hobbyist Регистрация: 24.03.2005
Славен Град Петров
Сообщений: 367
|
Кстати если интересно я 3-мя руками за
а еще интересный: плюс можно спокойно использовать FAS для проектов на VBA получая через пользовательские переменные USERxx нужные значения вместо того чтобы на чистом VBA создавать громоздкие классы и тд |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,843
|
ИМХО: лучше использовать реестр. Правда, в реестре нельзя хранить отрицательные значения, но это можно и обойти. Ну или ini-файлы. Но для такого решения надо согласовывать все...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как связать две функции | Holon | Программирование | 11 | 30.07.2007 13:32 |
Имя Layout'а из результата функции vla-get-activelayout | kp+ | Программирование | 4 | 16.08.2005 07:58 |
Странности функции rtos | FWA | Программирование | 2 | 16.02.2005 11:37 |