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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Загрузка LISP из текста DWG-файла

Загрузка LISP из текста DWG-файла

Ответ
Поиск в этой теме
Старый 28.11.2023, 14:23
Загрузка LISP из текста DWG-файла
Ingpro
 
Регистрация: 11.07.2022
Сообщений: 775

Решение см. пост #30.
Возможно ли с помощью лисп загружать (выбранный в файле DWG) текст с названием лиспа и сразу быть в команде.
Т.е. так: у меня в файле DWG есть тексты с названием лиспов, я кликаю по тексту, не выделяя его,
и лисп с таким названием загружается (из папки Support) и команда активна. Просто есть лисп-программы, которыми не часто пользуешься, поэтому нет смысла добавлять их а в автозагрузку, а так по мере надобности загружать, по-моему, удобно...
Просто таких лиспов много и надо каждый раз - ЗАГПРИЛ, потом скопировать название команды, потом
вставить в командную строку... И даже, если все лиспы в автозагрузке - зайти в папку, скопировать
название команды, потом - в командную строку...

Последний раз редактировалось Ingpro, 07.01.2024 в 09:03.
Просмотров: 2418
 
Непрочитано 29.11.2023, 22:08
#21
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от kp+ Посмотреть сообщение
Но нельзя ли все мелкие редко используемые лиспы скомпилировать в один файл fas
Самое главное не упереться в ограничение файла проекта в 64 кб )
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 29.11.2023, 22:15
#22
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,194


Цитата:
Сообщение от Ingpro Посмотреть сообщение
Может и можно, но я не знаю как...
Все меню "проект" лисп-редактора к вашим услугам.
Создать новый проект, в свойствах добавить к нему все нужные файлы, собрать компилированный fas файл.

Offtop: Почти как засунуть бегемота в холодильник: открыть холодильник, засунуть бегемота, закрыть холодильник


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Самое главное не упереться в ограничение файла проекта в 64 кб )
Для "30-40" мелких lsp-файлов это вряд ли случится. Разве что их будет 30-40 тысяч. Но такого даже в полной версии ruCAD не было, кажется
kp+ вне форума  
 
Непрочитано 29.11.2023, 22:19
#23
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от kp+ Посмотреть сообщение
Все меню "проект" лисп-редактора к вашим услугам.
Создать новый проект, в свойствах добавить к нему все нужные файлы, собрать компилированный fas файл.
Просто так не получится: редактор после закрытия принудительно обрубает файл описания проекта, если он хотя бы на байт превышает 64 кб. И проект становится некомпилируемым.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 29.11.2023, 22:26
#24
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,194


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

Последний раз редактировалось kp+, 29.11.2023 в 22:51.
kp+ вне форума  
 
Автор темы   Непрочитано 29.11.2023, 22:34
#25
Ingpro


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


Цитата:
Сообщение от kp+ Посмотреть сообщение
в свойствах добавить к нему все нужные файлы
Можно пример из одной строчки? В каком виде это должно быть.
Ingpro вне форума  
 
Непрочитано 29.11.2023, 22:47
#26
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,194


Тут одной строчкой не обойдешься, картинки надо. Если просто ради интереса поклацать пункты меню не хотите.
Сейчас не возле компа с акадом, не с чего делать снимки экрана.
Но в хелпе вроде нормально написано;

https://help.autodesk.com/view/OARX/...4-B9774B961F3C

Последний раз редактировалось kp+, 29.11.2023 в 22:54.
kp+ вне форума  
 
Непрочитано 29.11.2023, 23:45
#27
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от kp+ Посмотреть сообщение
И сколько исходных файлов надо, чтоб достичь этого предела? В нем же просто перечень исходных файлов с какими-то служ. пометками, указаниями по компиляции, так?
Понимаю, что на серьезном большом проекте этот файл теоретически может разрастись, но здесь не тот масштаб.
Опять же, при многотысячном количестве исходников будет играть роль даже длина пути к файлам, а при нескольких десятках - хоть в "мои документы" положи, не страшно.
Мое дело предупредить С другой стороны, не сильно сложно написать загрузчик всего и вся, и положить его в mnl
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 30.11.2023, 08:08
#28
name02


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


Цитата:
Сообщение от Ingpro Посмотреть сообщение
А если из кода убрать макросы и прописать путь к папке Support, это сработает?
Не сработает, так как пока lisp-файл не загружен в автокад, то соответственно автокад ничего про него не знает - команда T2M будет для него будет бессмысленна.
Можно не писать полный путь к файлу, если файл лежит в путях поддержки. Но имя файла все равно нужно писать:
Код:
[Выделить все]
 (cons
 "T2M" ;"псевдоним" - текст, который содержится в мультитексте
 (cons
  "t2M"	;имя команды, которая запускает макрос из файла, лежащего в путях поддержки
  "Text2MTextV2-0.lsp"
 ) ;_ END_OF cons
) ;_ END_OF cons

Последний раз редактировалось name02, 30.11.2023 в 08:13.
name02 вне форума  
 
Автор темы   Непрочитано 30.11.2023, 09:30
#29
Ingpro


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


Цитата:
Сообщение от name02 Посмотреть сообщение
Можно не писать полный путь к файлу, если файл лежит в путях поддержки
Спасибо, name02, Ваш код наиболее близок для моей задачи... Буду пробовать разные варианты...

Последний раз редактировалось Ingpro, 06.01.2024 в 22:18.
Ingpro вне форума  
 
Автор темы   Непрочитано 05.01.2024, 11:49
#30
Ingpro


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


Ответили на форуме cadtutor , спасибо Lee Mac! Лисп "ctext" во вложении.
https://www.cadtutor.net/forum/topic...g-and-pasting/

То есть теперь появилась возможность вставить (просто кликнуть по тексту) свою команду загрузки лисп в командную строку типа:
Код:
[Выделить все]
 (_autoload "Setka")(c:Setka)
Я ставлю лисп Lee на цифру 1 (например) в acad.pgp:
1, *ctext
и загрузка лисп-команды происходит в 2 клика, и команда сразу активна, и лисп не добавлен в автозагрузку.
Это особенно удобно (IMXO) для многофункциональных лиспов, таких как "PLTOOLS", "bgtools 3.12a", "SumT",
в которых множество разных команд для вызова. Мне, к примеру, оттуда надо 3-5 команд и я их записываю в виде:
Код:
[Выделить все]
 (_autoload "PLTOOLS")(c:PL-L2A)
Код:
[Выделить все]
 (_autoload "PLTOOLS")(c:MPL)
Для "bgtools 3.12a" такая запись не работает (не знаю причину),
работает такая строка с вызовом:
Код:
[Выделить все]
 (if (not c:bgtools 3.12a) (load "bgtools 3.12a.lsp" nil)) (if c:BGBLCC (c:BGBLCC))
такого же типа строки нужно применять для файлов с расширением (.fas) и (.vlx), например (также благодарность Lee Mac!) :
Код:
[Выделить все]
 (if (not c:dimtext_bgmask) (load "dimtext_bgmask.fas" nil)) (if c:dimtext_bgmask (c:dimtext_bgmask))
Я могу в своем файле .dwg или шаблоне .dwt создать сколько угодно строчек для вызова лисп-команд,
при этом я освобождаю автозагрузку.
Вложения
Тип файла: lsp ctext.lsp (626 байт, 6 просмотров)

Последний раз редактировалось Ingpro, 06.01.2024 в 17:51.
Ingpro вне форума  
 
Непрочитано 05.01.2024, 12:00
| 1 #31
Кулик Алексей aka kpblc
Moderator

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


И на что только люди не пойдут... Сделать собственное меню с mnl-файлом не судьба? И заставить mnl грузить сколько угодно приложений откуда угодно?Это же не нанокад, тут все элементарно.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 05.01.2024, 13:39
#32
Ingpro


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Сделать собственное меню с mnl-файлом не судьба?
...mnu, cui... Загрузка/выгрузка работает нестабильно...

Последний раз редактировалось Ingpro, 18.02.2024 в 10:15.
Ingpro вне форума  
 
Непрочитано 05.01.2024, 15:44
#33
Кулик Алексей aka kpblc
Moderator

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


У меня подобная схема, правда, доработанная до относительного ума, корректно работает на 2013, 2016, 2018 - 2021 независимо от локализации.
Все эти mnu, cui, cuix - это головняк? Ну если не попробовать ни разу то естественно.
Слетают панели? wsautosave.
Никогда не знаешь что произойдет? Ну при такой конкретике, конечно, ничего не скажешь.
Загрузка / выгрузка работает нестабильно? Угу, ага, конечно. Типа оно будет гарантированно работать при подходе "че-то сделать на основании текста". Да я тебе механизм порушить смогу в 5 секунд, тупо добавив в многострочник форматирование.
В общем, если человеку сильно хочется геморроя, тут я бессилен.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 05.01.2024, 15:46
#34
1958


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


Цитата:
Сообщение от Ingpro Посмотреть сообщение
Все эти mnu, cui, cuix - это головняк. Загрузка/выгрузка работает нестабильно, часто выдает ошибку 404, да ещё и панели слетают,
никогда не знаешь, что произойдет... Возможно это зависит от локализованной версии, у меня AutoCAD 2015 rus...
Прошу прощения, но это чушь собачья! Загружать лиспы через задницу текст в чертеже - это, конечно, очень мудро и изящно. Lee Mac, наверно долго смеялся на вашими потугами, и в конце концов, сжалившись, накопал код. Я следил за этой темой на cadtutore, там неоднократно вам предлагали вариант с меню. Но хозяин-барин, ему надо, как он сказал.
1958 вне форума  
 
Непрочитано 08.01.2024, 12:36
#35
zenon

Остекляем!!! Алюминим!!!
 
Регистрация: 21.02.2005
Москва
Сообщений: 3,925
<phrase 1=


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
У меня подобная схема, правда, доработанная до относительного ума, корректно работает на 2013, 2016, 2018 - 2021 независимо от локализации.
Все эти mnu, cui, cuix - это головняк? Ну если не попробовать ни разу то естественно.
Слетают панели? wsautosave.
Никогда не знаешь что произойдет? Ну при такой конкретике, конечно, ничего не скажешь.
Загрузка / выгрузка работает нестабильно? Угу, ага, конечно. Типа оно будет гарантированно работать при подходе "че-то сделать на основании текста". Да я тебе механизм порушить смогу в 5 секунд, тупо добавив в многострочник форматирование.
В общем, если человеку сильно хочется геморроя, тут я бессилен.
Ну почему, вполне может быть, особенно если у юзера на базе Autocad полный зоопарк (вертикалки, навески, расширения и прочая).
Один СПДС графикс чего стоит со своими постоянными изменениями настроек и системных переменных.
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:
zenon вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Загрузка LISP из текста DWG-файла



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузка библиотеки LISP команд в AutoCAD Browning Zed LISP 9 14.04.2023 12:37
LISP. Префикс, суффикс , замена текста мультивыноски gizmo_zx LISP 2 30.12.2021 15:36
Создание текста Lisp из Delphi GVlad_2021 LISP 5 04.01.2021 09:30
Импорт текста по координатам из файла uamihanik Программирование 7 09.12.2013 17:07
Можно ли каким-то образом выцепить имена слоёв файла в виде обычного текста? deema AutoCAD 3 18.09.2013 12:20