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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Ограничения размера кода на Lisp

Ограничения размера кода на Lisp

Ответ
Поиск в этой теме
Непрочитано 18.02.2019, 13:40 #1
Ограничения размера кода на Lisp
Massaraksh
 
Delphi, Assembler, PHP, VB, Lisp с 01.02.2019
 
Воронеж
Регистрация: 10.02.2019
Сообщений: 30

Есть ли ограничения размера кода на Lisp, и если есть, то какие?
Просмотров: 4688
 
Непрочитано 18.02.2019, 14:08
1 | #2
Кулик Алексей aka kpblc
Moderator

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


В принципе, нет. Есть ограничения на количество объявляемых defun, progn внутри одного lsp (кажется, их должно быть не больше 255. Может, 256 - точно не помню). И внутри одного progn должно быть не больше 255 действий вроде бы. А так - хоть километровый код пиши, сам потом в нем разбираться будешь
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 18.02.2019, 14:10
#3
Massaraksh

Delphi, Assembler, PHP, VB, Lisp с 01.02.2019
 
Регистрация: 10.02.2019
Воронеж
Сообщений: 30


Ясно, спасибо.
Massaraksh вне форума  
 
Непрочитано 18.02.2019, 14:27
#4
trir


 
Регистрация: 18.12.2010
Сообщений: 5,051


лучше использовать dotNET, раз задаёщь такие вопросы
trir вне форума  
 
Автор темы   Непрочитано 18.02.2019, 14:39
#5
Massaraksh

Delphi, Assembler, PHP, VB, Lisp с 01.02.2019
 
Регистрация: 10.02.2019
Воронеж
Сообщений: 30


Не лучше.
Massaraksh вне форума  
 
Непрочитано 18.02.2019, 14:44
#6
trir


 
Регистрация: 18.12.2010
Сообщений: 5,051


Цитата:
Не лучше.
лучше, в Visual Studio у тебя не будет таких вопрсов
можно использовать готовые библиотеки с github'а
и навигация по коду сильно лучше
trir вне форума  
 
Непрочитано 18.02.2019, 14:53
| 1 #7
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,039


Offtop:
Цитата:
Сообщение от Massaraksh Посмотреть сообщение
Не лучше.
Ясень пень, что пространства, классы, регионы, xml-комментарии, возможность посмотреть код других функций прямо на месте без лишних перемещений и т.п. (что доступно и в бесплатных студиях) - будут только мешать при большом количестве кода)
Сергей812 вне форума  
 
Непрочитано 18.02.2019, 16:28
#8
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,702
Отправить сообщение для Do$ с помощью Skype™


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Есть ограничения на количество объявляемых defun, progn внутри одного lsp (кажется, их должно быть не больше 255. Может, 256 - точно не помню). И внутри одного progn должно быть не больше 255 действий вроде бы.
Серьёзно? Надо же - ни разу не сталкивался! Есть где-нибудь официальная инфа на эту тему? Или на личном опыте определено?
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic)
Do$ вне форума  
 
Автор темы   Непрочитано 18.02.2019, 16:29
#9
Massaraksh

Delphi, Assembler, PHP, VB, Lisp с 01.02.2019
 
Регистрация: 10.02.2019
Воронеж
Сообщений: 30


Цитата:
Сообщение от trir Посмотреть сообщение
лучше, в Visual Studio у тебя не будет таких вопрсов
можно использовать готовые библиотеки с github'а
и навигация по коду сильно лучше
Дело не в этом.
Не на всех компьютерах, где это будет использоваться, есть .NET
И поставить - большая проблема (организационная).
Massaraksh вне форума  
 
Непрочитано 18.02.2019, 16:32
#10
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,039


Цитата:
Сообщение от Massaraksh Посмотреть сообщение
Дело не в этом.
Не на всех компьютерах, где это будет использоваться, есть .NET
И поставить - большая проблема (организационная).
Т.е. у вас на рабочих местах не только Windows, но и другие операционные системы присутствуют?
Сергей812 вне форума  
 
Автор темы   Непрочитано 18.02.2019, 16:36
#11
Massaraksh

Delphi, Assembler, PHP, VB, Lisp с 01.02.2019
 
Регистрация: 10.02.2019
Воронеж
Сообщений: 30


Нет, только Windows. Но в диапазоне от XP до 10. И от Калининграда до Чукотки.
Massaraksh вне форума  
 
Непрочитано 18.02.2019, 16:41
#12
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,039


И вы думаете, что в XP нет фреймворка .Net?
Сергей812 вне форума  
 
Автор темы   Непрочитано 18.02.2019, 16:47
#13
Massaraksh

Delphi, Assembler, PHP, VB, Lisp с 01.02.2019
 
Регистрация: 10.02.2019
Воронеж
Сообщений: 30


Я с .net не работал, слабо его представляю. Хотите ли вы сказать, что программа, написанная на .net сразу заработает на произвольном компьютере с Windows без установки каких-либо дополнительных модулей?
Massaraksh вне форума  
 
Непрочитано 18.02.2019, 17:16
1 | #14
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,039


Цитата:
Сообщение от Massaraksh Посмотреть сообщение
Хотите ли вы сказать, что программа, написанная на .net сразу заработает на произвольном компьютере с Windows без установки каких-либо дополнительных модулей?
Если на компе установлен .Net не ниже той версии - под которую собрана программа, то с вероятностью 99% да. 1% - если были использованы сторонние библиотеки.

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

----- добавлено через ~4 мин. -----
а акад не установится, если не будет определенной версии .Net. Поэтому при написании программы всегда можно рассчитывать, что на компе сотрудника будет установлена хотя бы клиентская часть .Net не ниже необходимой для работы самого акада версии.
Сергей812 вне форума  
 
Автор темы   Непрочитано 18.02.2019, 17:49
#15
Massaraksh

Delphi, Assembler, PHP, VB, Lisp с 01.02.2019
 
Регистрация: 10.02.2019
Воронеж
Сообщений: 30


Изучение .NET займёт время. А мне надо достаточно быстро. Задача состоит в том, чтобы на основании данных из Excel-файла построить в Acadе схему разреза скважины. Сначала я сделал так: на Delphi написал программу, которая формирует dxf-файл, и вроде бы это получилось. Но по мере увеличения числа элементов пошли какие-то сбои в структуре dxf, и в эти дебри забираться нет времени.
Миниатюры
Нажмите на изображение для увеличения
Название: Screenshot_5.png
Просмотров: 42
Размер:	95.7 Кб
ID:	211087  Нажмите на изображение для увеличения
Название: Screenshot_6.png
Просмотров: 41
Размер:	83.1 Кб
ID:	211088  Нажмите на изображение для увеличения
Название: Screenshot_1.png
Просмотров: 42
Размер:	45.2 Кб
ID:	211089  Нажмите на изображение для увеличения
Название: Screenshot_2.png
Просмотров: 37
Размер:	84.0 Кб
ID:	211090  
Massaraksh вне форума  
 
Непрочитано 18.02.2019, 17:49
1 | #16
Vov.Ka


 
Регистрация: 21.07.2008
Луцьк
Сообщений: 179


Цитата:
Сообщение от Do$ Посмотреть сообщение
Или на личном опыте определено?
https://www.theswamp.org/index.php?topic=48883.0
Vov.Ka вне форума  
 
Непрочитано 18.02.2019, 17:57
1 | 1 #17
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,039


Цитата:
Сообщение от Massaraksh Посмотреть сообщение
Задача состоит в том, чтобы на основании данных из Excel-файла построить в Acadе схему разреза скважины.
а почему не через COM прямо из кода VBA экселя строить в акаде? Если с поздним связыванием - там от разрядности и версии акада не будет зависеть
Сергей812 вне форума  
 
Автор темы   Непрочитано 18.02.2019, 18:03
1 | 1 #18
Massaraksh

Delphi, Assembler, PHP, VB, Lisp с 01.02.2019
 
Регистрация: 10.02.2019
Воронеж
Сообщений: 30


Да много вариантов. Последнее, до чего я додумался - это формировать код autolisp прямо из Delphi - переделки будут минимальные. Потому и спросил про размер lsp-файлов.
Massaraksh вне форума  
 
Непрочитано 18.02.2019, 18:09
1 | 1 #19
ShaggyDoc

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


Цитата:
Сообщение от Do$ Посмотреть сообщение
Серьёзно? Надо же - ни разу не сталкивался! Есть где-нибудь официальная инфа на эту тему? Или на личном опыте определено?
Я тоже такого не встречал. У меня в резидентной LISP-библиотеке около 3 тыс. определений функций. Всё загружается, все работает.

Вот в самых ранних версиях (AutoCAD R10) были некоторые естественные ограничения из-за мизерного объема памяти, доступной в MS-DOS. Тогда приходилось заниматься некоторыми ухищрениями по перераспределению памяти. Еще и имена функций и переменных применять длиной не более 6 символов. Уже для r12 это перестало быть актуальным.

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

У меня выработана система - каждая функция в отдельно файле. Причем каждый лежит в определенном месте в системе каталогов. Вот фрагмент
Цитата:
\lib-3d\3d\geom\point\ru-3d-point-by-2-points-and-dist.lsp
\lib-3d\3d\geom\point\ru-3d-point-by-2-vectors-and-2-dist.lsp
\lib-3d\3d\geom\point\ru-3d-point-by-point-2-vectors-and-dist.lsp
\lib-3d\3d\geom\point\ru-3d-point-by-point-vector-and-dist.lsp
\lib-3d\3d\geom\point\ru-3d-points-box.lsp
\lib-3d\3d\geom\point\ru-3d-vector-by-point-and-vector.lsp
\lib-3d\3d\geom\ru-3d-point-0.lsp
\lib-3d\3d\geom\ru-3d-proect-point-on-plane.lsp
\lib-3d\3d\geom\ru-3d-tolerance.lsp
\lib-3d\3d\geom\vector\ru-3d-direction-test-normal.lsp
\lib-3d\3d\geom\vector\ru-3d-is-vectors-normal.lsp
\lib-3d\3d\geom\vector\ru-3d-two-vector-product.lsp
\lib-3d\3d\geom\vector\ru-3d-two-vector-scalar.lsp
\lib-3d\3d\geom\vector\ru-3d-vector-by-2-points.lsp
\lib-3d\3d\geom\vector\ru-3d-vector-normal-to-plane.lsp
\lib-3d\3d\geom\vector\ru-3d-vector-normal-to-vector.lsp
\lib-3d\3d\geom\vector\ru-3d-vector-normalize.lsp
\lib-3d\3d\get\ru-3d-dlg-get-point-by-vector-dist.lsp
\lib-3d\3d\get\ru-3d-dlg-get-vector.lsp
\lib-3d\3d\get\ru-3d-get-normal-direction.lsp
\lib-3d\3d\get\ru-3d-get-point-or-continue-or-exit.lsp
\lib-3d\3d\get\ru-3d-get-point-or-continue-or-exit-for-valves.lsp
\lib-3d\3d\get\ru-3d-get-point-or-hide-exit.lsp
\lib-3d\3d\get\ru-3d-get-point-with-last-vector.lsp
\lib-3d\3d\get\ru-3d-get-two-points-and-normal.lsp
\lib-3d\3d\get\ru-3d-get-two-points-and-normal-for-valves.lsp
\lib-3d\3d\get\ru-3d-get-two-points-and-normal-with-last-vectors.lsp
А сборка всех функций в один FAS-файл осуществляется с помощью файла проекта .prj. В Автокад загружается FAS.
ShaggyDoc вне форума  
 
Непрочитано 18.02.2019, 18:23
1 | #20
CalcProg


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


http://imolodec.com/ace-articles/avt...shchi-skriptov - пример файла сценария.
из делфи можно вызвать автокад с передачей в качестве параметров файла сценария.
http://www.delphisources.ru/pages/fa...exec_apps.html - пример вызыва внешней программы из делфи.

Последний раз редактировалось CalcProg, 18.02.2019 в 18:30.
CalcProg вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Ограничения размера кода на Lisp

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Какой язык перспективен для инженера-конструктора с условием The_Mercy_Seat Программирование 705 17.03.2021 14:19
Вызов lisp файла из програмного кода? iiscienceii LISP 5 11.09.2014 08:07
LISP. Чтение величины выделенного параллельного размера и запись в его текстовую строку (свойства этого размера). Джаз LISP 8 20.08.2012 23:42
Как извлечь суффикс из размера? (LISP) Xara LISP 9 03.02.2012 14:37
LISP. Проверьте пожалуйста правильность написания кода Pavel_GP LISP 3 03.10.2011 15:54