| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Библиотека функций > Предложение: Готовые функции

Предложение: Готовые функции

Ответ
Поиск в этой теме
Непрочитано 09.11.2007, 15:17 #1
Предложение: Готовые функции
Apelsinov
 
Проектировщик ВК. LISP-любитель.
 
Москва
Регистрация: 15.12.2003
Сообщений: 1,192

прошу сильно не пинать, но у меня организационное предложение, оно в общем-то касается только тех кто сам пишет в лиспе.

я хотел бы предложить создать наряду с подразделом "Готовые программы" подраздел "Готовые функции".

Это все исключительно от того что я ужасно ленив, и иногда лень самому писать что-то , а есть подозрение что это либо у кого-то уже есть, либо кому-то будет интересно написать такое.

Функции туда выкладывать по собственному желанию, либо, что еще более интересно, по запросу.

Возможно так-же, именовать эти функции в соответствии с определенными правилами, что позволит в итоге получить некую базу функций, на основании которой можно много чего хорошего творить.

Я понимаю что предложение спорное, ну а вдруг из этого что и выйдет.

ЗЫ. Кстати, вот мне нужна функция по идентификации объекта как облака, т.е. полилинии созданной командой REVCLOUD.
аргументы: "Vla-объект"
возврат:
"Vla-объект" - если ооблако
nil - если нет
__________________
apel.fas
Просмотров: 115003
 
Непрочитано 09.11.2007, 15:33
#2
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848


Идеи ruCAD'a живут и побеждают
P.S. объект, созданный _revcloud, является обычной полилинией, даже без РД или словарей А ориентироваться только на то, что там дуговые сегменты, я б не рискнул.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 09.11.2007, 16:42 Про объект созданный _revcloud
#3
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Если сделать круг, то он будет объектом Circle b у него только 4 ручки. Если сделать круг из двух дуг, то ручек будет 4, но объект станет Poliline.
Очень не маловажный факт, что создание полилинии из дуг через _revcloud никогда не дает создать несколько дуг с одинаковыми координатами центра дуги. Поэтому, если объект состоит из дуг и их центры не лежат в одних координатах - это облако и не важно чем оно сделано.
Supermax вне форума  
 
Непрочитано 09.11.2007, 16:44
#4
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Э-э, VVA, зачем замкнутость проверяешь? Можно и не замкнутую _revcloud нарисовать.
Supermax вне форума  
 
Непрочитано 09.11.2007, 17:28
#5
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


С учетом замечаний. Revclod'ом считается
1. LW полилиния
2. со всеми дуговыми сегментами
3. Координаты центров этих сегментов не совпадают
4. кривизна дуговых сегментов одинакова как по знаку, так и численно

Код:
[Выделить все]
;| ====== IsRevClode ==========
* Функция определяет, отрисована ли полилиния командой _Revcloud
* Полилиния считается отрисованной командой  _Revcloud если:
  1. это LW полилиния
  2. все сегменты полилинии дуговые
  3. координаты центров этих сегментов не совпадают
  4. кривизна дуговых сегментов одинакова как по знаку, так и численно
Аргументы:
 pl - имя (ENAME) или объект (VLA-OBJECT) полилинии
Возврат:
 T - если полилиния удовдетворяет перечисленным условиям
 nil - во всех других случаях
Пример использования
(IsRevcloud (car(entsel))) 
|;
(defun IsRevcloud ( pl / st-en-bulge->center ed crs bulge_list bulge_log center)
;| Вспомогательня ф-ция  st-en-bulge->center
* Автор Пастух
* Опубликована: http://www.autocad.ru/cgi-bin/f1/board.cgi?t=37164rO
* Назначение
* Получает координаты центра дуги, заданной точками начала, конца и величиной выпуктости (bulge).
* При этом, положение точки центра определяется так, чтобы обход начальной, конечной точек дуги и
* полученной точки центра происходил в направлении против часовой стрелки.
Аргументы:
Point[list] - точка начала сегмента
      p2 = Point[list] - точка конца сегмента
st - Point[list] - двумерная точка начала дуги,
en - Point[list] - двумерная точка конца дуги,
bulg - тангенс 1/4 центрального угла дуги (bulge).
Возврат:
двумерные координаты точки центра.
nil, если совпадают точки начала и конца дуги.
nil, если выпуклость задана равной нулю.
|;
(defun st-en-bulge->center (st
          en
          bulg
            /
          a sina cosa 1-cosa
          b1 b2
          d d1 d2
          )
  (setq a (* (atan bulg) 4.0) sina (sin a) cosa (cos a) 1-cosa (- 1 cosa))
  (cond
    ((equal st en 1e-12) nil);
    ((equal 1-cosa 0.0 1e-12) nil);
    (T
     (setq b1 (+ (- (car en) (* (car st) cosa)) (* (cadr st) sina))
     b2 (- (cadr en) (* (car st) sina) (* (cadr st) cosa))
     d (* 2 1-cosa)
     d1 (- (* b1 1-cosa) (* b2 sina))
     d2 (+ (* b2 1-cosa) (* b1 sina))
     );
     (list (/ d1 d) (/ d2 d));
    );
  ); end cond.
); end defun.
  
(and
  (if (eq (type pl) 'VLA-OBJECT)
   (setq pl (vlax-vla-object->ename pl))
   pl
    )
(wcmatch (cdr(assoc 0 (setq ed (entget pl)))) "LWPOLYLINE")
(setq ed (entget pl))
(setq crs (mapcar 'cdr (vl-remove-if-not (function (lambda (x) (= 10 (car x)))) ed)))
(setq bulge_list (mapcar 'cdr (vl-remove-if-not '(lambda(x)(= (car x) 42)) ed)))
(if (= (logand (cdr(assoc 70 ed)) 1) 1)
  (setq crs (append crs (list (car crs))))
  (setq bulge_list (reverse(cdr(reverse bulge_list)))) ;_Если не замкнутая плиния, удаляем последний bulge
  )
(setq bulge_log (mapcar 'zerop bulge_list))
(not(apply 'or bulge_log)) ;_Все дуговые сегменты
(apply 'and (mapcar '(lambda(x)(equal x (car bulge_list) 1e-6)) bulge_list)) ;_Равна кривизна дуг (Тангенс 1/4 угла)
(setq center (mapcar '(lambda(st pl blg)(st-en-bulge->center st pl blg)) crs (cdr crs) bulge_list))
(not (apply 'and (mapcar '(lambda(x)(equal x (car center) 1e-6)) center))) ;_Центры дуг. сегментов не совпадают
)
  )
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 12.11.2007 в 10:17. Причина: Предложение Евгения Елпанова и Apelsinov №8
VVA вне форума  
 
Непрочитано 09.11.2007, 17:32
#6
Елпанов Евгений

программист
 
Регистрация: 20.12.2005
Москва
Сообщений: 1,439
Отправить сообщение для Елпанов Евгений с помощью Skype™


Есть еще одна особенность "облачков".
Тангенс четверти угла, всех сегментов, всегда имеет один знак.
Елпанов Евгений вне форума  
 
Непрочитано 09.11.2007, 18:06
#7
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


У меня получается (пока), что не только знак, но и численно равны.
Исправил №6 с учетом равенства bulge.
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 09.11.2007, 18:35
#8
Apelsinov

Проектировщик ВК. LISP-любитель.
 
Регистрация: 15.12.2003
Москва
Сообщений: 1,192
<phrase 1=


VVA,
огромное спасибо, я бы такого написать не смог.
просьба - объяви локальные переменные

и вообще спасибо всем за идеи.


что касается раздела - никто не высказался ни за ни против.
__________________
apel.fas
Apelsinov на форуме  
 
Непрочитано 09.11.2007, 18:50
#9
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,826


Я - за!
Только вот какие это функции будут? Я в том смысле, что функция может использовать другие функции, как большие и самодостаточные так и библиотечные. И если дело выгорит, то надо четко организовать порядок размещения этих функций.
Krieger вне форума  
 
Непрочитано 09.11.2007, 18:55
#10
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848


Во-во. Помимо этого неизбежно возникнет вопрос: а что качать, как ставить, что делать, короче - чтобы добиться заявленного эффекта?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 09.11.2007, 19:29
#11
Apelsinov

Проектировщик ВК. LISP-любитель.
 
Регистрация: 15.12.2003
Москва
Сообщений: 1,192
<phrase 1=


Цитата:
Сообщение от Krieger Посмотреть сообщение
Я - за!
Только вот какие это функции будут? Я в том смысле, что функция может использовать другие функции, как большие и самодостаточные так и библиотечные. И если дело выгорит, то надо четко организовать порядок размещения этих функций.
Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Во-во. Помимо этого неизбежно возникнет вопрос: а что качать, как ставить, что делать, короче - чтобы добиться заявленного эффекта?
как я думаю:
Функции будут самые разные, кроме тех что можно отнести к программам, то есть это должны быть функции, используемые только в коде. Остальные отправляются в готовые программы.

Что касается используемых в этих функциях функций, то они должны быть либо прописаны прямо в теле функции, либо даны отдельно, опять же в этом разделе.

Я понимаю что все это потребует,во первых, четких правил написания функций, во вторых, четких правил их именования. И ,соответственно, системы контроля всего этого дела.

Что касается вопросов "а что качать, как ставить, что делать" - то этого не будет, т.к. тем, у кого такие вопросы возникают, нужно в Готовые программы. Ну и ,соответственно, должно быть четкое описание аргументов функции и возвращаемого значения.
__________________
apel.fas
Apelsinov на форуме  
 
Непрочитано 09.11.2007, 19:46
#12
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


>Apelsinov №8 Оформлю в понедельник
Как пример, в коде выше используется ф-ция st-en-bulge->center, которая вычисляет центр дугового сегмента по координатам начала, конца и кривизне (bulge)
Если ее нет в готовых ф-циях, то
1. добавить
2. объявить локальной в IsRevClode
Это я к тому, что человек, размещающий свою функцию вынужден будет выкладывать и другие свои использующиеся ф-ции. Переписывать ее с учетом опубликованных здесь вряд ли будет. И если проект пойдет, то рыскать по, например, 200 опубликованным ф-циям не будет тоже.
Как вариант, можно поступать так:
1. Основную ф-цию с подробным описанием что делает, что на входе, что на выходе, пример использования, выкладывает ввиде кода (чтобы поисковиками индексировалось)
2. Остальные сервисные ф-ции выкладываются ввиде атачмента (zip, rar, lsp). Благо этот форум позволяет это делать.
Возможно, при достаточном накоплении ф-ций понадобится сервис, позволяющий из всех опубликованных постов в Готовых Функциях отавить те, в которых встречается "полилиния" или что-то в этом роде. Чтобы отфильтровать.
Вот мои мысли вслух
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 09.11.2007, 20:21
#13
ShaggyDoc

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 составить в минимальном стандартном объеме?

А еще надо и контроль версий вести, и коды синхронизировать, да много что надо. Постоянно для "простых" пользователей выкладывать инсталляцию библиотеки.

Если соберется команда, готовая реально очень много работать на голом энтузиазме, готов передать все, что имеется.
ShaggyDoc вне форума  
 
Непрочитано 10.11.2007, 10:15
#14
CB

Конструирование в области нефтеразведки
 
Регистрация: 10.02.2006
Гомель
Сообщений: 321


Отличное предложение!
Что подобное сделано здесь http://www.cadforyou.spb.ru/index.ph...functions_page, но на этом форуме наверняка можно сделать во много раз лучше...
CB вне форума  
 
Непрочитано 10.11.2007, 11:07
#15
Admin
Administrator


 
Регистрация: 21.08.2003
Сообщений: 4,409


Посмотрите на почивший autolisp.ru
Возможно на его основе можно будет сделать библиотеку, главное знать что делать
Admin вне форума  
 
Непрочитано 10.11.2007, 11:33
#16
Евгений А.

Армспорт
 
Регистрация: 18.07.2006
Ейск
Сообщений: 355


Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
Библиотека должна быть в виде одного автозагружаемого FAS-файла. Именно один FAS, а не куча LSP. В этом случае все функции доступны друг другу.
Вариант с FAS-файлом - несерьёзен, лучше уж собирать проект из кучи лиспов и компилировать в один VLX-файл со всеми почестями
Евгений А. вне форума  
 
Непрочитано 10.11.2007, 11:46
#17
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848


Не "что", я думаю, а "как" - основной вопрос. Как именовать функции, как отслеживать изменения, как определять авторство, как рассылать обновления... Жалко, что я "САПР на базе" на работе оставил.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 10.11.2007, 16:15
#18
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381


Цитата:
Сообщение от Евгений А. Посмотреть сообщение
Вариант с FAS-файлом - несерьёзен, лучше уж собирать проект из кучи лиспов и компилировать в один VLX-файл со всеми почестями
Вот сразу пример, как можно все загубить, не приступив. "Серьёзное" возражение "Вариант с FAS-файлом - несерьёзен". Очень "обоснованно".

А знаете, сколькими байтами отличается FAS от VLX? Если в него не включаются другие файлы, например DCL?

FAS компилируется из проекта, в который при компиляции собираются множество LSP.

Для библиотеки функций общего применения нужен именно FAS. Безо всяких "отдельных пространств имен".

Конечные программы по желанию авторов могут компилироваться в VLX.

Однако это технические детали. Организация дела гораздо сложнее. Библиотека может превратиться и в никому не нужную помойку. Есть такой у меня опыт участия в больших открытых проектах. Библиотеку Jedi VCL с трудом довели до "товарного" вида почти за 10 лет после начального демократичного и либерального периода.
ShaggyDoc вне форума  
 
Непрочитано 10.11.2007, 18:24 FAS is cool
#19
fixo

Lisp/VBA/VB.NET Hobbyist
 
Регистрация: 24.03.2005
Славен Град Петров
Сообщений: 367


Кстати если интересно я 3-мя руками за
а еще интересный: плюс можно спокойно использовать
FAS для проектов на VBA получая через пользовательские
переменные USERxx нужные значения вместо того чтобы
на чистом VBA создавать громоздкие классы и тд
fixo вне форума  
 
Непрочитано 10.11.2007, 19:42
#20
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848


ИМХО: лучше использовать реестр. Правда, в реестре нельзя хранить отрицательные значения, но это можно и обойти. Ну или ini-файлы. Но для такого решения надо согласовывать все...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 11.11.2007, 00:00
#21
Евгений А.

Армспорт
 
Регистрация: 18.07.2006
Ейск
Сообщений: 355


Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
Для библиотеки функций общего применения нужен именно FAS. Безо всяких "отдельных пространств имен".
Ну не знаю, не знаю... По-мне так именно это и надо, чтобы не засорять библиотеку внутренними служебными функциями, которые бесполезны для пользователя но используются другими функциями. И разница не в байтах, а в возможностях контролировать эти байты. Да и связать DCL (и не только) - тоже не такая уж мелочь...
Но настаивать не буду... главное, все-таки, это наличие исходников,
именно поэтому идея неплохая, так как я, к примеру, не стал бы использовать чужой код, если могу написать его сам, а вот почерпнуть идею, если своих не хватает - это с удовольствием!!!
Евгений А. вне форума  
 
Непрочитано 11.11.2007, 16:42
#22
Pastor

это только кличка
 
Регистрация: 22.10.2006
Москва
Сообщений: 252


Как вариант - использование неограниченного числа библиотечных VLX модулей с отдельными именными пространствами.
Попытка обсудить тему на http://www.caduser.ru/cgi-bin/f1/board.cgi?t=34910BS закончилась не начавшись.
Материалы дела теперь можно найти здесь: http://webfile.ru/1590563. В папке HTGuide открыть файл Index.html
Pastor вне форума  
 
Непрочитано 11.11.2007, 16:50
#23
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848


Pastor, я думаю, будет лучше, если материалы будут присоединены к посту.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 12.11.2007, 01:04
#24
Apelsinov

Проектировщик ВК. LISP-любитель.
 
Регистрация: 15.12.2003
Москва
Сообщений: 1,192
<phrase 1=


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Не "что", я думаю, а "как" - основной вопрос. Как именовать функции, как отслеживать изменения, как определять авторство, как рассылать обновления... Жалко, что я "САПР на базе" на работе оставил.
Что, и как это конечно все важно. (разберемся, автор книжки уже тут, и даже повысил серьезность затеи сразу в разы)
Но самое важное ЗАЧЕМ, и кому это нужно.

Простым пользователям.
По большому счету им все равно как и что пишется, главное чтоб работало,и не глючило. но тут есть нюанс, дело в том что с библиотеками функций код писать легче и быстрее, и проще учесть все мелочи, качество программ вырастает.

Программистам форума.
Им оно очень надо, но только если они в курсе, то есть для того чтобы писать с помощью базы придется ее знать, а это не так то легко, учитывая уже очень приличный ожидаемый объем (благодаря ShaggyDoc).

Перспективы такого начинания - это стандарты кода, постоянное усовершенствование уже имеющихся программ, и поразительная легкость в написании новых, даже довольно сложных программ.Но все это только если будут пользоваться, иначе смысла нет, и
Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
<...> Библиотека может превратиться и в никому не нужную помойку <...>
.
Так что главный вопрос к тем кто предоставляет код на форуме - будете пользоваться?

Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
<...>
Организация такой билиотеки давно у меня продумана (и испытана на практике) после десятка лет мучений со множеством вариантов. Изложено в "САПР на базе AutoCAD - как это делается". За последние годы особых изменений в концепции нет.<...>
Наверное, лучше ShaggyDoc никто не скажет как лучше все это организовать, и что надо сделать для работоспособности базы , как оформлять функции и как их обзывать.

Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
<...>Вот у меня на сей момент имеется 1728 функций, включая 3D. Возьмется кто-нибудь по ним HELP составить в минимальном стандартном объеме?<...>
Я не очень понимаю в чем заключается "составить HELP" и кому он нужен. В любом случае надо сделать так чтобы участвовать в процессе смог каждый.

Исходя из того что я смог понять из этих двух постов -

Цитата:
Сообщение от Евгений А. Посмотреть сообщение
Ну не знаю, не знаю... По-мне так именно это и надо, чтобы не засорять библиотеку внутренними служебными функциями, которые бесполезны для пользователя но используются другими функциями. И разница не в байтах, а в возможностях контролировать эти байты. Да и связать DCL (и не только) - тоже не такая уж мелочь...
Но настаивать не буду... главное, все-таки, это наличие исходников,
именно поэтому идея неплохая, так как я, к примеру, не стал бы использовать чужой код, если могу написать его сам, а вот почерпнуть идею, если своих не хватает - это с удовольствием!!!
Цитата:
Сообщение от Pastor Посмотреть сообщение
Как вариант - использование неограниченного числа библиотечных VLX модулей с отдельными именными пространствами.
<...>
- не все понимают библиотеку функций так как понимаю ее я, а именно:

Практически вся библиотека представляет из себя функции, являющиеся "внутренними служебными функциями, которые бесполезны для пользователя", эти функции используются в программах но не описываются в теле других функций, а подгружаются из библиотеки. Ценность библиотеки именно в том , чтобы "использовать чужой код", а не писать его самому, да еще и каждый раз заново.

И еще, как я вижу результат:

Составить точные и очень подробные правила оформления и написания функций, их именования, это будут не рекомендации, это будут условия нахождения функции в библиотеке. Вывесить их в первой теме подфорума.

Представить на форуме каждую функцию отдельной темой, названой именем функции, так чтобы ее могли просматривать все и изменять в случае необходимости под жестким модерированием нескольких понимающих координаторов.Код функции дать в начале темы, и только там.

Периодически выкладывать компилированнную библиотеку для конечных пользователей и lsp в архиве для программистов.(Периодичность надо обсудить)
P.S. A еще было бы здорово, чтобы в кодах на форуме такие функции подсвечивались как ссылки на соответствующие темы (размечтался)
P.P.S. Я согласен учавствовать во всем этом в меру сил.
Apelsinov на форуме  
 
Непрочитано 12.11.2007, 01:38
#25
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848


Значит так Я - пользоваться буду. Я и так заимствую массу кода, так что не впервой
Конечным пользователям - теоретически не нужно. Но практически: любой программист может сослаться на библиотеку и сказать "перед использованием кода обязательно скачать и загрузить fas(vlx) файл с адреса dwg.ru/f/lisplib". И все, он с себя ответственность (теоретически) снимает
Именование функций, параметров вызова и локальных переменных в "САПР на базе" описаны очень толково, смысла капитально их менять лично я не вижу. Косметические мелочи - возможно. Код делать "самодокументирующимся" тоже особо не проблема, вопрос элементарной вежливости.
Я тут еще на пару вопросов созрел: ну хорошо, сделали lisp-вариант, а как быть с СОМ-серверами, да еще и написанными на разных языках (от С++ и Delphi до VB и .NET)? Что делать с исходниками arx-модулей (в которых хорошо если 10 человек разберутся с лету)? Как поступать с модулями, подгружаемыми по _.netload?
Лично я в Delphi'йском коде ни в зуб ногой. Точно так же как и в С++.
Ох, надо срочно перечитывать библию программера (то бишь "САПР на базе")...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 12.11.2007, 09:02
#26
CB

Конструирование в области нефтеразведки
 
Регистрация: 10.02.2006
Гомель
Сообщений: 321


1.
Цитата:
Цитата:
Сообщение от ShaggyDoc
<...>Вот у меня на сей момент имеется 1728 функций, включая 3D. Возьмется кто-нибудь по ним HELP составить в минимальном стандартном объеме?<...>

Я не очень понимаю в чем заключается "составить HELP" и кому он нужен.
Интересно тогда - как во всем этом ориентироваться, как найти нужную функцию...
2.
Цитата:
Представить на форуме каждую функцию отдельной темой, названой именем функции
Это что - тысячи тем создавать? Опять же - как в этом изобилии ориентироваться? Интересно - как например ShaggyDoc ориентируется в этом море функций?
CB вне форума  
 
Непрочитано 12.11.2007, 09:09
#27
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Apelsinov прав. Каждая функция должна быть в отдельной теме. Список тем в разделе - это и будет перечень функций. Все-таки, это лучше, чем куча функций в одной теме. Кому-то функции не понадобятся, кому-то понадобятся. Но пусть они будут. Неплохо было бы определиться с категориями программистов по уровню подготовки.
Profan вне форума  
 
Непрочитано 12.11.2007, 09:42
#28
Alaspher


 
Регистрация: 11.10.2004
e•burg
Сообщений: 755


Если затевать что-то такое, то делать надо на базе ru.CAD (в том виде, в каком Сергей (ShaggyDoc) готов её отпустить в свободное плавание). Мало того, что там уже сделано очень много, там это сведено в единую систему, что делает её реально юзабельной. НО! Скажу крамольное. Даже та система, которая есть в ru.CAD недостаточна для публичного проекта. Нужно, как минимум следующее:

- чёткий регламент на формат, именование, документирование, способ публикации, обновления и использования библиотеки, как частями, так и в целом;
- фиксированая орггруппа, которая будет принимать все решения касающиеся проекта (способ формирования должен быть формализован и прозрачен) иначе проект гарантировано потонет в обсуждениях;
- развитая система классификации и сортировки, вероятно на основе тегов (в противном случае, будет проще написать по новой, чем найти уже имеющийся код) - древовидная сортировка для подобного проекта - недостаточна;
- набор инструментов для работы с каталогом функций (благо, инструменты эти уже есть у Сергея почти в том виде, как надо - только работу с тегами добавить);
- обязательное разделение обсуждения кода и готовых функций - готовые должны вводить в библиотеку и публиковать только специально обученные люди (или один чел).

По формату - конечно компилировать надо из отдельных лиспов в единый FAS-файл. Нельзя допускать изменения аргументов и возвратов функций от версии к версии - если требуется изменение аргументов, то обязательно новое имя. Конечно, надо придумать систему уникального именования и строго её придерживаться. Версия библиотеки должна быть банально зашита в функцию типа (dwglib-get-version), которая, не мудрствуюя лукаво, возвращает число с плавающей точкой соответствующее версии, а обработка этого возврата - дело программера.

А вообще, я - за. Если станцуется тема, то может получиться очень интересный ресурс.
Alaspher вне форума  
 
Непрочитано 12.11.2007, 10:06
#29
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381


Цитата:
Интересно - как например ShaggyDoc ориентируется в этом море функций?
Очень просто - с помощью программы ruSourceExplorer (она есть в download). Каждая функция лежит в отдельном файле. Вся библиотека в системе каталогов по тематике. Просматривая дерево можно просмотреть и подправить любой исходник. Если надо - перетащить в VisualLISP. Или скопировать пример вызова.

Каждый файл может иметь дополнительные описания и даже иллюстрации (скриншот диалога или графическое пояснение действия). Для каждой функции можно щелчком кнопки сгенерировать HTML и здесь же просмотреть. Можно искать в дереве и в файлах.

При этом для библиотеки имеется единственный файл проекта и создается единственный FAS-файл. Размер его со всеми функциями 750 кв. Функций-то больше, чем файлов, так как иногда в одном файле лежит несколько функций. Но это непорядок - надо именно принцип "функция - файл". Это мне просто лень иногда было отдельно записывать. Для публичной библиотеки такой подход недопустим.

Справка нужна обязательно! В чужих исходниках трудно копаться, да и не всем они должны быть легко доступны. И не из-за того, что "жалко", а чтобы трудно было "улучшать". Некоторые совместные библиотеки и загибаются из-за "улучшений". Клоны всякие появляются....

Написать функцию - это 10% работы. Остальное - документирование и поддержка.

Плодить множество веток на форуме незачем. Ветка может быть одна - для объявлений об обновлениях. Обсуждать код по существу надо закрыто среди разработчиков - без "колхозного голосования".
Миниатюры
Нажмите на изображение для увеличения
Название: source_explorer.jpg
Просмотров: 396
Размер:	77.5 Кб
ID:	713  Нажмите на изображение для увеличения
Название: source_explorer2.jpg
Просмотров: 307
Размер:	59.5 Кб
ID:	714  Нажмите на изображение для увеличения
Название: source_explorer3.jpg
Просмотров: 353
Размер:	68.7 Кб
ID:	715  
ShaggyDoc вне форума  
 
Непрочитано 12.11.2007, 11:09
#30
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Я тут еще на пару вопросов созрел: ну хорошо, сделали lisp-вариант, а как быть с СОМ-серверами, да еще и написанными на разных языках (от С++ и Delphi до VB и .NET)? Что делать с исходниками arx-модулей (в которых хорошо если 10 человек разберутся с лету)? Как поступать с модулями, подгружаемыми по _.netload?
Делать надо LISP-библиотеку. ARX я бы сюда не включал, так как это будет привязка к версиям AutoCAD. COM-серверы от версий не зависят, да их и не много. Могут в библиотеке выделяться функции, использующие COM. Наличие исходников для использования также не обязательно (хотя можно и выкладывать), а вот TLB-надо.

Обходимся же мы без исходников Windows, или стандартных функций, хотя активно их используем.

Всё, кроме LISP может быть "расширением" библиотеки.
ShaggyDoc вне форума  
 
Непрочитано 12.11.2007, 11:57
#31
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381


Цитата:
Сообщение от Alaspher Посмотреть сообщение
Если затевать что-то такое, то делать надо на базе ru.CAD (в том виде, в каком Сергей (ShaggyDoc) готов её отпустить в свободное плавание). Мало того, что там уже сделано очень много, там это сведено в единую систему, что делает её реально юзабельной. НО! Скажу крамольное. Даже та система, которая есть в ru.CAD недостаточна для публичного проекта.
Разумеется, потому что это частный проект.


Цитата:
Нужно, как минимум следующее:
Со всем минимумом согласен. Но этого мало. Самый минимальный минимум. Мы же собираемся делать всё в Интернет. А здесь нужна программная поддержка. Скрипта "воблы" маловато будет. Возможные варианты:

1. SourceForce. Там такие вещи делаются. Но мне лично очень не нравится - слишком сложно, больше усилий на борьбу с движком уйдет. Да и необязательно "буржуинам" об этом деле знать (наши резиденты и здесь прочитают).

2. С DWG.RU уходить не надо. Но можно, при интересе у админа, поставить сюда же, на этот сайт, дополнительную CMS, например MODx.
http://modx.ru/
Вот там можно и писать "писателям" и комментировать "читателям" ("ацтой", "Писарь - адской диавол!"). И "облако тегов" автоматически формируется, и технология AJAX используется.

3. Ничего не менять и не добавлять, валить всё в Download. А для темы библиотеки выделить отдельный раздел форума. А там - куда кривая вывезет. Тоже неплохой вариант, особенно с учетом того, что через полгода проект загнётся.
ShaggyDoc вне форума  
 
Непрочитано 12.11.2007, 12:20
#32
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Разговор, чувствуется, пошел о серьезных функциях, расчитанных на достаточно продвинутых программистов. Программистам начального уровня лучше и не соваться, IMHO. Дали бы надежный обработчик ошибок, что ли. Ага, скажут, смотри ruCAD.
Profan вне форума  
 
Непрочитано 12.11.2007, 12:26
#33
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848


Хоть я сейчас и огребу по полной программе, но промолчать не могу. Profan, глянь http://www.arcada.com.ua/forum/viewtopic.php?t=445 - оно?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 12.11.2007, 12:43
#34
Alaspher


 
Регистрация: 11.10.2004
e•burg
Сообщений: 755


Цитата:
Сообщение от Profan Посмотреть сообщение
Разговор, чувствуется, пошел о серьезных функциях, расчитанных на достаточно продвинутых программистов. Программистам начального уровня лучше и не соваться, IMHO.
Как раз наоборот - такой проект может быть полезен программерам всех уровней - начинающий может быстрее получить результат, а опытный, помимо того ещё и найти идеи для решения своих задач.

Цитата:
Сообщение от Profan Посмотреть сообщение
Дали бы надежный обработчик ошибок, что ли. Ага, скажут, смотри ruCAD.
Ну, так-то - не самый плохой совет...
Alaspher вне форума  
 
Непрочитано 12.11.2007, 12:58
#35
Admin
Administrator


 
Регистрация: 21.08.2003
Сообщений: 4,409


Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
Возможные варианты:

1. SourceForce...

2. С DWG.RU уходить не надо. Но можно, при интересе у админа, поставить сюда же, на этот сайт, дополнительную CMS, например MODx....

3. Ничего не менять и не добавлять, валить всё в Download....
4. Могу отдельный модуль написать по тех.заданию будет только то, что нужно и так, как нужно. Правда с AJAX не дружу, в крайнем случае можно тот же MODx расковырять и найти необходимые функции
Admin вне форума  
 
Непрочитано 12.11.2007, 13:14
#36
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Для Alaspher.
Так это на все можно сказать: смотри там-то и там-то. Я хочу войти в раздел "Готовые функции" на этом форуме и посмотреть, есть ли здесь что-то для меня?
Цитата:
Как раз наоборот - такой проект может быть полезен программерам всех уровней - начинающий может быстрее получить результат, а опытный, помимо того ещё и найти идеи для решения своих задач.
Особенно, если файлы будут скомпилированы в FAS.
Profan вне форума  
 
Непрочитано 12.11.2007, 13:38
#37
Alaspher


 
Регистрация: 11.10.2004
e•burg
Сообщений: 755


Цитата:
Сообщение от Profan Посмотреть сообщение
Я хочу войти в раздел "Готовые функции" на этом форуме и посмотреть, есть ли здесь что-то для меня?
А вот для этого и должен быть механизм, который тут начали обсуждать. Если удастся договориться о том, что он должен делать и как, то можно будет заняться реализацией. И уже пора определяться кто и в каой мере готов лечь на этот алтарь, поскольку без команды такие темы дальше разговоров не уходят.

Цитата:
Сообщение от Profan Посмотреть сообщение
Особенно, если файлы будут скомпилированы в FAS.
Одно другому не мешает - ФАС - для использования библиотеки, это самая простая часть (было-б что компилить), а публикация кода и описаний (документации), это отдельная обязательная тема.
Alaspher вне форума  
 
Непрочитано 12.11.2007, 13:39
#38
CB

Конструирование в области нефтеразведки
 
Регистрация: 10.02.2006
Гомель
Сообщений: 321


Какой набор инструментов для программирования дает простой ввод (vl-load-com) знает не только опытный программист - главное чтобы был толковый хэлп, и если здесь будет тоже самое - например (dwglib-load-com), то это будет вещь(тем более если можно будет посмотреть и код).
Цитата:
для темы библиотеки выделить отдельный раздел форума
Это правильно...
Цитата:
Плодить множество веток на форуме незачем. Ветка может быть одна - для объявлений об обновлениях. Обсуждать код по существу надо закрыто среди разработчиков - без "колхозного голосования".
Однако узкий (даже продвинутый) круг людей может ошибаться. Для серьезных функций требуется определенный период тестирования, предложений по улучшению, которые в этом разделе и могут высказываться (ИМХО).
CB вне форума  
 
Непрочитано 12.11.2007, 13:55
#39
Admin
Administrator


 
Регистрация: 21.08.2003
Сообщений: 4,409


Кстати на этом форуме существует довольно гибкая система прав доступа к отдельным разделам вплоть до модерации.
Admin вне форума  
 
Непрочитано 12.11.2007, 13:55
#40
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381


Для начала:

1. Я просмотрю главы книги по организации билиотеки, откорректирую в виде проекта Правил создания библиотеки и выложу здесь для обсуждения. Но это день-другой. Могу также взять на себя составление Help (есть инструменты). Могу также сделать заготовку специального раздела на MODx и передать admin для попытки размещения. Но тут надо знать кое-какие секреты (версия БД, версия PHP, возможность создания отдельной таблицы в БД (или таблиц с собственным префиксом в существующей).

2. Модератором проекта предлагаю просить согласиться Кулик Алексей aka kpblc . Он инициативный, он модератор, идею он давно сам реализует. И у него, вроде бы, жена сметчик. А значит прости, если что...

3. Alaspher мог бы, помимо участия как автор, выполнять функции "оптимизатора" кода. У него это лучше всех в мире получается.

4. Все остальные включаются по желанию. "Пропуск" - хоть один код "библиотечного" типа. Это для редактирования. Смотреть код, конечно, все смогут.

5. Возможно, у кого-то не будет времени для активной работы, но сможет предоставить свои коды. Только не должно быть так - сбросил архив и пусть разбираются.

Начинать билиотеку надо не "всё сразу". Постепенно формировать, начиная с самых необходимых и ходовых функций.
ShaggyDoc вне форума  
 
Непрочитано 12.11.2007, 14:01
#41
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Вот и начать с обработчика ошибок.
Profan вне форума  
 
Непрочитано 12.11.2007, 14:14
#42
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848


Не-а. Начать надо с того, что определить глобальные переменные (которые практически константы). Обработчик ошибок (как замена *error*) применяться вряд ли сможет - библиотека-то должна функционировать внутри и сторонних разработок, а та могут быть свои обработчики ошибок. Поэтому первым кодом будет ru-error-catch. Потом уже пойдет определение активного пространства; чтение ini-файлов; создание текстового и (или) размерного стиля на основе ini-файлов или ответов пользователя; вызов и уничтожение объектов СОМ-серверов...
Блин, я так чую, что моего в этой библиотеке вообще ничего не будет
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 12.11.2007, 14:45 Про чутье
#43
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


>Kpblc.
Правильно чуешь. Мою позицию про библиотеки ты знаешь. И как?
Хоть бы кто-нибудь сказал: "Братцы, а можно написать программу, кторая будет опираться только на эту созданную базу?"
Представляешь, маленький лиспик, а к нему в придачу на гиг база А другой лиспик завязан на свою гиговую базу, которая почти такая же, но чуть-чуть не такая.

Нет концепции использования. Пока не будет сформулировано четко назначение этой базы - ничего не получится.
Сразу скажу свое мнение - если базу собираются использовать как рабочее дополнение к основной программе - я такую программу как серьезное изделие буду воспринимать тогда, когда ее тело будет раз в пять превышать размер этой базы.

Немного уточню свою позицию:
Совокупное количество используемого кода должно в 5 раз превышать количество не используемого кода.

Последний раз редактировалось Supermax, 12.11.2007 в 15:07.
Supermax вне форума  
 
Непрочитано 12.11.2007, 15:06
#44
Alaspher


 
Регистрация: 11.10.2004
e•burg
Сообщений: 755


> ShaggyDoc
1. Тады ждём рыбу, тогда и обсуждать бум.
По разделению зон, считаю, что полностью закрытая зона нужна, но для решения технических вопросов, которые нет смысла выносить на обсуждение. Код должен публиковаться в исходниках, в ветках которые всем открыты только на чтение и только штатным "пополнителям" на редактирование. Должна быть зона публичного обсуждения, с возможностью постить для любого зарегестрированного посетителя. Собственно, основной путь пополнения библиотеки должен проходить, как раз через паблик.
моя так думай

2. Поддерживаю.

3. Как бы ни было сие лестно , но такой должности - "оптимизатор" быть не может - сумею чтото оптимизировать лучше всех - хорошо, а нет - ну значит не судьба - "Акелла - промахнулся!" ©Табаки

4. А вот доступ к редактированию самой библиотеки я-п давал крайне ограниченно - хотя-б из-за ошибок.

5. Чужой код без камментов - помойка - как правило, проще самому написать с нуля.

Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Обработчик ошибок (как замена *error*) применяться вряд ли сможет
Мало того, библиотека должна сделать максимально маловероятным появление ситуации, когда такая обработка нужна. Тем более, что механизмы для этого есть.

Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Блин, я так чую, что моего в этой библиотеке вообще ничего не будет
Откуда стока пессисмизма?
Alaspher вне форума  
 
Непрочитано 12.11.2007, 15:17
#45
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Я думаю, что "Готовые функции" и "Библиотека функций" - разные вещи. Вот Евгений Елпанов создал массу функций в теме
http://www.caduser.ru/cgi-bin/f1/board.cgi?t=25113OT
Библиотекой это не назовешь, но некоторые функции оттуда и я применял.
Такое впечатление, что здесь предполагается совместно создать еще одну САПР dwgCAD.
Profan вне форума  
 
Непрочитано 12.11.2007, 15:24
#46
Alaspher


 
Регистрация: 11.10.2004
e•burg
Сообщений: 755


Цитата:
Сообщение от Profan Посмотреть сообщение
Я думаю, что "Готовые функции" и "Библиотека функций" - разные вещи.
Библиотека отличается структурированием и документацией, но это не САПР.
Alaspher вне форума  
 
Непрочитано 12.11.2007, 15:52
#47
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848


Alaspher, по поводу комментирования: ну неужели надо будет комментировать строки типа:
Код:
[Выделить все]
(foreach item lst
(if (wcmatch (strcase (vla-get-name item)) "`*X*")
(setq res (cons item res))
)
)
(reverse res)
:? Все же не совсем учебник-то делается...
Supermax, а ты знаешь мое. Для того, чтоб выложить любой более-менее рабочий код (нарисованный за 5 минут), мне приходится полчаса рыскать по библиотеке и вытаскивать функции. Екнуться ж можно!
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 12.11.2007, 16:05
#48
CB

Конструирование в области нефтеразведки
 
Регистрация: 10.02.2006
Гомель
Сообщений: 321


Ну никто же не запрещает взять код функции из "Библиотеки функций" и использовать его в своей программе, не используя *.fas. К тому же если для проекта будет созданно свое "именное пространство" т.е. раздел, в нем будут публиковаться функции, которые в свою очередь по решению "техсовета" проекта могут попасть в "Библиотеку функций". Если не попали - в топике все равно останутся...
CB вне форума  
 
Непрочитано 12.11.2007, 16:06
#49
Alaspher


 
Регистрация: 11.10.2004
e•burg
Сообщений: 755


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
неужели надо будет комментировать строки типа?
Нет, ты не понял - комментарии в теле функции - дело писателя - есть - хорошо, нет - ну на нет и суда нет. Обязательно и тщательно должно документироваться то, что делает функция (описание), формат аргументов, формат возвратов и (если есть) ограничения при использовании. Вот тут никаких полумер быть не должно - описываться должны все возможные варианты поведения функции, причём в заранее оговорённой форме. Чтобы тому, кто будет пользоваться не приходилось потом читать рассказы на вольную тему.
Alaspher вне форума  
 
Непрочитано 12.11.2007, 16:15
#50
Елпанов Евгений

программист
 
Регистрация: 20.12.2005
Москва
Сообщений: 1,439
Отправить сообщение для Елпанов Евгений с помощью Skype™


Здравствуйте все!
Читаю и не совсем понимаю, вы собираетесь делать библиотеку законченных функций или сборник идей, для использования в своих проектах?
И еще, как будет организован поиск в базе, хотя бы из 5000 функций?

На сегодняшний день, гораздо проще написать новую функцию, чем найти в интернете библиотечную...
Елпанов Евгений вне форума  
 
Непрочитано 12.11.2007, 16:17
#51
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848


CB, боюсь, это будет тяжко. Если будет использован подход ruCAD'a (а он так сюда и просится), то выцепить одну функцию будет практически нереально. Как пример позволю себе привести дерево вызовов моей функции получения перечня атрибутов текста:
Код:
[Выделить все]
_kpblc-block-attr-get-pointer-mask
->  _kpblc-conv-ent-to-vla
->->  _kpblc-conv-ent-to-ename
->  _kpblc-property-get
->->  _kpblc-conv-ent-to-vla
->->->  _kpblc-conv-ent-to-ename
->  _kpblc-conv-vla-to-list
->  _kpblc-is-ent-block-with-attr
->  _kpblc-is-ent-block-with-constant-attr
Ну и так далее
Alaspher, есть еще один мелкий вопросик: поскольку делается библиотека, и заранее неизвестно, что и как будет использоваться, придется повсюду вставлять отловы ошибок, так? А в вертикальных приложениях (типа ADT) я наткнулся на ограничение вложений vl-catch-all-apply - не больше 4 уровней, дальше они перестают работать (вообще, как будто их и нет в коде). Словил на 2005 и 2006. Как обходить - я пока не представляю, кроме как тупо вбивать if'ы и cond'ы
Или это уже оффтоп покатил?
Елпанов Евгений, вопрос можно? "Найти невозможно" - правильно. А почему? Может, потому, что комментарии отстствуют как класс?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 12.11.2007, 16:31
#52
Alaspher


 
Регистрация: 11.10.2004
e•burg
Сообщений: 755


Цитата:
Сообщение от Елпанов Евгений Посмотреть сообщение
вы собираетесь делать библиотеку законченных функций или сборник идей, для использования в своих проектах?
Делать имеет смысл как раз библиотеку - сборник идей уже есть - Гугель называется. Ну и исходники закрывать пока никто не собирается вроде.

Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
есть еще один мелкий вопросик: поскольку делается библиотека, и заранее неизвестно, что и как будет использоваться, придется повсюду вставлять отловы ошибок, так? А в вертикальных приложениях (типа ADT) я наткнулся на ограничение вложений vl-catch-all-apply - не больше 4 уровней, дальше они перестают работать (вообще, как будто их и нет в коде). Словил на 2005 и 2006. Как обходить - я пока не представляю, кроме как тупо вбивать if'ы и cond'ы
Это действительно уже следующий вопрос - увлечение кэтчем должно быть разумным. Я, чаще всего, использую его там, где либо есть юзерский ввод (как перехват эскэйпа), либо лень проверять доступность свойств (что решаемо иными средствами). Делать же постоянный кэтч - считаю просто ненужным.
Alaspher вне форума  
 
Непрочитано 12.11.2007, 16:50
#53
Елпанов Евгений

программист
 
Регистрация: 20.12.2005
Москва
Сообщений: 1,439
Отправить сообщение для Елпанов Евгений с помощью Skype™


Цитата:
Сообщение от Alaspher Посмотреть сообщение
Делать имеет смысл как раз библиотеку - сборник идей уже есть - Гугель называется.
Еще раз говорю, часто проще написать самому, чем искать...
Как простой пример (быстрее написать, чем выбрать), необходимо найти программу без рекурсии, для удаления повторяющихся, рядом стоящих элементов.
Как сложный пример (быстрее написать, чем найти), необходимо найти программу, для проверки, проходит ли луч, заданный точкой и вектором, через многоугольник / треугольник, в пространстве с произвольной системой координат.
Елпанов Евгений вне форума  
 
Непрочитано 12.11.2007, 19:27
#54
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381


Сейчас идет пока обсуждение самой идеи - "делать ли", но уже непонимания.

1. С одной, стороны, те, кто слабо представляют, что такое библиотека функций выдвигают идеи про какое-то соотношение используемого и неиспользуемого кода. Какой-то "базы" и "программы". А если начнем "воспринимать программу" как серьёзное или несерьезное изделие по соотношению количества используемых-неиспользуемых стандартных средств?

2. Евгений, который безусловно знает, что к чему, заботится о поиске в какой-то базе функций. Если ему проще самому написать, так никто и не заставляет использовать библиотеку. И такой, "безбиблиотечный" подход есть.

Однако мы постоянно видим массу примеров, когда использование готовых, отработанных библиотечных функций могло бы значительно сократить разработку программ. Один набор "get-xxxx" чего стоит...

3. Profan заботится об *error*, которая при "правильных" функциях никогда и не вызовется. И подозревает в проталкивании ереси, именуемой "САПР". Даже имя придумал - "dwgCAD". За язык никто не тянул . Ну, можно и функцию включить, которая в *error* будет лозунг выдавать "Это НЕ САПР!".

Сейчас еще можно потрепаться, но если примем решение, то потом некогда будет азбуку разъяснять и почему так сделано, а не эдак.

Конечно и по таким поводам никто не запретит высказываться, но в отдельных ветках.

Давайте лучше по существу. Для начала все желающие могут предложить форму начальных комментариев -
Цитата:
что делает функция (описание), формат аргументов, формат возвратов и (если есть) ограничения при использовании
добавлю - и примеров вызова. А для геометрических вычислений - и графическая иллюстрация. Здесь у каждого есть свой стиль, надо бы выбрать оптимальный. Своё мнение я выскажу в проекте правил.
ShaggyDoc вне форума  
 
Непрочитано 12.11.2007, 19:27
#55
Елпанов Евгений

программист
 
Регистрация: 20.12.2005
Москва
Сообщений: 1,439
Отправить сообщение для Елпанов Евгений с помощью Skype™


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Елпанов Евгений, вопрос можно? "Найти невозможно" - правильно. А почему? Может, потому, что комментарии отстствуют как класс?
Я вижу главную проблему в четком структурировании библиотеки несвязанных функций, т.е. допустим, мне нужна отдельная функция, как пример, удаление элемента списка по номеру позиции. В твоей замечательной библиотеке, мне ее не найти - ты предложишь скачать еще два десятка программ, для поддержки функции из трех строк. Система ru-cad то же самое, причем у меня есть свои функции поддержки и проверки, они уже встроены в проект и я не хочу их менять. Но повторюсь, мне нужна такая простая функция, которую хотелось бы найти быстрее, чем написать новую...
Другими словами, есть несколько вариантов и я хочу понять, какой из них, здесь пытаются реализовать...
1 вариант - создание взаимосвязанной библиотеки функций. В этом случае, видимо, все пользователи этой библиотеки, сразу впадают в зависимость от нее, т.е. сейчас скачивают готовые функции, потом на новой версии автокада, они не работают, нужно либо долго ждать обновление от автора, либо самому разбираться в большом количестве чужого кода, причем взаимосвязанного...
2 вариант - создание библиотеки различных функций, которые полностью самостоятельны, могут быть подключены в любое место. В этом варианте, тонкое место - количество функций и возможности поиска. Я бы поддержал именно этот вариант.
Елпанов Евгений вне форума  
 
Непрочитано 12.11.2007, 19:48
#56
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,826


Действительно, вытащить неподготовленному человеку функцию из rucad практически невозможно уж больно сильно там все переплетено. Поэтому если это первый вариант от Елпанова, то к форме начальных комментариев я бы добавил и краткое описание иерархии входящих функций до самого первого уровня, примерно то что показал Крыс в 51 постинге.
Krieger вне форума  
 
Непрочитано 12.11.2007, 20:08
#57
Alaspher


 
Регистрация: 11.10.2004
e•burg
Сообщений: 755


Цитата:
Сообщение от Елпанов Евгений Посмотреть сообщение
1 вариант - создание взаимосвязанной библиотеки функций...
2 вариант - создание библиотеки различных функций, которые полностью самостоятельны, могут быть подключены в любое место...
Для второго варианта нет смысла затевать нечто отдельное - есть форум - есть поиск. В публичной библиотеке имеет смысл, как раз то, что она поддерживается не одним человеком, а неким сообществом - нет сообщества - нет библиотеки. Тогда действительно будут наборы функций, который разрабатываются отдельными авторами и выкладываются по мере желания. Собственно каждый из нас волен содержать собственный сайт с такими решениями, при наличии желания.

Цитата:
Сообщение от Krieger Посмотреть сообщение
к форме начальных комментариев я бы добавил и краткое описание иерархии входящих функций до самого первого уровня, примерно то что показал Крыс в 51 постинге.
Против. Объясню почему - это дерево должен будет создавать разработчик, а значит будут многочисленные ошибки. Вот если сделать автоматический механизм связывания, то тогда ещё в нём будет смысл.

На мой то взгляд самая важная проблема, это классификатор, именно потому я и предлагаю придумать систему тегов, по которым можно было бы сортировать функции. Как это реализовать - не знаю, но выглядеть это должно так - выбираешь интересующие теги из списка и функции отбираются по данному критерию, причём теги должны суммироваться, т.е., если я хочу найти функции для преобразования строк, то выбираю теги "сторка" + "преобразование" и уже в списке содержащем оба тега ищу нужное.
Alaspher вне форума  
 
Непрочитано 12.11.2007, 21:06 Про библиотеки
#58
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


>ShaggyDoc
Вы правильно уловили мое отношение к библиотекам, но не надо говорить, что я слабо разбираюсь в этом. Слабо может быть по отношению к вам, в смысле вы сильнее, а я слабее, но для себя любимого, совсем не слабо.
Я противник использования библиотеки как аппендикса программы и не надо над этим иронизировать. Это кстати «проблема века» для всех компьютерщиков. Эти «библиотеки», вместо того чтобы нести знание в люди, несут деградацию программ. То, что раньше могло быть сделано компактно, а значит быстро обрабатывалось, теперь похоже на скульптуру из пивных банок и бутылок. А зачем писать функцию – возьмем пару существующих, которые ее могут заменить. Программа занимает сотни мегабайт места на диске, а работает как те, что в 286 компах помещались на дискетку.

Самое интересное, что утверждение
Цитата:
Однако мы постоянно видим массу примеров, когда использование готовых, отработанных библиотечных функций могло бы значительно сократить разработку программ. Один набор "get-xxxx" чего стоит...
И верно и нет одновременно. За все надо платить. Извините за банальность. Сокращение сроков решения задачи в данном случае будет за счет качества ее решения. И дело не в качестве функции, а в качестве ее использования. Я бы выразился так:

Однако мы постоянно видим массу примеров, когда для решения простых задач используются сложные алгоритмы, предназначенные для совсем других целей, но оформленные как функция и поэтому более доступные программисту. Короче микроскопом забиваем гвозди.

Одним людям надо наработанную базу упорядочить и превратить в справочник, а другим - превратить в конструктор лего. Вот я за справочник и против конструктора.

Цитата:
Давайте лучше по существу. Для начала все желающие могут предложить форму начальных комментариев -

Цитата:
Цитата:
что делает функция (описание), формат аргументов, формат возвратов и (если есть) ограничения при использовании
добавлю - и примеров вызова. А для геометрических вычислений - и графическая иллюстрация. Здесь у каждого есть свой стиль, надо бы выбрать оптимальный. Своё мнение я выскажу в проекте правил.
5000 функций! А то и больше. Кто будет читать?
Нет, описание вещь великая, только искать функцию надо не по описанию. Оно надо, но как вторичное, уточняющее средство.
Классифицировать функции по описанию? Так может сначала классифицировать, а потом описывать?
Supermax вне форума  
 
Непрочитано 12.11.2007, 21:58
#59
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848


Попробую и я высказаться
> Елпанов Евгений, я согласен, что зачастую написать "с нуля" функцию-однодневку проще и быстрее. Согласен и с тем, что в критичных ко времени выполнения функциях лучше всего использовать линейный ход программы, без вызовов других функций. Но тут основная задача не только и не столько соблюсти / нарастить скорость, сколько повторно использовать отлаженный код, выполняющий строго определенную задачу. Этакий аналог MFC нарисовать, только для AutoCAD'a и под лиспом.
> Alaspher, по-моему, такой подход потребует специального софта, да еще и написанного с учетом того, что "сумма длин отрезков" может быть написана как "сума длинн атрезкаф" Шутка, конечно, но "в каждой шутке есть доля шутки": никто не помешает заменить "преобразовать" на "конвертировать", и все, функция найдена не будет. Писать огромный словарь синонимов? Помрем делавши.
Может, проще определиться с законом формирования имен функций, да и следовать ему по максимуму?
> Supermax, я все понимаю. Но когда ты раз этак 10-20 напишешь один и тот же код, а потом тебе понадобится его быстро поменять, я думаю, ты изменишь свое отношение к библиотекам. У меня (я последовал мудрому примеру) нарисована всего одна (!) функция, заменяющая мне все варианты getstring, getint, getdist, entsel и гарантированно возвращающая предсказуемый результат независимо от действий пользователя (что бы тот ни нажал, ну, кроме Reset, конечно). Точно так же нарисована всего одна функция, которая преобразовывает и variant, и safearray в список, которым я могу спокойно управлять. Примеров повторного использования кода масса.
У меня почему-то в случае А возвращается верно, а в случае Б - нет? Так мне не надо ползать по десятку/сотне/тысяче (ненужное подчеркнуть) команд и функций, исправляя ошибку.
Это все расписано в "САПР на базе", кстати
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 12.11.2007, 23:44
#60
Alaspher


 
Регистрация: 11.10.2004
e•burg
Сообщений: 755


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
> Alaspher, по-моему, такой подход потребует специального софта, да еще и написанного с учетом того, что "сумма длин отрезков" может быть написана как "сума длинн атрезкаф" Шутка, конечно, но "в каждой шутке есть доля шутки": никто не помешает заменить "преобразовать" на "конвертировать", и все, функция найдена не будет. Писать огромный словарь синонимов? Помрем делавши.
Может, проще определиться с законом формирования имен функций, да и следовать ему по максимуму?
Система именования, конечно долна отражать функционал, но забить в имя можно только ограниченный объём, иначе оно само будет создавать проблемы - код ещё должен быть читаемым на экране. Теги не должны назначаться автором функции (предлагаться - да, пожалуйста), они должнвы быть назначены тем, кто публикует готовый код. Соответственно, никаких атрескафф быть не может по определению - пополнение списка тегов само по себе должно быть ограничено.
Alaspher вне форума  
 
Непрочитано 12.11.2007, 23:47 Про повтор
#61
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


>Kpblc
Я как понимаю: Есть 100 секций программы и в каждой применяется 10-15 одинаковых функций. Я сгласен, что создав библиотеку из этих 10-15 функций мы делаем более совершенной программу. Но это только при условии, что универсализм как ты его описал есть компромис между легкостью в работе программиста и эксплуатационными качествами готового продукта.
Если ты как программист будешь тянуть одеяло на себя и думать только о своих ощущениях при работе с текстом программы "звездолет" не то что не поднимится в космос, он не оторвется от взлетной площадки.
Все будет работать, я подчеркиваю, но результат будет выглядеть как ракета весом в 1000 тонн с полезным грузом на борту в 1 кг.
С увеличением функций в библиотеке, функций лиспа в теле программы будет все меньше и меньше, пока они не исчезнут вообще. Появится новый уровень языка, хотя сам лисп не такой уж и низкий.

Да я буду делать тоже, что и ты, только где-то в глубине мозга будет биться творческий червячок, пока не сдохнет окончательно от безнадеги.

Сейчас людей знающих ассемблер раз, два и обчелся. Скоро и лисп станет языком низкого уровня.

Что такое "красивое решение"? Вот я смотрю на текст программы и вижу, как она красива. Как все оригинально придумано, как ловко решены проблемные моменты. Как компактно сделаны функции - ничего лишнего.
У тебя Kpblc были такие моменты в работе?

Как сделать так, чтобы знания и опыт, выраженный в тысячах сделанных функций перетек в качество новых программ? Не стал разменной монетой в погоне за длинным рублем, а научил, как делать настоящие вещи.

Я понимаю всех, кто каждый день пишет программы и вынужден повторяться, но неужели моральная усталость убила в вас художников? Я тоже люблю бабло срубить по быстрому, но вот если при этом и качество выдать на гора, то это будет вааще!

Каждая функция это микропрограмма с конечной целью. Можно добиться этой цели разными путями, но среди всех есть путь наиболее рациональный и грамотный. Надо эти пути понимать и распространять это понимание среди других. В них заложена красота решения задачи.

Но вы на мои вопли особо внимание не обращайте. Если появляется инструмент, позволяющий писать в день не одну, а 10 к примеру программ, то это деньги!
А поскольку за красоту программ никто не платит, так и фиг с ней.
Вот когда наступит кризис, вот тогда и разгребать его будем.

Последний раз редактировалось Supermax, 12.11.2007 в 23:54.
Supermax вне форума  
 
Непрочитано 13.11.2007, 00:13
#62
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Ни хрена не понимаю. Понимаю, однако, что "Готовые функции" совсем не то, что "Готовые программы". В готовой программе можно определить прикладное назначение кода, про готовую функцию так не скажешь. Функция для программиста, программа для проектировщика. Библиотека функций - неизвестно для кого. Что из этого следует? А то и следует, что предлагаемая здесь стратегия не для меня. И лучше не соваться, а то будет гав.
Profan вне форума  
 
Непрочитано 13.11.2007, 06:37
#63
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,826


Цитата:
Сообщение от Alaspher Посмотреть сообщение
Против. Объясню почему - это дерево должен будет создавать разработчик, а значит будут многочисленные ошибки. Вот если сделать автоматический механизм связывания, то тогда ещё в нём будет смысл.
Не понял, какие ошибки? Сам пытаюсь прописывать в коментах, чего куда ссылается и даже какие проги используют эту функцию. Иначе через месяц в свой же проге не разберусь. А если сделать "автоматический механизм связывания", то этож будет еще полезнее чем тэги (может просто - ключевые слова?). Скачав нужную мне функцию, в придачу к ней тянутся все используюмые подфункции в ней. Таким образом обычному пользователю не надо будет тащить эту кучу мусора о которой говорит Supermax, на этом уже и поучится можно будет. Если б это дело еще и в проект как то собиралось (*.prj в редакторе VisualLISP).
Krieger вне форума  
 
Непрочитано 13.11.2007, 06:42
#64
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381


Цитата:
Сообщение от Alaspher Посмотреть сообщение
Теги не должны назначаться автором функции (предлагаться - да, пожалуйста), они должнвы быть назначены тем, кто публикует готовый код. Соответственно, никаких атрескафф быть не может по определению - пополнение списка тегов само по себе должно быть ограничено.
Ты уже не первый раз употребляешь термин "тег". Очень многообразное понятие. Поясни, что имеешь ввиду применительно к библиотеке. Где эти "теги" записаны?

Я пока предполагаю, что обязательной частью комплекта библиотеки должен стать настоящий файл справки в формате CHM (HLP Microsoft скоро убьет). В справке будет и дерево, и ключевые слова, и гиперссылки. В том числе могут быть ссылки на внешний файл с действующим исходным текстом. Здесь мы имеем все изобретенные возможности для поиска.

Я упоминал также про CMS MODx. Если использовать её для публикации в Интернет, то для каждой страницы можно создать "облако тегов", которое позволяет автоматически вставлять сборник ссылок на "родственные", связанные функции. Плюс, конечно поиск встроенными средствами по индексированной БД, а не Gooogle.

Пока сам я (исключительно из-за "лени" по созданию HELP) работаю так.

1. Конечно же я не помню всех своих функций. А если и помню, то не полагаюсь на память, а всегда открываю в SourceExplorer.

2. Если надо - ищу в нем же, по фрагментам текста. Получаю список файлов, можно каждый просмотреть (список сохраняется до следующего поиска).

3. Часто пользуюсь многофайловым поиском в VisualLISP. Он сделан очень неплохо, держит список найденного, позволяет щелчком загрузить требуемый файл.
ShaggyDoc вне форума  
 
Непрочитано 13.11.2007, 08:18
#65
Alaspher


 
Регистрация: 11.10.2004
e•burg
Сообщений: 755


Цитата:
Сообщение от Krieger Посмотреть сообщение
Не понял, какие ошибки? Сам пытаюсь прописывать в коментах, чего куда ссылается и даже какие проги используют эту функцию.
Вот в том и дело, что - "пытаюсь". Даже очень аккуратный человек ошибается, а учитывая то, сколько работы надо будет сделать для создания полного дерева... Причём ошибка, не выявленная сразу, уйдёт дальше и исправить её будет фактически невозможно.

Цитата:
Сообщение от Krieger Посмотреть сообщение
обычному пользователю не надо будет тащить эту кучу мусора о которой говорит Supermax, на этом уже и поучится можно будет. Если б это дело еще и в проект как то собиралось (*.prj в редакторе VisualLISP).
В принципе, я за то, чтобы такой механизм был, несмотря на то, что он принесёт куда больше вреда, чем пользы.

Почему вреда будет больше - да потому, что появятся лайт сборки "только то, что нужно для данной программы", при этом, естественно, никто не будет отслеживать версийность этих функций и заменять, при корректировке основной либы. Подгрузка вспомогательных функций в подавляющем большинстве случаев осуществляется одномоментно с использующей их программой. Т.е., при загрузке нескольких таких лайт сборок рано или поздно возникнет конфликт, когда очередная подгрузка перепишет уже определённую функцию на более старый релиз и это вызовет проблемы.

Почему я за то, чтобы такой механизм был, несмотря на его вредоносность - я абсолютно убеждён, что нельзя мешать человеку совершать глупости. Ну кроме случаев, когда это касается меня лично. Есть люди, которые всё равно будут "резать себе пальцы", ну так пусть хотя бы не плачут, что "ножик тупой, йод не щиплет...".

Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
Ты уже не первый раз употребляешь термин "тег". Очень многообразное понятие. Поясни, что имеешь ввиду применительно к библиотеке. Где эти "теги" записаны?
Тег - нечто вроде атрибута. Набор тегов (для подобного проекта) должен быть заранее определён и не должен пополняться безконтрольно. Их набор может выглядеть примерно так (некий микрофрагмент):
Код:
[Выделить все]
<string>
<numeric>
<float>
<int>
<input>
<select>
<conversion>
<block>
<line>
<circle>
ну и так далее (можно и по-русски, но я бы предпочёл инглиш)
Когда функция помещается в библиотеку, ей назначаются теги, к которым она имеет отношение. Реализацию могу предположить в виде таблиц с именами тегов в БД, в каждой из которых хранятся имена функций, которым назначен данный тег. Соответственно, должен быть механизм, который позволяет отфильтровать функции по этим тегам, причём, в идеале должна быть возможность фильтрации и с обратным условием и сложением тегов и пересечением... Т.е., введение нового тега, это просто добавление новой таблицы в БД.

В принципе, тегов может быть больше, чем одна система - например, таким же образом можно хранить линки на вложенные функции (только первый уровень) и, при необходимости строить каскадный список всех задействованных.
Alaspher вне форума  
 
Непрочитано 13.11.2007, 08:35
#66
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848


Alaspher, лично мне будет проще полную библиотеку протащить и не мучаться, вручную пересобирая fas. Вон, doslib таскают же целиком, несмотря на то, что используется оттуда 2-3 функции, и ничего
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 13.11.2007, 11:53 Про накладки
#67
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Цитата:
В принципе, я за то, чтобы такой механизм был, несмотря на то, что он принесёт куда больше вреда, чем пользы.

Почему вреда будет больше - да потому, что появятся лайт сборки "только то, что нужно для данной программы", при этом, естественно, никто не будет отслеживать версийность этих функций и заменять, при корректировке основной либы. Подгрузка вспомогательных функций в подавляющем большинстве случаев осуществляется одномоментно с использующей их программой. Т.е., при загрузке нескольких таких лайт сборок рано или поздно возникнет конфликт, когда очередная подгрузка перепишет уже определённую функцию на более старый релиз и это вызовет проблемы.
Поэтому надо чтобы в библиотеке функции были обезличены. Когда вытаскиваешь из библиотеки функцию надо добавлять к ее имени ник, как это делает Kpblc. тогда функция становится уникальной и накладок не будет.
Про глобальные переменные - сложнее, поскольку они встречаются в теле функции. Их надо выискивать и тоже добавлять ник в имя.
Я очень опасаюсь, что модернизация функции может привести к появлению в ней дополнительного аргумента, что приведет к неспособности существующих программ работать с такой функцией. Наверное надо чтобы имя функции содержало нечто вроде контрольной суммы, по которой можно оценить взаимозаменимость. В таком случае вообще можно и без ников обойтись, поскольку новая функция будет отличаться именем от старой. Накладок не будет.

В больших КБ совсем не обязательно на каждом рабочем месте держать огромную библиотеку функций, достаточно сделать выборку и держать маленькую библиотечку. Вот так и овцы будут и волки.
Supermax вне форума  
 
Непрочитано 13.11.2007, 11:56
#68
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848


Supermax, глянь на http://www.arcada.com.ua/forum/viewtopic.php?t=435 - идеи, кстати, ruCAD;овские до мозга костей
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 13.11.2007, 12:09
#69
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381


Цитата:
Сообщение от Alaspher Посмотреть сообщение
Тег - нечто вроде атрибута. Набор тегов (для подобного проекта) должен быть заранее определён и не должен пополняться безконтрольно.
....
Когда функция помещается в библиотеку, ей назначаются теги, к которым она имеет отношение. Реализацию могу предположить в виде таблиц с именами тегов в БД, в каждой из которых хранятся имена функций, которым назначен данный тег. Соответственно, должен быть механизм, который позволяет отфильтровать функции по этим тегам, причём, в идеале должна быть возможность фильтрации и с обратным условием и сложением тегов и пересечением... Т.е., введение нового тега, это просто добавление новой таблицы в БД.

В принципе, тегов может быть больше, чем одна система - например, таким же образом можно хранить линки на вложенные функции (только первый уровень) и, при необходимости строить каскадный список всех задействованных.
Так, мы ещё не установили, что AutoCAD - это действительно CAD, а уже до БД функций добрались

Пока что вроде говорили про библиотеку, то есть
а) Куча организованных как-то LSP в файловой системе
б) Файл проекта, который позволяет из кучи LSP сделать один FAS
в) Документация в том или ином виде.

Теперь об этой гипотетической БД. Да, можно подобную базу организовать. В принципе. Но детали в реализациях. Если уж это коллективное творчество, то надо делать удаленный сервер в Интернет с соответствующим доступом. Всякие локальные таблицы не пойдут - их невозможно будет синхронизировать. А вот файлы - можно.

Всё это выльется в весьма серьезное приложение. Про библиотеку можно будет забыть. Займемся разработкой очередной CMS.

Но ничего этого делать не надо. Обычный файл справки решает все вопросы поиска - если правильно его делать, вовремя присваивать ключевые слова (теги), ставить гиперссылки.

Есть и специальные системы для разработки, системы контроля версий. Но незачем нам с этим связываться. Есть и штуки, наподобие WIKI-педии. Нам и это не требуется. Есть и программы, в которых можно хранить "что угодно".

Сделать программу, которая может выбрать из библиотеки только используемые функции можно. Но пусть этим VBA-шники занимаются - там иного пути нет. Пусть "нельзя мешать совершать глупости", но и помогать тоже не следует.

Может не будем усложнять? Или уж тогда нужна не идея, а готовое решение. Может быть оно есть?
ShaggyDoc вне форума  
 
Непрочитано 13.11.2007, 12:39
#70
Елпанов Евгений

программист
 
Регистрация: 20.12.2005
Москва
Сообщений: 1,439
Отправить сообщение для Елпанов Евгений с помощью Skype™


Готового решения нету, но есть идея...
Можно совместить все предложения и за счет увеличения времени загрузки программы, каждый раз при загрузке, оценивать все теги в программах и подгружать толко необходимые функции из библиотеки. Т.е. при загрузке программы, использующей библиотеку, она сканируется на наличие вызовов библиотечных функций и подгружаются только они. В итоге, у каждого на компьютере есть полная библиотека, все необходимые для работы программы функции, всегда загружены..

Здесь, очень поможет система индексации библиотеки, для правильной загрузки взаимосвязанных..
Елпанов Евгений вне форума  
 
Непрочитано 13.11.2007, 13:32
#71
Alaspher


 
Регистрация: 11.10.2004
e•burg
Сообщений: 755


Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
Так, мы ещё не установили, что AutoCAD - это действительно CAD, а уже до БД функций добрались
"- А нам, кабанам..." ©анек

Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
а) Куча организованных как-то LSP в файловой системе
б) Файл проекта, который позволяет из кучи LSP сделать один FAS
в) Документация в том или ином виде.
а & б) Файловое представление будет только на локальных машинах. Коли мы говорим о публичном проекте, то основным становится Веб-представление, из которого, по мере необходимости, собирается проект (собственно, он просто должен синхронизироваться, с HTTP/FTP сервером по запросу), который и компилится в FAS.
в) Документация, в идеале, в виде единого хэлпа для локального использования и описание функций при публикации в Форуме.

Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
Теперь об этой гипотетической БД. Да, можно подобную базу организовать. В принципе. Но детали в реализациях. Если уж это коллективное творчество, то надо делать удаленный сервер в Интернет с соответствующим доступом. Всякие локальные таблицы не пойдут - их невозможно будет синхронизировать. А вот файлы - можно.

Всё это выльется в весьма серьезное приложение. Про библиотеку можно будет забыть. Займемся разработкой очередной CMS.
Готового решения у меня нет. Собственно, если такой возможности нет у движка данного форума (или подключаемых модулей), то вопрос отпадает сам собой. Естественно, что писать CMS - нет смысла. Но основным представлением должно быть Веб, а не локальное.

Цитата:
Сообщение от Елпанов Евгений Посмотреть сообщение
Готового решения нету, но есть идея...
Можно совместить все предложения и за счет увеличения времени загрузки программы, каждый раз при загрузке, оценивать все теги в программах и подгружать толко необходимые функции из библиотеки.
Несколько лет назад, я применял "load on demand", но чем больше я этим занимался, тем очевиднее становилась порочность этого пути. Даже если отбросить вопрос обработки ситуации с потерей необходимого файла, само то, что плодится море маленьких файликов, которые надо подгружать, уже делает путь неинтересным. Честно говоря, написать код сколь-нибудь ощутимо загружающий память современного компа при простой загрузке..., лично я не возьмусь - у меня такие большие функции не получаются. Да и держать несколько сот отдельных файликов, компилить их... - загрузить одну библиотеку намного удобнее. Ну отъест она лишних полмегабайта памяти - вот уж трагедия...
Alaspher вне форума  
 
Непрочитано 13.11.2007, 14:31 Про начало
#72
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Для начала, предлагаю в разделе Downloads\разное\программы создать подразделы "макросы AutoLisp" "макросы VBA". В "макросы AutoLisp" создать подраздел "функции AutoLisp" а в этом подразделе взять оглавление книги Полещука "AutoLisp и Visual Lisp в среде AutoCAD" и сделать из него дерево, поскольку все уже привыкли к его классификации. В подразделы этого дерева класть с описанием имеющиеся функции.

Это только начало. Надо чтобы на сайте была опция "скачать все функции" и выбор в каком виде скачать. Вот тут для любителей конструктора лего и найдется работенка, а мне и просто Downloads-a хватит.
Вложения
Тип файла: rar Оглавление книги AutoLisp и Visual Lisp в среде AutoCAD.rar (28.5 Кб, 457 просмотров)
Supermax вне форума  
 
Непрочитано 27.11.2007, 13:34 Прототип библиотеки
#73
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381


В полном соответствии с законом о сроках, изложенном в "САПР на базе AutoCAD...." обещанный мною "день-другой" обернулся в две недели.

Выкладываю нулевую версию библиотеки. Это инсталляция прототипа библиотеки DWGruLispLib. Предназначена для того, чтобы посмотреть как примерно это должно быть сделано.

Основной компонент пока - справочная система, в которой излагается
общая концепция и правила разработки библиотеки. Все это для обсуждения и для привлечения желающих надеть на себя ярмо.

Для примера включены и "Addons" - дополнительные компоненты, которые можно использовать по желанию.

Пока там пара примеров из ruCAD (XMLmenu и XMLstorage), а также полностью рабочая библиотека ruCAD. Но о том, как это использовать пока нет ни слова. Кто знает - тот знает.

После знакомства призываю желающих включиться в разработку. То есть "чисто конкретно" записываться и предлагать взять на себя какую-то часть. Болельщикам - вести себя по усмотрению.

PS. В последний момент DLL исключил, а то не пройдет по размеру вложение.

PPS. Если это объявление считать хорошей новостью, то будет и плохая.
Вложения
Тип файла: zip DWGruLispLib.zip (1.71 Мб, 309 просмотров)
ShaggyDoc вне форума  
 
Непрочитано 27.11.2007, 16:12
#74
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


ShaggyDoc, да продлятся ваши дни до бесконечности!
Вижу способ организации работы над библиотекой.
1. Кладете данный файл в Download, но сперва зарегистрируйтесь, например, как ShaggyDoc-2 и под этим ником кладете этот файл.
2. Активным лицам, облеченным вашим доверием вы сообщаете пароль на редактирование данного файла. Что-то типа модераторов вложения получится. Собственно поэтому и надо его выложить с отличным от вашего ником.
3. Открываем чистую тему, ссылку на которую пишем прямо в txt файле справки. В ней мы будем выслушивать и анализировать разные идеи.
5. Чтобы положить свой лисп в библиотеку, его надо сначала выложить в тему и от туда он уже одним из модераторов вложения будет перенесен в тело самой библиотеки.

Корректировка самой структуры тоже будет осуществляться модераторами вложений.
Хотите сами все делайте, хотите - просто приглядывайте, за модераторами. В общем, не очень напряжное занятие.

Предложение на модераторство сами инициируйте, как на всех порядочных сайтах делается.

По такой системе можно и альтернативный проект развивать.
Supermax вне форума  
 
Непрочитано 27.11.2007, 16:26
#75
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848


Только-только скачал, еще не смотрел. Но "будет и плохая" настораживает...
---
Добавлено:
Есть несколько предложений (сразу, с ходу). Возможно, меня закидают камнями, но тем не менее.
- снять требование записи форматирования кода напрямую в файл;
- снять требование ввода команд, опций и системных переменных в верхний регистр;
- при обработке ассоциированных списков с возможностью использования в качестве ключа строкового значения обязательно использовать один (единый) регистр (например, нижний) для корректного срабатывания (assoc) без доп.обработки списка.
---
Добавлено 2:
Темой дело не обойдется, боюсь. <Удалил>. Надо еще разок подумать...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.

Последний раз редактировалось Кулик Алексей aka kpblc, 27.11.2007 в 16:52.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 27.11.2007, 16:52
#76
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Да пока и темой можно обойтись. А там, стрелку повернуть - никогда не поздно.
Supermax вне форума  
 
Непрочитано 27.11.2007, 16:54
#77
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848


Еще не вечер. Supermax, пойми, тут одной темой не обойдется хотя бы потому, что функций будет немеряно. В результате будет нечто типа "Поиска справочной литературы" старого образца. Оно надо?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 27.11.2007, 17:09
#78
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Всплывает также старый спор о самодостаточности этих функций. Надо прямо в названии, сразу за dwgru ставить или SD или SV самодостаточная или связанная функция. Если самодостаточная, то ее можно вставлять в программу без боязни, если связанная, значит она связана с какими-то еще функциями из библиотеки. На такие функции надо давать комментарии с указанием перечня использованных внешних функций.
Supermax вне форума  
 
Непрочитано 27.11.2007, 17:20
#79
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Есть много хороших функций, которые применяются внутри вновь созданной функции, но они из "чужих" библиотек. Там свои правила "правописания", а копировать их содержимое под другим именем или писать типа (defun dwgru-aaa-bbb (/) 2CB) где 2СB имя функции из другой библиотеки, как-то смешно. Как быть?
И вообще, что делать с вполне приличными, написанными весьма грамотно функциями конкретных авторов? У меня много есть "не моих" функций, которыми я могу вполне легально поделиться с общественностью, но получается в эту библиотеку вставить не могу.
Supermax вне форума  
 
Непрочитано 27.11.2007, 17:40
#80
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Ну тут напрашивается тот же вариант, что и с блоками. Сопровождаемые авторами функции или не сопровождаемые.
Те, что сопровождаемые - строго по правилам библиотеки написаны. Те, что не сопровождаемые - отдельной кучей или с пометками в справке самой библиотеки.
Supermax вне форума  
 
Непрочитано 27.11.2007, 23:29
#81
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848


Supermax, #78 : ИМХО библиотека будет связана. Вся. Всю и таскать.
#79 : переписать, думаю, возможно. Опубликованный на форумах код, насколько я знаю, можно запросто переписывать как угодно. Самое главное - указывать "начального" автора.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 28.11.2007, 08:36
#82
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848


Позволил себе слегка охаметь и :
1. Поговорил с Admin'ом, он создал отдельный раздел, посвященный именно библиотеке.
2. Опубликовал (в качестве затравки) 2 функции: DwgRuLispLib: Преобразование указателя на примитив в ename и DwgRuLispLib: Преобразование указателя на примитив в vla.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 28.11.2007, 08:44
#83
Alaspher


 
Регистрация: 11.10.2004
e•burg
Сообщений: 755


Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
Выкладываю нулевую версию библиотеки. Это инсталляция прототипа библиотеки DWGruLispLib. Предназначена для того, чтобы посмотреть как примерно это должно быть сделано.
Пока не всё прочёл, но почему-то не думаю, что будут возражения.

Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
PPS. Если это объявление считать хорошей новостью, то будет и плохая.
Это настораживает...

Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Есть несколько предложений (сразу, с ходу). Возможно, меня закидают камнями...
Непременно!

Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
- снять требование записи форматирования кода напрямую в файл;
- снять требование ввода команд, опций и системных переменных в верхний регистр;
- при обработке ассоциированных списков с возможностью использования в качестве ключа строкового значения обязательно использовать один (единый) регистр (например, нижний) для корректного срабатывания (assoc) без доп.обработки списка.
первое - возможно;
второе - против - единообразность в стиле написания улучшит читаемость, причём - не важно, какой стиль будет, лишь бы не каждый по своему;
третье - против - какие списки придётся обрабатывать функции - неизвестно.

> Supermax
Большая просьба - не зафлуживать, по обыкновению, хотя-бы эту ветку бессодержательными сообщениями - это уже мешает.
Alaspher вне форума  
 
Непрочитано 28.11.2007, 08:53
#84
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848


Alaspher, я про то, что стандартный (assoc) при обработке списка вида:
Код:
[Выделить все]
(setq lst '(("Value" . 16) (1 . 2) ("Scale" . 100)))
и вызове
Код:
[Выделить все]
(assoc "SCALE" lst)
вернет "не то". Понятно, что это в общем-то требование больше к программисту, но все равно ИМХО договориться заранее не помешает.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 28.11.2007, 09:29
#85
Alaspher


 
Регистрация: 11.10.2004
e•burg
Сообщений: 755


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Понятно, что это в общем-то требование больше к программисту, но все равно ИМХО договориться заранее не помешает.
А для этого должны быть соответствующие функции (пример):
Код:
[Выделить все]
(defun _dwgru-assoc (key lst) (car (_dwgru-assoc-multi key lst)))
(defun _dwgru-assoc-multi (key lst)
  (if (= (type key) 'str)
    (setq key (strcase key))
  )
  (vl-remove-if-not
    (function (lambda (a / b)
                (and (setq b (car a))
                     (or (and (= (type b) 'str) (= (strcase b) key)) (equal b key))
                )
              )
    )
    lst
  )
)
Alaspher вне форума  
 
Непрочитано 28.11.2007, 09:32
#86
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848


Хе, я как раз и хотел предложить не использовать такую функцию. Сам в свое время аналогичное нарисовал
P.S. Как насчет публикования?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 28.11.2007, 09:59
#87
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


Еще внесу свои 5 копеек. Сразу скажу, что предложение ShaggyDoc скачал, но пока не смотрел. Все что изложено ниже - это просто мысли вслух. В качестве примера возьмем вышеприведенную функцию _dwgru-assoc-multi. Она использует vl-* функцию. Так вот, с учетом существования клонов Автокада (BricsCAD and ect)
1. стоит ли каким-то образом помечать функции, использующие vl-*, vla-* и т.д. с точки зрения применимости не в Автокаде?
2. стоит ли иметь (написать) аналоги распространенных ф-ций (например vl-remove-if) чтобы применять в библиотеке, чтобы применять не в Автокаде
3. нефиг. пусть BricsCAD и т.п. догоняют или иным образом подстраиваются
?????????
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 28.11.2007, 10:02
#88
Alaspher


 
Регистрация: 11.10.2004
e•burg
Сообщений: 755


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Хе, я как раз и хотел предложить не использовать такую функцию.
Ну а почему бы и не использовать, собственно?

Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
P.S. Как насчет публикования?
Как пример - возможно. Всё-ж сначала надо бы определиться, что однозначно трактуем правила - я ещё и предложенное ShaggyDoc не до конца дочитал.

Цитата:
Сообщение от VVA Посмотреть сообщение
3. нефиг. пусть BricsCAD и т.п. догоняют или иным образом подстраиваются
Именно так - дай бог отловить версийность АКАДа и его вертикалок, а уж про китайские СтырКАДы и говорить не приходится. Тем более, что завтра ещё какие-нить "албанцы" свой придумают - метаться не стоит, моя думай.

Последний раз редактировалось Alaspher, 28.11.2007 в 10:18.
Alaspher вне форума  
 
Непрочитано 28.11.2007, 10:47
#89
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848


VVA, по п.3: в конце концов, код открыт - так что можно будет и подправить (ежели что). Потому как выполнить тестирование функции внутри Brics'a под Linux лично у меня возможностей нуль целых хрен десятых
Alaspher (#85), наверное, придется именно так и поступать, и заменять повсюду (assoc) на (_dwgru-assoc / _dwgru-assoc-multi).
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 28.11.2007, 11:21
#90
BarbiЁ

блондинка
 
Регистрация: 27.11.2007
Планета Плюк 215 в центуре, галактика Кин-Дза-Дза
Сообщений: 25


Цитата:
Сообщение от Alaspher Посмотреть сообщение
Пока не всё прочёл, но почему-то не думаю, что будут возражения.

Цитата:
PPS. Если это объявление считать хорошей новостью, то будет и плохая.
Это настораживает...
Sir Alaspher, плохую новость я могу сообщить, но пущай сначала оне свою версию изложат.

PS. Вообще-то я та самая Barbi, которая немало Вам крови попортила. Ну, которая в розовых штанишках была.

Просто на этом форуме я забыла и свой пароль (у меня их 238) и email, с которого регистрировалась в детстве. Вот и пришлось новое имя взять, более правильное грамматически. Но с акцентом, чтобы в поиске меня не нашли (старая шпиёнская привычка). Но зато теперь флудить смогу до отпаду.
__________________
Ох, как иногда хочется подумать!
BarbiЁ вне форума  
 
Непрочитано 28.11.2007, 11:44
#91
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Вот увидел в "Готовых функциях'" парочку функций и думаю - что с нми делать, зачем они? Хотелось бы иметь краткую информацию об области их применения. Человек несколько, может, сразу все сообразят, а остальные? Если так и дальше пойдет (название функции и код с куцым описание внутри кода), то как-то неуютно становится. IMHO.

Последний раз редактировалось Profan, 28.11.2007 в 12:19.
Profan вне форума  
 
Непрочитано 28.11.2007, 12:51
#92
Alaspher


 
Регистрация: 11.10.2004
e•burg
Сообщений: 755


Какие люди! Какие эээ... штанишки!

Цитата:
Сообщение от BarbiЁ Посмотреть сообщение
Sir Alaspher, плохую новость я могу сообщить, но пущай сначала оне свою версию изложат.
Надеюсь, ничего совсем плохого.

Цитата:
Сообщение от BarbiЁ Посмотреть сообщение
PS. Вообще-то я та самая Barbi, которая немало Вам крови попортила. Ну, которая в розовых штанишках была.
Девичья память? Что-то моя память не сохранила испорченной крови - скорее наоборот.

Цитата:
Сообщение от Profan Посмотреть сообщение
Вот увидел в "Готовых функциях'" парочку функций и думаю - что с нми делать, зачем они? Хотелось бы иметь краткую информацию об области их применения. Человек несколько, может, сразу все сообразят, а остальные? Если так и дальше пойдет (название функции и код с куцым описание внутри кода), то как-то неуютно становится. IMHO.
Естественно, документирование функций - неотъемлемая часть, без этого и авторам бибилиотеки трудно упомнить всё. Об этом и надо договориться "на берегу", до начала наполнения.
Alaspher вне форума  
 
Непрочитано 28.11.2007, 13:05
#93
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381


Раз BarbiЁ здесь объявилось, да ещё предлагает свою версию изложить:

1. "Оне" давно здесь шпионят. Но, когда начали обсуждать идею библиотеки, было сообщено КудаСледует.

2. В результате меня вызвали на "стрелку" и сделали "предъяву". Суть заключалась в том, что за мной числятся некоторые недоделки. И пока не закончу - "ни-ни", не отвлекаться.

3. Стрелка в ресторане проходила, в присутствии кучи "адвокатов" и спонсоров ruCAD. "Я сначала был не пьян, возразил два раза я". Но когда начались конкретные вопросы "а когда?", то ответить не смог. А когда начались намёки на "алгоритм Лисистраты", то вообще сдался.

В конце-концов замирились почти без ущерба здоровью (см.фото), но мне пришлось пообещать, что в этот проект я ввязываться не буду. Разве что по мелочи, вредными советами.
Миниатюры
Нажмите на изображение для увеличения
Название: ba_and_zu.jpg
Просмотров: 279
Размер:	48.5 Кб
ID:	1150  
ShaggyDoc вне форума  
 
Непрочитано 28.11.2007, 13:18
#94
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Похоже, у леди левый глаз подбит.
Profan вне форума  
 
Непрочитано 28.11.2007, 14:10
#95
Alaspher


 
Регистрация: 11.10.2004
e•burg
Сообщений: 755


Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
мне пришлось пообещать, что в этот проект я ввязываться не буду. Разве что по мелочи, вредными советами.
Новость, действительно очень так себе...

Цитата:
Сообщение от Profan Посмотреть сообщение
Похоже, у леди левый глаз подбит.
Причём, от души похоже приложились!
Alaspher вне форума  
 
Непрочитано 28.11.2007, 14:17
#96
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848


Нда... Новость хреновая.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 28.11.2007, 15:11
#97
BarbiЁ

блондинка
 
Регистрация: 27.11.2007
Планета Плюк 215 в центуре, галактика Кин-Дза-Дза
Сообщений: 25


Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
.. "Оне" давно здесь шпионят.
Не шпионят, а охраняют. "От всяческих ему не нужных встреч".

Цитата:
...за мной числятся некоторые недоделки.
Перечислю "некоторые". Самые горящие. Чтоб почтенная публика знала:
1. Справка к программе Спецификации. Программа готова, справки нет. Кто будет делать, Пушкин?
2. Программа MapinfoExplorer. Почти готова. Кто будет доделывать, Лермонтов?
3. Редактор MapBasic. Почти готова. Кто будет доделывать, Толстой?
4. ruCAD-5D. Почти готово. Кто будет доделывать, Достоевский?
5. ruCAD-3D. Почти готово. Кто будет доделывать, Грибоедов?
6. Супер-заказ на 75 млн. кто нам будет поддерживать?
7. Свой сайт кто будет обновлять?
8. Свой форум когда в открытую сеть выпустим? Так и будем внутри секты общаться?
9. Книжку "Унификация приемов работы" кто будет заканчивать?
10. А книжку по Mapinfo?

И, наконец, когда же документация по ruCAD будет заканчиваться? Люди деньги реальные дают, а мы отказываем. Да и самим надо. Кто справку делать будет - Иван Федорович Крузенштерн?

И всё это надо сделать до 2 марта!

Цитата:
... начались намёки на "алгоритм Лисистраты"
Не намеки, а конкретные обещания. Хотя не все дамы это поддержали. Ладно уж, мы не звери.

Цитата:
в этот проект я ввязываться не буду. Разве что по мелочи, вредными советами.
Ай, молодца! Так и запишем.

Цитата:
Похоже, у леди левый глаз подбит.
Смотрите лучше. У леди макияж. Просто левый глаз особенно красивый.
Посмотрите внимательней на его правый глаз. Там макияжа нет.
Цитата:
Причём, от души похоже приложились!
Я бы сказала - от души приложила.

PS. Если что, оставляю за собой право тоже фото выложить. В другом ракурсе.
__________________
Ох, как иногда хочется подумать!
BarbiЁ вне форума  
 
Непрочитано 28.11.2007, 15:43
#98
Alaspher


 
Регистрация: 11.10.2004
e•burg
Сообщений: 755


Цитата:
Сообщение от BarbiЁ Посмотреть сообщение
Перечислю "некоторые". Самые горящие. Чтоб почтенная публика знала
Так, я вижу, что на первые пять пунктов кандидатуры уже нашлись! С
10-ым, кроме Уэлса никто не справится!

Если серьёзно, то конечно надо сначала закончить уже начатое, а уж потом браться за чтото новое. Жаль, конечно, что до 3-го марта Сергей не сможет уделять теме достаточно времени, но что-ж делать...
Alaspher вне форума  
 
Непрочитано 28.11.2007, 16:18
#99
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Какая серьезная блондинка. Лучше убить себя об стену, чем убиться об нее.
Profan вне форума  
 
Непрочитано 28.11.2007, 16:22
#100
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848


Еще раз, и темы придется разделять. И чистить. Может, воздержимся от флуда?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 28.11.2007, 17:13
#101
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Кулик Алексей aka kpblc #81
Переписывать нельзя, у многих стоит правило не изменять ничего в теле функции. Имя думаю к этому тоже относится. А вот сделать (setq _dwgru_... имя старой функции) можно. Дальнейшее обращение уже идет к новому имени. Правда в памяти будет уже два имени одной и той же функции, но терпимо. Рекруссивные функции только чтобы не поломать.
Supermax вне форума  
 
Непрочитано 28.11.2007, 21:16
#102
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Посмотрел я на созданные разделы и очень огорчился.
Все функции представлены темами и свалены в одну кучу. Программы также свалены в одну кучу.
Где дерево? Таких куч уже не меряно.

Где будет лежать сама библиотека?
В каком виде?
Кто будет создавать обновления?
Supermax вне форума  
 
Непрочитано 28.11.2007, 21:34
#103
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848


Supermax, вот тебе вариант использования библиотеки. Задача - получить список всех динамических свойств блока. Результатом будет
Код:
[Выделить все]
(_dwgru-conv-value-vla-to-list (_dwgru-property-get (car (entsel "\nУкажите блок : ")) 'dynamicproperties)
Для получения указателей на все атрибуты блока будет
Код:
[Выделить все]
(_dwgru-block-get-attributes (car (entsel "\nУкажите блок : ")))
И не надо будет тысячи раз дублировать один и тот же код.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 28.11.2007, 23:17
#104
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Kpblc, ShaggyDoc четко в правилах хелпа к функции написал, что надо перечислять в самом начале все ссылки на другие библиотечные функции. Я его поддерживаю. Если мне надо будет вырвать с мясом нужную мне функцию и вытащить все "корни", что она пустила в библиотеке, я это сделаю легко. Это конечно, если будут перечислены заранее все ссылки. Если не перечислять, а ползать по лиспу и вылавливать -

Я к библиотеке отношусь как к библиотеке. Как источнику знаний. Зачем писать код, если он уже написан? Другое дело как его использовать. В Автокаде уже есть библиотека функций, и она неотъемлемая часть самой программы. Библиотеку можно конечно расширить, и даже нужно, поскольку многого нет, конечно, за счет подвязки еще одной. Но если первая библиотека нужна Автокаду для работы некоторых команд и далеко не все функции в ней загружены, между прочим, то наша библиотека для каких программ предназначена?
Теоретически подразумевается, что прикладные программы-макросы будут ею пользоваться, но позвольте, я и многие другие пользователи таскаем макросы со всего мира и с форума DWG.RU тоже естественно. Не спорю, что когда-то на форуме будут лежать макросы в таком изобилии, что покроют все нужды, и не исключено, что они будут опираться на эту библиотеку, но к тому времени, самодостаточных макросов станет еще больше.
Да ты сам, если напишешь что-нибудь стоящее, постараешься оформить эту прогу, чтобы работала на любой машине и в любой программе. Где же твой хваленый универсализм?
Вы как хотите, а я из за пары связанных функций всю библиотеку таскать не буду. Вырву и вставлю в тело макроса.
Supermax вне форума  
 
Непрочитано 28.11.2007, 23:22
#105
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848


Я буду таскать всю библиотеку. Весь fas. Насчет справки, перекрестных ссылок и т.п. - я пока пас. Времени нет совсем на качественную проработку.
Цитата:
<...>что надо перечислять в самом начале все ссылки на другие библиотечные функции<...>
ShaggyDoc явно этого не написал. В представленном примере указаны функции "первого уровня вложения". И это ИМХО достаточно.
К сожалению, я не знаю HTML в том объеме, который позволил бы автоматом сформировать полное "дерево" библиотеки со всеми перекрестными ссылками. Посему пока только если руками и справку формировать, и все остальное делать.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 29.11.2007, 06:34
#106
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
К сожалению, я не знаю HTML в том объеме, который позволил бы автоматом сформировать полное "дерево" библиотеки со всеми перекрестными ссылками. Посему пока только если руками и справку формировать, и все остальное делать.
Даже если знать HTML полностью, то делать этого не стоит.
Я вложил в инсталляцию проект Help And Manual -

help\DWGruLispLib.hmx

Надо взять с http://www.helpandmanual.com/ программу и работать в ней. В результате можно иметь документацию в разных форматах - hlp, chm, pdf, html, rtf. Просто выбором конечного формата при компиляции.

При желании можно и html на сайт выложить, но это надо доступ по FTP. Да и незачем (если не ставить целью повыщение посещаемости). Можно и специальную CMS приспособить (форум для этого малопригоден). Но в справке любого вида не надо приводить исходные тексты - только формат вызова, результаты и особенности. Исходники будут сотни раз меняться и с их публикацией лучше решать отдельно. Самое лучшее - в периодически обновляемой инсталляции.
ShaggyDoc вне форума  
 
Непрочитано 29.11.2007, 08:31
#107
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848


Я вчера попробовал создать кусок справки... В связи с чем вопрос: насколько "глубоко" надо разворачивать дерево используемых функций? До упора или все же ограничиться первым уровнем? Что прописывать, если функция не использует сторонних? Писать "нет" или просто исключать элемент?
А HTML я хотел создать именно для "автоматического" импорта описаний в hmx. Дурная голова никому покоя не дает
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 29.11.2007, 09:47
#108
Alaspher


 
Регистрация: 11.10.2004
e•burg
Сообщений: 755


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
насколько "глубоко" надо разворачивать дерево используемых функций? До упора или все же ограничиться первым уровнем?
Если и делать, то только 1-ый уровень. Хотя и это лишь информационная часть и обязательной её делать - не стоит, элементарно потому, что это вне власти автора функции - в любой из функций, которые он использует в своей функции, могут появиться/исчезнуть вызываемые функции, о которых он естественно не узнает. Заниматься подгонкой формата библиотеки для удобства её раздёргивания, это вообще какой-то мазохизм. Не нравится библиотека - не юзай.
Alaspher вне форума  
 
Непрочитано 29.11.2007, 10:06
#109
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Я вчера попробовал создать кусок справки... В связи с чем вопрос: насколько "глубоко" надо разворачивать дерево используемых функций? До упора или все же ограничиться первым уровнем? Что прописывать, если функция не использует сторонних? Писать "нет" или просто исключать элемент?
А HTML я хотел создать именно для "автоматического" импорта описаний в hmx. Дурная голова никому покоя не дает
Дерево функций в справке лучше разворачивать до "логического" упора. Это будет обычно максимум 2 - 3 уровня. Для очень специальных может и больше, например:

Рисование \ 3D \ трубы \ фитинги \ муфты

Но это редко. И вряд ли дойдет до этого. Лучше, чтобы соответствовало структуре каталогов с самими текстами.

Одного уровня мало - будет трудно работать. Но каждое имя функции надо делать ключевым словом (Ctrl-K), вот в Индексе и будет одноуровневое, для быстрого поиска.

Описание лучше стандартизировать, брать из заготовки. Лучше записать "нет" - это будет явно указывать. А если ничего не указано, то может быть просто забыл.

Для импорта описаний в HMX автоматика вряд ли получится. Можно, но зачем - больше будет потом возни с оформлением. Для оформления, кстати, лучше пользоваться только стилями из меню (с добавлением, если надо).

В заготовку я вставлял примеры исходника в виде Insert - Plain HTML Code. А сам код с подсветкой синтаксиса получал в ruSourceExplorer. Но и это, наверное лишнее. Так можно примеры вставлять, а исходники самих функций лучше в справку не заталкивать.
ShaggyDoc вне форума  
 
Непрочитано 29.11.2007, 10:08
#110
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381


А, насчет уровня я не так понял. Я имел ввиду дерево справки. Если же речь про ссылку в описании функции, то конечно, надо только на 1-й уровень, как Alaspher написал.
ShaggyDoc вне форума  
 
Непрочитано 29.11.2007, 13:02
#111
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Согласен на 1-й уровень вложения, но с (Ctrl-K).
Supermax вне форума  
 
Непрочитано 05.12.2007, 09:09
#112
BarbiЁ

блондинка
 
Регистрация: 27.11.2007
Планета Плюк 215 в центуре, галактика Кин-Дза-Дза
Сообщений: 25


Я может и не по чину влезаю, но что, как всегда базаром типа "какая серьезная блондинка" и кончилось? Получилось "как всегда"? Уже и сам "руководитель фирмы" согласен на 1-й уровень, а кто исполнять-то будет? Типа Ctrl-K?

Раз уж я немного малину испортила внесу свой взнос в общак. Типа меня добровольно заставили. Если смогу, прилеплю архивчик. Там кучка лиспов, главное чтобы dwgru-get-функции заработали. И FAS готовый есть. А пример вот такой:

Код:
[Выделить все]
(defun test_getpoint (/ point_1 point_2 point_3)
 ;; (test_getpoint)
 (while (setq point_1 (dwgru-get-point-or-exit "Первая необязательная точка" nil))
  (progn
   (setq point_2 (dwgru-get-point-reguired "Вторая точка - ввод обязателен!" point_1))
   (setq point_3 (dwgru-get-point-or-exit-or-kword-base
                  "Третья - возможен выход. Или слово "
                  point_2
                  "Арык Кирдык Шайтан Билайн"
                 ) ;_ end of dwgru-get-point-or-exit-or-kword-base
   ) ;_ end of setq
   (print point_3)
  ) ;_ end of progn
 ) ;_ end of while
)
Только не пытайте сильно, я лишь имена изменила да комментарии нецензурные убрала. Чё с меня взять. Sir Alaspher и шевалье Кулик Алексей aka kpblc разберутся.
Вложения
Тип файла: zip DwgRuLisp.zip (23.3 Кб, 230 просмотров)
__________________
Ох, как иногда хочется подумать!
BarbiЁ вне форума  
 
Непрочитано 05.12.2007, 10:06
#113
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Цитата:
Sir Alaspher и шевалье Кулик Алексей aka kpblc разберутся.

Надо делать так, чтобы и Profan разобрался.
Profan вне форума  
 
Непрочитано 05.12.2007, 15:57
#114
Alaspher


 
Регистрация: 11.10.2004
e•burg
Сообщений: 755


Цитата:
Сообщение от BarbiЁ Посмотреть сообщение
а кто исполнять-то будет?
С этим у нас всегда сложно... Традиция.

Цитата:
Сообщение от BarbiЁ Посмотреть сообщение
Только не пытайте сильно, я лишь имена изменила...
Не, сильно не бум.
В одном месте оказалась забытой функция ru-error-catch, кроме того - пример, по крайней мере один - не очень удачный. При таком варианте:
Код:
[Выделить все]
  (dwgru-error-catch
   (function
    (lambda ()
     (setq result (getpoint "\nТочка (прерывание блокировано):"))
    ) ;_ end of lambda
   ) ;_ end of function
переменная result становится псевдоглобальной, а это хоть и не катастрофа, но совершенно ни к чему, лучше сделать примерно так:
Код:
[Выделить все]
(defun test002 (/ result)
;;; Использование  dwgru-error-catch (test001)
 (while (vl-catch-all-error-p
         (setq result (dwgru-error-catch
                       (function
                        (lambda ()
                         (initget 1)
                         (getpoint "\nТочка (прерывание блокировано):")
                        )
                       )
                       nil
                      )
         )
        )
  (princ (strcat "\nТЕСТ прерывания - " (vl-catch-all-error-message result)))
 )
 result
)
Извиняйте за занудство.

Цитата:
Сообщение от BarbiЁ Посмотреть сообщение
Чё с меня взять.
Ну, если подойти к вопросу творчески..., с выдумкой...

Цитата:
Сообщение от Profan Посмотреть сообщение
Надо делать так, чтобы и Profan разобрался.
Огурец пособит если что.
Alaspher вне форума  
 
Непрочитано 06.12.2007, 07:33
#115
BarbiЁ

блондинка
 
Регистрация: 27.11.2007
Планета Плюк 215 в центуре, галактика Кин-Дза-Дза
Сообщений: 25


Бандарлоги, радуйтесь! Каа нас заметил!

Цитата:
В одном месте оказалась забытой функция ru-error-catch
Я не знала, что это нецензурно. Буду знать.

Всё остальное за пределами физиологических возможностей моёго моска. Но что идея подохла - даже мне понятно.
__________________
Ох, как иногда хочется подумать!
BarbiЁ вне форума  
 
Непрочитано 06.12.2007, 09:01
#116
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848


Неправда Ваша однако... Идея (по крайней мере пока) не подохла. В худшем случае находится в коме. Реанимируем, фиг ли нам
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 06.12.2007, 12:23
#117
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Я так понимаю, что надо чтобы за Fas стоял чей-то Profile?
Раз никто не хочет браться за систематическое обновление данного файла, предлагаю следующую комбинацию:
В начало загрузки файла мы вставляем функцию alert с рекламой «модератора» этого файла. Типа:
(alert “Данная библиотека, в данный момент курируется фирмой ООО \“Виртуальные Строительные Технологии”. Все пожелания и жалобы оставлять в теме ……. Dwg.ru. За оказанием профессиональных услуг в области …….. обращаться ……[email protected].”)

Ну, текст, предлагаю обсудить и утвердить.

Качнули Fas, загрузили, а он выкинул окно с рекламой модератора файла.
Когда мне надоест его перекомпилировать, я передам другому желающему это делать.
Можно установить срок такого курирования, скажем – один месяц и определять достойного на форуме общим голосованием.

Народ, - занимайте очередь!
Я – Первый.

Последний раз редактировалось Supermax, 06.12.2007 в 14:02.
Supermax вне форума  
 
Непрочитано 06.12.2007, 13:05
#118
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Вот поел и мне на ум еше пришло.

А место для рекламы ведь можно и продать...

Короче, если я доберусь до этого курирования, не обижайтесь если вместо моей конторы там появятся краски, лаки и всякая лабуда для приятного отдыха.

Поскольку многие макросы оформлены кнопками, и в них зашит запуск данной библиотеки, то рекламка будит выскакивать каждый раз, как нажмешь кнопку.
Supermax вне форума  
 
Непрочитано 06.12.2007, 13:08
#119
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848


Идея несостоятельна. Вместе с библиотекой (в которой, кстати, "готовых к применению" функций, скорее всего, будет раз-два и обчелся) обязательно будут поставляться исходники. Так что "снести" рекламу будет достаточно просто ИМХО.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 06.12.2007, 13:23
#120
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Что такое исходник? - Это лисп, который соответствует fas. Так? Если ты курируешь fas, и обновляешь его в Dawnload-e, то исходники функций лежат только в темах для обсуждения, а собранный лисп из них ты тоже можешь дать, если совсем заработался. А я вот - не дам. В тему лезь и смотри на функцию, хоть до рези в глазах.
Хочешь, сам скомпилируй свою библиотеку и радуйся.
Вот тому, кто идет мне на смену, я этот лисп, а также пороль к download-у и передам. Он мою рекламку сменит на свою и пароль откорректирует под себя.
Когда в файле 10 функций - то да, плево и свое перекомпилировать, а когда 1000?
Supermax вне форума  
 
Непрочитано 06.12.2007, 13:27
#121
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848


Supermax, библиотека будет поставляться по технологии, абсолютно аналогичной той, что показал ShaggyDoc в #73. То есть: исходники, fas, help и все это засунуто в инсталлятор.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 06.12.2007, 13:39
#122
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Тебе Kpblc, терпеть рекламные трюки не придется. Всем, "благодетелям", кто клал лиспы в библиотеку, будут по почте высылаться именные варианты без рекламы.
Кроме рекламы, второй строкой создается переменная к примеру, n_vers (setq n_vers "#12345 от 12,12,2007")
Этот номер будет индивидуальным для каждого "благодетеля" и не дай бог, он свою библиотеку на сайт положит.

Последний раз редактировалось Supermax, 06.12.2007 в 14:14.
Supermax вне форума  
 
Непрочитано 06.12.2007, 13:41
#123
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Это не fas, а хелп и чтобы вытащить из него 1000 функций и перекинуть в fas надо быть полным идиотом, лучше положить на сайт одну свою функцию и получить библиотеку без рекламы.
Supermax вне форума  
 
Непрочитано 06.12.2007, 13:43
#124
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Вот из инсталятора исходник lsp надо убрать. Достаточно развернутого текста функции в хелпе.

А поскольку мы живем в России, предлагаю из комментариев в хелпе кавычки убрать, чтобы Россиянам было "легче" собирать из хелпа свою, безрекламную библиотеку.

Последний раз редактировалось Supermax, 06.12.2007 в 14:12.
Supermax вне форума  
 
Непрочитано 06.12.2007, 14:14
#125
BarbiЁ

блондинка
 
Регистрация: 27.11.2007
Планета Плюк 215 в центуре, галактика Кин-Дза-Дза
Сообщений: 25


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Неправда Ваша однако... Идея (по крайней мере пока) не подохла. В худшем случае находится в коме. Реанимируем, фиг ли нам
Нетушки! Не выйдет! Зуб даю! Советчиков много, желающих работать нет. Самое лучшее - делай сам, никого не спрашивая. Сюда - только готовый результат.
__________________
Ох, как иногда хочется подумать!
BarbiЁ вне форума  
 
Непрочитано 06.12.2007, 14:17
#126
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848


BarbiЁ, мне жалко зубы.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 06.12.2007, 14:45
#127
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Товарищи Коммунисты, а кто здесь вообще главный?
Кто утверждает предлагаемое решение?
Supermax вне форума  
 
Непрочитано 06.12.2007, 14:46
#128
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848


Сам мучаюсь Вариантов уже опубликованных функций немеряно, что принимать - пока неясно.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 06.12.2007, 15:09
#129
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Так, собираю (беру на грудь) список участников клуба "DwgLispLib"

1. ShaddyDoc
2. Kpblc
3. Alaspher

Кто функции не клал - болельщик (включая меня), но это поправимо - раз, не исключает варианта привлечения к общественно-полезному труду - два.

Вопрос на повестке дня один - кто главный?

Решают только члены клуба.
Supermax вне форума  
 
Непрочитано 06.12.2007, 15:11
#130
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848


Если вечером дадут за железкой поиграться, выложу "что получится". А там поглядим
P.S. Считаю своим долгом предупредить: VVA, который мало того, что публиковал функции, еще и в личку мне отослал несколько штук. Они тоже будут включены. Без вариантов.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 06.12.2007, 15:12
#131
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Ты тут ветер не создавай, выдвигай кандидатуру и голосуй!

Кто главный?
Supermax вне форума  
 
Непрочитано 06.12.2007, 15:16
#132
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


В библиотеке функций нет функций положенных VVA. Если он их давал тебе, то это уже твои функции и тебе за них отвечать. Не создавай неразбериху. Есть графа "Автор" вот там должен быть VVA.
Supermax вне форума  
 
Непрочитано 06.12.2007, 15:20
#133
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


Supermax правильно подметил, мне пока что тоже не ясен механизм принятия окончательного решения. Например в DwgRuLispLib: Преобразование значения в строку поговорили, много писали (ударение на а), а результат?. Думаю что в первом посте должен быть опубликован окончательный принятый вариант, а после этого всю переписку там можно удалять. И так до следующих замечаний/предложений.
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 06.12.2007, 15:32
#134
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848


У меня в таком случае другое предложение: переписку не сносить: потом же фиг определишь почему здесь так а не эдак. В начальном посте автор помещает (архивом!) исходный код. Если исходный вариант претерпел какие-либо изменения, рядом кладется новый архив, с указанием даты.
Жалко, что пока ничего принципиально другого не придумывается
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 06.12.2007, 15:33
#135
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Берем, к примеру случай, когда функция работала, работала и в какой-то момент, на каком-то не стандартном окружении "забуксовала". Человек зашел в тему и наваял там жалобу. В теме исходник откорректировать может только тот, кто эту тему создал, а значит автор функции, значит ему и разбирать эту жалобу. После этого, он корректирует исходник в теме и отправит его модератору библиотеки вместе с изменениями хелпа. Модератор вносит изменение в fas и выкладывает на сайт.

Тут консенсус искать не надо и "главный" может спокойно отдыхать за другой работой.

А вот модератору (коим я уже почти захотел стать) надо много, разработанных клубным сообществом, правил и утвержденных "главным" клубарем.
Вопросы будут сыпаться и сыпаться, а решение надо утверждать и при исполнении ссылаться на сей факт (вот такой вот я бюрократ).

Последний раз редактировалось Supermax, 06.12.2007 в 15:42.
Supermax вне форума  
 
Непрочитано 06.12.2007, 15:38
#136
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Не, сносить переписку не получится. Если поменяется координально текст функции, то первые сообщения, да и многие последующие потеряют смысл. Чтобы понять, почему функция имеет такой вид, надо иметь и первоначальную ее версию и все последующие состояния. Тогда и диспут будет понятен.
Ну кроме бредовой мысли класть в каждое сообщение по копии файла функции, другие мысли мне не приходят.

Последний раз редактировалось Supermax, 06.12.2007 в 15:44.
Supermax вне форума  
 
Непрочитано 06.12.2007, 15:46
#137
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


> #134 Здесь можно подойти творчески. Критические моменты отобразить в коментариях, мол по предложению такого-то в связи с тем-то "получилось как всегда" ((c) Черномырдин)
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 06.12.2007, 15:50
#138
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Или в самом начале темы про функцию, сразу создавать два сообщения с текстом функции. В первом - окончательный вариант, во втором - исходный и дальше все станет читаемо.
Supermax вне форума  
 
Непрочитано 06.12.2007, 15:57
#139
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


А что будет, если автор функции "упал в борщ"? Пропал, женился и жена ему родила 5 детей? Что делать с такой функцией?
Человек критикует, а автор забивает. Вот тут, критик жалуется "главному" и тот принимает решение. Модератор заменяет функцию на другую, или исключает ее из библиотеки. Все скачивают себе обновление и у них перестают работать макросы.

Кстати и редактирование старого варианта функции на более продвинутый может привести к такому финалу.


Кто главный?
.
.
.
.
.
.
Supermax вне форума  
 
Непрочитано 06.12.2007, 16:12
#140
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Что-то я поторопился. Кроме Kpblc-a никто функции-то не клал, да и раздел создан с его подачи.

Kpblc, ты главный! (и пока единственный член клуба).

Вот как главный, ответь, тебе не одиноко?

Что нужно сделать, чтобы стать членом клуба?

Сколько функций положить 1, 2, или 10? Сколько?

Поскольку ты выдаешь мандат на членство, огласи списочек тех, перед кем надо делать два раза КУ.

Если количество членов превысит 10 человек, придется формировать правление (человек пять, обязательно не четное число. Три - мало, 7 - уже много пять - самый раз).

Давай, давай! Не стесняйся!
Supermax вне форума  
 
Непрочитано 06.12.2007, 16:13
#141
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848


Supermax #139, есть другое предложение?
VVA, как ты думаешь, кто будет читать эти комментарии?
---
Добавлено: так, до 22:00 Мск я испаримшись. Supermax #140, ну что ты придумываешь, какой клуб? Вот, например, есть у тебя функция, которая рисует 3Д-полилинию в указанном слое, с указанными настройками (слой, тип и вес линии, цвет, координаты вершин, рисовать внутри пространства модели или внутри блока ну и тому подобное). Охота - публикуешь. Если функция получает "одобрямс", включается в библиотеку. Мало ли кому понадобится. Ну или, тоже как пример: построение дуги, соединяющей 2 отрезка (аналог fillet, только программный). Отрезки могут быть как физические, так и просто заданы парами координат начала и конца. "Одобрямс" -> в библиотеке. Нет - на доработку.
---
Добавлено 2: раздел появился не с моей подачи, а с подачи Apelsinov'a.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.

Последний раз редактировалось Кулик Алексей aka kpblc, 06.12.2007 в 16:20.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 06.12.2007, 16:13
#142
Alaspher


 
Регистрация: 11.10.2004
e•burg
Сообщений: 755


1. Не надо путать обсуждение и публикацию - форум с обсуждениями, это обычный форум, просто с несколько специфичными темами. Место публикации - не форум вообще - использовать можно и движок форума, но никаких "ответов" там быть не может - публикуется только функция, её описание и версии. Публикаторов может быть 2-3 человека, но врядли больше. Остальные пишут в обсуждении или в личку публикаторам.

2. Темы обсуждения функции и её публикации связываются кросслинками. Версии функции публикуются только дополнительными постами в ветке функции. Версии нумеруются единообразным способом (надо придумать и зафиксировать).

3. Никаких передач прав "по кругу" быть не может - софт, он либо полный фривар, либо - есть хозяин (юрлицо) и остальные клиенты. На основе публичности может создаваться только фри, остальные - в сад.

4. Механизм, для использования вне Веба (локальный пакет), предложил ShaggyDoc, его вполне достаточно.

5. Ключевым сейчас является то, кто готов выступать в роли публикаторов и кто будет собирать локальный пакет.

* В выхи надеюсь сесть за более подробные правила - со временем крутая засада.
Alaspher вне форума  
 
Непрочитано 06.12.2007, 16:35
#143
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


У Supermax' а кворума не оказалось.
Profan вне форума  
 
Непрочитано 06.12.2007, 16:37
#144
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848


Profan, это ты к чему?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 06.12.2007, 16:38
#145
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Alaspher, есть права, а есть обязанности. Обязанности подразумевают труд и ответственность. Если софт распространяется бесплатно и без ограничений, то это не значит, что у того, кто выполняет работу по его сопровождению не должно быть никакого интереса это делать.

Цитата:
На основе публичности может создаваться только фри
С рекламой, али без? Что, если у бесплатного харча реклама есть, то это уже не фри? А какого тогда корячиться с этим бесплатным и безынтересным сопровождением?

Цитата:
5. Ключевым сейчас является то, кто готов выступать в роли публикаторов и кто будет собирать локальный пакет.
И где гарантия, что эти публикаторы не «упадут в борщ»?

Тут еще не хватало призывов к всеобщему братству и равенству.

Утопия это называется – вот как!

Вы про мотивацию почитайте, да механизмы управления поизучайте. Текучесть кадров – неизбежный процесс, хоть фри, хоть хозяин. А механизм перехода где? По наследству? Так это уже не фри точно!

«Ходят ко-о-они над реко-о-ою,
Хочут ко-о-они водопо-о-ою, а,
К речке не идут,
больно Бе-ре-ег крут…..»


p.s. Вы не думайте, это уже самый конец песни, после того как конь прыгнул. Но синяя река оказалась глубока, однако.

Последний раз редактировалось Supermax, 06.12.2007 в 16:48.
Supermax вне форума  
 
Непрочитано 06.12.2007, 16:43
#146
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Profan, это ты к чему?
Да к тому, что он такую горячку развел, что уже и смысл темы трансформировался в регламентые проблемы.
Где хорошие функции?
Profan вне форума  
 
Непрочитано 06.12.2007, 16:46
#147
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Нету и не будет. В муравейник обратись, там порядку больше, может муравьи помогут.
Supermax вне форума  
 
Непрочитано 06.12.2007, 16:55
#148
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Kpblc #141

Ну ты и шельма!
Цитата:
Если функция получает "одобрямс", включается в библиотеку.
КТО ДАЕТ ОДОБРЯМС? КЕМ, БЛИН, ВКЛЮЧАЕТСЯ?

Цитата:
"Одобрямс" -> в библиотеке. Нет - на доработку.
КТО БУДЕТ ДОРАБАТЫВАТЬ, ЕСЛИ ОН УМЕР?

Цитата:
раздел появился не с моей подачи, а с подачи Apelsinov'a.
Верю, но открыл его ты. Да, в темах много людей мозгами скрипело, но должны же быть хоть какие-то правила! А если есть правила, то кто их утверждает и как? Ну не всеросийский же референдум устраивать!
Supermax вне форума  
 
Непрочитано 06.12.2007, 17:08
#149
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Alaspher #142

А-А-А! Я только сейчас понял, о каких правах ты беспокоишься.

"по кругу" передаются только обязанности и не более. Выскакивающая рекламка и право продажи этого места - вот единственная вещь, которую можно обозвать каким-то правом. А на саму библиотеку - чур меня, чур!
Supermax вне форума  
 
Непрочитано 06.12.2007, 19:29
#150
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381


Цитата:
Сообщение от Supermax Посмотреть сообщение
Кто главный?
Да ты. По "должности" и по флуду. Это уметь надо, столько словесного поносу изрыгать.

Пеши есчо, мы не будем мешать, перейдем в другое место. Главных всегда найдется, работников не хватает.
ShaggyDoc вне форума  
 
Непрочитано 06.12.2007, 19:48
#151
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


Мои предложения:

1. В первом посте созданной темы даются названия и краткие описания функций (для поисковиков). А также в виде архива прикладываются исходники. Дальше можно обсуждать, дополнять. По результатам обсуждения аттачмент в 1 посте обновляется с указанием даты и причины. В результате в 1 посте актуальная информация, кому интересно - читают дальше, нет - скачал и пользуйся.

2. Подходить "гибко" с созданию тем. Необязательно одна функция - одна тема. Думаю цеесообразнее создать тему "Функции работы со строками" (что и сделал) и публиковать там все эти функции с учетом п.1

3. Может и не прикладывать архив в п.1 если описывается одна функция?

4. В архив помещать функции вместе с деревом каталогов, например DwgRuLispLib->String->функции,DwgRuLispLib->Conv->функции(см пример здесь) . Чтобы при распаковке в папку они сразу размещались по полочкам.
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 06.12.2007, 20:06
#152
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


ShaggyDoc, ты всегда такой? Нет, ты скажи честно, я пойму, может помогу чем-нибудь? Это же надо, я предлагаю себя в качестве поработать, а мне говорят, что я "изрыгаю словесный понос".

Может ты мне ответишь за всех, можно рекламу вставлять в fas или нет? Умный ты наш!

Программисты, блин! Мужики смелые, да умелые, блин!

Что делать, если я по своим обстаятельствам не смогу дальше отслеживать изменения, кому передавать?

Пять человек не сошлись в общем мнении, кто решает, кого слушаться, БЛИН!

Слабо отвечать? Да? Лучше в функциях буковки местами переставлять, чем перед народом краснеть?

Демагоги! Общие фразы, тупые призывы к работе, к свободе всего от всего! Два раза перед народом хвостом повилял, умных мыслей поизрекал и смылся! А кто будет разгребать?

ShaggyDoc, для тебя лично, сообщаю, что я готов раз в два дня проверять специально созданную тему, где будут мне давать окончательные (на данный момент) версии функций и хелпы к ним, собирать их как договоримся (если договоримся) и заменять старые версии fas на новые. НО! только при условии, что в общем модуле не будет собранного lsp и в fas будет вставлена строка с рекламой, которую я могу продать.
Сколько времени я могу модераторствавать, культурный ты наш? А?
Supermax вне форума  
 
Непрочитано 06.12.2007, 22:57
#153
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848


Так, моя появилась
Народ, гасим эмоции, ага?
> #148 : критерием "одобрямс" служит отсутствие изменений либо внесение чисто косметических изменений в код. Пока таких тем по DwgRuLispLib всего 2.
> Supermax (вообще, без привязки к конкретному посту) : мне кажется, что пока поднимаются проблемы не совсем первоочередные. Кроме одной: преемственности кода. Неоспоримо, я думаю, что после того, как код внесен в библиотеку, по крайней мере количество параметров уже неизменно. В идеале - еще и тип тоже, но это уже не настолько критично.
> #151 : ИМХО все же надо оставлять все варианты. Лишним не будет. Кроме откровенно "провальных" тем, типа моей попытки нарисовать преобразование vla в список
===
В остальном пока от комментариев воздержусь. Есть предложение "подостыть".
===
Добавлю: сейчас делать готовый инсталл я что-то особого смысла не увидел - VVA выложил прилично функций. ИМХО надо подождать денек-два на "потестировать". Справку опять же рисовать надо... В общем, "слегка паузы"
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.

Последний раз редактировалось Кулик Алексей aka kpblc, 07.12.2007 в 00:18.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 08.12.2007, 23:15
#154
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,826


Вы решили все функции публиковать на форуме, да еще каждую в отдельной теме? Например у ShaggyDoc их 1728 штук, форум потянет? Или это только на обсуждение? То что появилось в разделе "Библиотека функций" это пока все функции или кто-то уже на компе коллекцию собирает? Как мне кажется начать надо с обработчика ошибок, объявления пространств, подгрузки vla-функций, альтернативы ent*, ss* функций... Об этом кстати уже говорилось.
Мне кажется очень четко заметил Елпанов Евгений
Цитата:
1 вариант - создание взаимосвязанной библиотеки функций. В этом случае, видимо, все пользователи этой библиотеки, сразу впадают в зависимость от нее, т.е. сейчас скачивают готовые функции, потом на новой версии автокада, они не работают, нужно либо долго ждать обновление от автора, либо самому разбираться в большом количестве чужого кода, причем взаимосвязанного...
2 вариант - создание библиотеки различных функций, которые полностью самостоятельны, могут быть подключены в любое место. В этом варианте, тонкое место - количество функций и возможности поиска. Я бы поддержал именно этот вариант.
Так как мы делаем первый вариант, то не стоит сильно заморачиваться над коментариями и заботится над тем чтобы кто-то смог вытащить нужную функцию, единственное что авторы должны договорится. Исходные тексты при этом можно даже и не выкладывать, по нормальному ими никто не воспользуется. FAS и справка - всё. И я уже смогу работать.
Krieger вне форума  
 
Непрочитано 08.12.2007, 23:27
#155
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848


Я собираю. Если без справки и только исходники - то хоть сейчас. Проблема именно в справке и комментировании.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 26.12.2007, 14:49
#156
BarbiЁ

блондинка
 
Регистрация: 27.11.2007
Планета Плюк 215 в центуре, галактика Кин-Дза-Дза
Сообщений: 25


Вот, зашла "в порядке надзора", а тут такое...

Цитата:
...Программисты, блин....
Цитата:
...Лучше в функциях буковки местами переставлять, чем перед народом краснеть?...
"Буковки переставляете, блин"!

Цитата:
Демагоги! Общие фразы, тупые призывы к работе, к свободе всего от всего! Два раза перед народом хвостом повилял, умных мыслей поизрекал и смылся! А кто будет разгребать?
Действительно, что "руководитель фирмы" будет "разгребать"? Вы же только "буковки переставляете". Напереставляли справку, примеры...

Вам же прямо указано:

Цитата:
...только при условии, что в общем модуле не будет собранного lsp и в fas будет вставлена строка с рекламой, которую я могу продать
Опаньки! Уже шкуру не тобой неубитого медведя продают!

[FONT=Arial]Вот так и знала, что подобным кончится!
[/FONT]
Цитата:
Вы про мотивацию почитайте, да механизмы управления поизучайте.
kpblc, про мотивацию почитал? "Механизмы" изучил?

Цитата:
BarbiЁ, мне жалко зубы
Мои на месте. За исключением, конечно, двух выбитых вражьей пулей. Но это не в счет, не на спор.

kpblc, а у тебя "пупок не развязался"? Может тему закроешь?

Как бы только узнать, где оно в реале такое, чтоб не наступить случайно...
__________________
Ох, как иногда хочется подумать!
BarbiЁ вне форума  
 
Непрочитано 26.12.2007, 14:53
#157
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848


Пупок у меня по другим задачам развязывается. Прихожу домой - и до ночи его обратно завязываю. Если (подчеркиваю - если!) без инсталлятора, неполная документация и не все лиспы нормально отформатированные - то хоть сейчас библиотеку отдам. Тупо не хватает времени на приведение "в установленный порядок".
---
Добавлено: дабы не быть голословным - забирайте кому интересно.
---
Добавлено 2: срочно куплю вазелин. Вагонами.
---
Добавлено 3: кто возьмется за работу типа "запостить код" (если, конечно, код устраивает)?
Вложения
Тип файла: rar DWGruLib_2007-12-26[15.12.54].rar (59.9 Кб, 340 просмотров)
Тип файла: rar DWGruLispLib-help_2007-12-26[15.13.04].rar (155.3 Кб, 312 просмотров)
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.

Последний раз редактировалось Кулик Алексей aka kpblc, 26.12.2007 в 19:39.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 26.12.2007, 21:27
#158
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


BarbiЁ, ты на меня не серчай. Просто ShaggyDoc меня достал. Не он, конечно, начал, но последней каплей послужил.
Затеяли серьезный проект, а все держится на соплях. Никто не хочет даже думать на тему, а кто собственно участвует в проекте? Я, конечно понимаю, что всем открыта дверь, но что-то все входят и выходят, входят и выходят. То ли принимают участие, то ли не принимают?
Постоянно слышны реплики типа "ой, очень много работы" и т.п. А за библиотекой нужен не просто уход, а уход регулярный, чтобы все, кто ею пользоваться собрался, видели, что она в серьезных руках и система обеспечивает ее обновление.
Kpblc конечно имеет широкую грудь и заткнуть ею может сразу пару амбразур, но что будет, если он захочет отдохнуть?
А библиотека будет расти и расти. Когда перевалит за 1000 функций, придется делить сопровождение уже на несколько людей, по разделам.

Про мотивацию:
Я не о себе думаю, а о деле. Тот кто делает работу, должен иметь право хоть как-то компенсировать свой труд. Хотя бы себя рекламировать. Тогда всегда будут желающие поработать и понятно почему. А так, я не уверен.

Правила нужны! А их принимать надо! А кто их будет принимать?

Да, я руководитель фирмы и что? Да, немного знаю лисп и тоже могу функции писать. Да, люблю халяву, но от работы не увиливаю. Но, как говорил Фигаро устами Миронова "трудолюбивый по необходимости и ленивый до самозабвения" и без стимула могу только спать. Про словесный понос может и есть немного, но тут я бился за организованность, а выходит пока только кружок по интересам.
Supermax вне форума  
 
Непрочитано 26.12.2007, 21:56
#159
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Вот сразу и посыпались вопросы:
Читаю из справки -
Цитата:
Первоначальный состав координаторов формируется из инициаторов создания DWGruLispLib
Кем формируется? Как формируется? Может лучше сначала разработчиков проекта собрать до кучи? И кого считать инициатором? (Kpblc, вот тут ты и попался )


Есть власть законодательная и исполнительная. Координатор это испонительная власть, а собрание, или как это в Интернете можно назвать... разработчиков - власть законодательная. Осталось только выяснить полный список разработчиков. Думаю, что одной функции в библиотеке мало для того, чтобы числится как разработчик.
Supermax вне форума  
 
Непрочитано 26.12.2007, 22:02
#160
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Чисто смешной вопрос:
Если один человек кладет функцию, но пишет, что она не его а другого человека, то кто получает статус разработчика?
Supermax вне форума  
 
Непрочитано 27.12.2007, 01:39
#161
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848


Значится так (Alaspher, ShaggyDoc, я вылезу вперед паровоза).
1. Правила сейчас на разработке. По ходу дела возникло несколько вопросов.
2. Работы действительно много.
3. Обновление системы - см.п.1
4. Разработчиком (участником разработки) проекта (ИМХО) будет считаться человек, опубликовавший свой код. В случае публикации стороннего кода человек выступает только как публикатор.
Сторонний код: код, претерпевший только косметические изменения (внесение / удаление комментариев, изменение имени функции). Так, например, для функций поиска файлов внутри каталогов я выступил как публикатор стороннего кода.
Свой код: код, написанный либо полностью самостоятельно и являющийся уникальным, либо на основе чужого (стороннего) кода с внесением изменений в алгоритм или логику работы. Такими изменениями считается, например, универсализация функции. Примером "своего кода" может служить комплекс преобразования значения в список, разработанный VVA.
Нижняя граница количества опубликованных и внедренных в проект функций отсутствует. Если опубликована и внедрена хотя бы одна функция, человек считается разработчиком или публикатором в соответствии с определениями, приведенными выше.
---
"Остапа понесло" (с)
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 27.12.2007, 07:03
#162
BarbiЁ

блондинка
 
Регистрация: 27.11.2007
Планета Плюк 215 в центуре, галактика Кин-Дза-Дза
Сообщений: 25


Ага! Сопоставив эти две странные фразы ("странные, если не сказать более"):

Цитата:
Пеши есчо, мы не будем мешать, перейдем в другое место
Цитата:
Значится так (Alaspher, ShaggyDoc, я вылезу вперед паровоза)
и подключив свои недюжинные аналитические возможности, я всё поняла - мужики явно ушли в подполье. В какой-нибудь "гараж".

Во дела! Раньше мужики уходили "в гараж", чтобы квасить там спокойно. А сейчас - чтобы втихаря "буковки переставлять"! Наверное все новогодние каникулы будут заниматься.

Ну что, правильно я вас вычислила? И адресочек разыщу, будьте уверены, не поленюсь в логах господина полковника поковыряться. Исключительно ради любопытства - мешать не буду.
__________________
Ох, как иногда хочется подумать!
BarbiЁ вне форума  
 
Непрочитано 27.12.2007, 08:22
#163
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848


BarbiЁ, 5 баллов!
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 27.12.2007, 10:11
#164
Елпанов Евгений

программист
 
Регистрация: 20.12.2005
Москва
Сообщений: 1,439
Отправить сообщение для Елпанов Евгений с помощью Skype™


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
4. Разработчиком (участником разработки) проекта (ИМХО) будет считаться человек, опубликовавший свой код. В случае публикации стороннего кода человек выступает только как публикатор.
Сторонний код: код, претерпевший только косметические изменения (внесение / удаление комментариев, изменение имени функции). Так, например, для функций поиска файлов внутри каталогов я выступил как публикатор стороннего кода.
Думаю, будет справедливо, для стороннего кода указывать первоначальное название программы, место, где взяли и имя автора.
Елпанов Евгений вне форума  
 
Непрочитано 27.12.2007, 10:17
#165
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848


Если эта информация осталась. Если нет - тогда, думаю, можно будет и указать "автор неизвестен, информация утеряна".
P.S. Коды исправлю.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 10.01.2008, 12:49
#166
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Хочу официально задать вопрос уважаемой публике.
Что делать, если функция написана с использованием dll? Например вот от сюда:
http://allo.usaaa.ru/workshop/sample...ns/sysfuns.htm
А чтобы ей воспользоваться использован макрос на VBA?
Библиотека вроде называется DwgRuLispLib, и с VBA и DLL библиотеками вроде не клеится? Или клеится?
Supermax вне форума  
 
Непрочитано 10.01.2008, 13:24
#167
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


С com серверами можно работать и из лиспа. Почитай http://www.arcada.com.ua/forum/viewtopic.php?t=460
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 13.01.2008, 12:51
#168
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Можно. Разобрался. Но вопрос был не об этом.
Повторяю.
AсtiveX завязана на dll. Как быть с функциями, которые требуют свои собственные dll или используют чужие, но не стандартные (из набора windows). Принимаются такие функции в библиотеку или нет? Если принимаются, то dll-ки как будут инсталироваться и распостраняться?

Где в конце концов место, в котором всегда лежит самая последняя версия библиотеки? Она уже гуляет по темам, а тут ничего не вижу.
Supermax вне форума  
 
Непрочитано 13.01.2008, 14:10
#169
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848


Цитата:
Сообщение от Supermax Посмотреть сообщение
Можно. Разобрался. Но вопрос был не об этом.
Повторяю.
AсtiveX завязана на dll. Как быть с функциями, которые требуют свои собственные dll или используют чужие, но не стандартные (из набора windows). Принимаются такие функции в библиотеку или нет? Если принимаются, то dll-ки как будут инсталироваться и распостраняться?

Где в конце концов место, в котором всегда лежит самая последняя версия библиотеки? Она уже гуляет по темам, а тут ничего не вижу.
ИМХО: для dll, не входящих в стандартную поставку Windows + AutoCAD (версии не ниже 2005), необходимо предоставлять исходный код (на каком бы языке она ни была написана - C++ / VB / Delphi / C# / VB.NET etc) и скомпилированную версию. Распространение dll вести только в стандартном установщике (соответственно вопрос инсталляции снимается).
.NET-dll, загружаемые по команде _.netload, пока "повисли в воздухе".
Лично у меня просто физически нет времени на прописывание полной справки и приведение кода в стандартный вид (а функций очень много). Стараюсь, конечно, выкраивать, но за все каникулы сесть нормально так и не удалось. Может, чего сегодня успею вечером. Если (подчеркиваю - если!) получится более-менее нормальный вид, сделаю в отдельной теме.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 13.01.2008, 15:31
#170
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Алексей, ну почему получилось, что ты теперь должен за всех делать эти описания? Почему ты должен что-то выкраивать?
Я понимаю, что хочется побыстрее напихать в библиотеку побольше нужных функций, но разгребать потом завал совсем нет ни времени, ни сил, ни настроения. Так надо либо все от туда вычистить и оставить только то, на что есть все данные и дальше уже по нормальному добавлять в библиотеку функции с описаниями, либо оставить так как есть и более того, продолжать кидать туда только сами функции, а описание их, а точнее редакцию информации возложить в отдельной теме и делать только по просьбе трудящихся силами самих трудящихся.

Убери из правил фразу, что библиотека технически не поддерживается. Это не правда. Форум DWGRU и есть эта техническая поддержка (пока ты жив ).
Supermax вне форума  
 
Непрочитано 27.06.2010, 23:51
#171
IrinaO


 
Регистрация: 27.05.2009
Сообщений: 36


А подать "неимущим" готовы? Под "неимущими" подразумеваю себя - практически чистого пользователя. Лисп освоить не смогла, а очень хочется усовершенствований. Например, много работы с длинами или площадями полилиний. А что, если эти значения сразу вносить в блок да еще и с именем каким-никаким. А дальше уже с этими значениями можно как белому человеку работать в Екселе. Лиспы на внесение длины или площади, но без номера блока есть. А что если несколько полилиний, например в одном слое и для каждой свой блок с идентификационным номером? ишь, размечталась!
Но может у кого-то есть наработки?
IrinaO вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Библиотека функций > Предложение: Готовые функции

Размещение рекламы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как связать две функции 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