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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Передача lsp со своими "базовыми" функциями

Передача lsp со своими "базовыми" функциями

Ответ
Поиск в этой теме
Непрочитано 24.11.2005, 10:55 #1
Передача lsp со своими "базовыми" функциями
Apelsinov
 
Проектировщик ВК. LISP-любитель.
 
Москва
Регистрация: 15.12.2003
Сообщений: 1,202

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

Как легко и просто передать ее так чтоб все работало?
Как я понимаю, есть два пути:

1. Передать всю базу.
2. Передать эту функцию только с теми "базовыми" , что в ней использованы.

По п.1:Как можно быстро и просто откомпилировать, или просто собрать все файлы в дирректории в один файл - lsp или fas или vlx

По п.2: Можно написать программку, которая прочитав файл lsp , будет искать там слова с префиксом, которые и будут нуужными функциями, и выдаст их список. Но тут много подводных камней.Может есть способ проще?
Просмотров: 3895
 
Непрочитано 24.11.2005, 11:02
#2
Alan

CAD
 
Регистрация: 28.08.2003
Киев
Сообщений: 1,834
<phrase 1=


Для передачи использую компилированный в VLX проект с ресурсами (DCL). Всё это доступно просто используя Vlisp.
И если там будет пара-тройка лишних модулей, то заказчик об этом не узнает.
Alan вне форума  
 
Непрочитано 24.11.2005, 11:06
#3
Кулик Алексей aka kpblc
Moderator

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


http://www.autocad.ru/cgi-bin/f1/board.cgi?t=22568ag
Посмотри, там Александр Ривилис arx выложил, может, поможет?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 24.11.2005, 11:31
#4
Apelsinov

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


Alan
Да мне в общем не жалко всей базы, пусть. И объем ее , тем более , в компилир. виде - не большой (пока - может быть). Но база постоянно меняется, поэтому создавать VLX придется каждый раз заново, а это совсем не удобно - сначала приходится создавать файл *.prj , затем vlx, и еще затем удалять созданные для каждого lsp -файлы fas.
Может я что-то не так делаю?

kpblc
Что-то до меня не доходит - как это мне может помочь...
Apelsinov вне форума  
 
Непрочитано 24.11.2005, 12:15
#5
Кулик Алексей aka kpblc
Moderator

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


> Apelsinov : Используя этот arx, можно фактически сделать prj-файл автоматом, а потом уже компилить. В "САПР на базе..." - там это вроде как рассмотрен еще один путь.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 24.11.2005, 15:12
#6
ShaggyDoc

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


Цитата:
Сообщение от Apelsinov
Alan
Да мне в общем не жалко всей базы, пусть. И объем ее , тем более , в компилир. виде - не большой (пока - может быть). Но база постоянно меняется, поэтому создавать VLX придется каждый раз заново, а это совсем не удобно - сначала приходится создавать файл *.prj , затем vlx, и еще затем удалять созданные для каждого lsp -файлы fas.
Может я что-то не так делаю?
Все очень просто.

Создаешь для своей библиотеки файл проекта. Он может объединять сколь угодно LSP-файлов. Но компилируется один результирующий файл - VLX или FAS. Его и передаешь.

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

Вот пример такого проекта:

Код:
[Выделить все]
;;; VLisp project file [V2.0] ru-lib-main saved to:[C:/.ru/_ruSource/Lisp/LIB/FAS] at:[2/15/04] 
(VLISP-PROJECT-LIST
  :NAME
  ru-lib-main
  :OWN-LIST
  (
"3d/ru-3dface-get-perimeter"
"3d/ru-3d-point-to-ax-point"
"3d/ru-3d-axonom-ent"
"3d/ru-3d-axonom-selection"
"3d/ru-3d-poly"
......
Тут еще тыща строк.
.....
"xref/ru-xref-path-by-short-name"
"xref/ru-xref-short-layer-name"
  )
  :FAS-DIRECTORY
  "c:/.ru/_ruInstall/cad/Shared/app"
  :TMP-DIRECTORY
  "tmp"
  :PROJECT-KEYS
  (:BUILD (:standard) :MERGED t :SAFE-MODE t :MSGLEVEL 2)
  :CONTEXT-ID
  :autolisp
) ;_ end of VLISP-PROJECT-LIST
Такой файл лучше всего редактировать вручную - быстрее. Не создавать каждый раз заново, а только изредка поправлять.

Результирующий FAS-файл 500 кб

А каждая прикладная программа - компилируется в отдельный файл. Или, если нравится, просто в LSP остается.

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

Библиотека загружается постоянно. Многие функции в ней и являются "программами", то есть вызываются из меню с аргументами.

Но C:ХХХ только одна.

Цитата:
сначала приходится создавать файл *.prj , затем vlx, и еще затем удалять созданные для каждого lsp -файлы fas.
Ничего этого делать не надо. PRJ создается один раз, VLX (FAS) автоматически. И удалять их не надо. Ими надо торговать. По спекулятивным ценам. Если делать VLX, а не просто FAS - себе хлопот больше. Хоть и ненамного.
ShaggyDoc вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Передача lsp со своими "базовыми" функциями