|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Как получить скопированных(вставленны) набор примитивов?
Регистрация: 30.03.2015
Сообщений: 153
|
||
Просмотров: 2369
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,405
|
А откуда код будет знать, какие примитивы "скопированы", а какие "нет"? Чисто теоретически можно написать свою обработку: получить послдений примитив entlast, выполнить команду, и потом через entnext получать все примитивы и засовывать их хоть в набор, хоть в список.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
либо, например, через события - но не уверен, что на лиспе будет без подтормаживаний работать при заметном количестве объектов
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,405
|
В этом контексте что события, что реакторы - те же Фаберже, вид сбоку ИМХО.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 30.03.2015
Сообщений: 153
|
Я про это думал (про реакторы, события - не ахти (компиляция почти на каждую версию акада или через 3) //иногда приходится менять версию акада) => но решил спросить, вдруг есть более тривиальное решение, но просто не знаю...
Последний раз редактировалось prajdziswet, 25.01.2024 в 08:53. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,405
|
С чего вдруг уверенность, что "надо пересобирать"? Если лисп - то не надо. Если NET - то далеко не факт что понадобится.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,680
|
Я пользуюсь вот этим кодом. Когда-то давно нашёл основу тут, на форуме, переделал под свои нужды. Загружаем лисп в автозагрузку, активируется реактор. Реагирует он на команды, создающие новые объекты, а после завершения этих команд добавляет в переменную набор новых объектов. Подсветить новые объекты нужно командой GNS (или GET-NEW-SELECT). Думаю, должно подойти.
Код:
|
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Цитата:
Причем 100% гарантии, что лисп код будет работать на всех версиях акада без доработки - тоже нет. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,405
|
Offtop: Скажем так, я не могу гарантировать, что код сработает, если пользователь руками вызовет соответствующую команду в английском каде и на нижнем регистре.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 30.03.2015
Сообщений: 153
|
Цитата:
- Насчет лиспа у меня больше уверености, мои файлики миниум по 10 год отработали, да тут реакторы - есть нюансы (очистка чертежа, отработка и т.д)...- но мне большая уверенность в лиспе, что я столкнусь с проблемой перекомпиляции и т.д ----- добавлено через ~8 мин. ----- Спасибо, остальное дело техники - можно еще почистить (например взрыв, изменение - набор можно получить (ssget "_p"), т.е не на все команды вешать).+ добавить проверку == но как говорю тут уже дело техники... Спасибо Последний раз редактировалось prajdziswet, 26.01.2024 в 10:59. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,405
|
Сказанное не есть правда на 100%.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Offtop:
Цитата:
А .Net - это сборки в промежуточном байт-коде CIL (MSIL), которые при загрузке в акад разворачиваются для исполнения в виртуальной машине. И за счет обратной совместимости .Net как раз .Net надстройка имеет определенные шансы в виде запуска старой версии сборки на новых версиях акада с новой версией ядра. Если, конечно, в коде не используются специфические вещи типа того же экспорта функций. |
|||
![]() |
|
||||
Регистрация: 15.11.2007
Сообщений: 40
|
Может это поможет:
https://dwg.ru/b/klisp/397 |
|||
![]() |
|
||||
Регистрация: 30.03.2015
Сообщений: 153
|
Давно писал для автокада на Net и не совсем прозрачно выразился, может так лучше будет "для лучшей совместимости придется почти на каждый год перекомпелировать сборку". == блин ито коряво, Алексей правильно написал: "Сказанное не есть правда на 100%"...
Смысл в том, что на лиспе у тебя команда ssget сработает и в 10 и в 20 автокаде, да есть нюансы, типа какая версия руская, англиская и т.д -но это можно сказать не существенно (относительно минимальные), по сравнению с с++ и net. 1) нэт зависит от целевой версии нэт автокада (т.е ты не можешь написать для автокада 2020 под версию net 3.0) 2) ты подгружаешь в свою сборку различные библиотеки автокада (типа mgd.dll...), вопрос как их подгружать??? - если просто без копирования (то тогда у тбя явно подгружается путь, я незнаю как подгрузить чтобы оно подтягивало различные без динамической загрузки и рефлексии) - если с копированием, тогда ты точно не можешь гарантировать, что оно адекватно сборка mgd.dl 2012(автокада) отработает в автокаде 2014 - если динамическая и с рефлексией, то тебе чуть ли все клаcсы и функции автокада(что используешь) надо переопределять //(да возможно - я все незнаю(я любитель, а не професионал в том же Net), есть подгрузка типа в строке using (но я такую не знаю и ты все равно не решишь "1", мне кажется - но оно ругалось и недавало собрать (возможно ошибаюсь по 1)) 3) если у тебя один файл на лиспе условно и 10 на Net (ну пусть 4), что лучше? - да я понимаю, когда ты не можешь с базой данных sql работать напрямую через автолисп или удобства в написании...=> да теоретически все можно, но если тебе при этом надо пройти через 10 костылей, то выбор по мне очевиден Последний раз редактировалось prajdziswet, 31.01.2024 в 08:33. |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Цитата:
Ну и для размышлений - тыц и собственно от Ривилиса Александра - тыц (там ругается на сертификат - просто Аутодеск не стал выдавать новый). |
|||
![]() |
|
||||
Регистрация: 30.03.2015
Сообщений: 153
|
Цитата:
Что то типа такого, но это от версии Net: Код:
Код:
Я незнаю, как это сделать (может и можно - интересно как, для общего развития - может и Алексей подскажет..), но возникает риторический вопрос - стоит извращаться?! - если можно написать на лиспе, например как skkkk пример привел (да отредактировать, причесать...\\ но по мне условно меньше гемороя (различных зависимостей, непредвиденных ошибок и т.д )) _________________ п.с БЛАГОДАРЮ (огромное спасибо), всем кто подсказывал Последний раз редактировалось prajdziswet, 31.01.2024 в 08:37. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,405
|
Цитата:
Цитата:
Цитата:
ИМХО стоит.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,611
|
Offtop: тут аккуратнее нужно быть. В версии 2025 обещают переход с .NET Framework 4.8 на .NET Core, с обновлением версии C# с 6 на 12... что то я не уверен, что версии dll под 2021-2024 будут работать на 2025.
|
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Получить цифровую модель комнаты из dwg | gizmo_zx | Программирование | 12 | 30.11.2019 14:32 |
Получение координат примитивов в Регионе (AcadRegion), C# | AkaPaul | Программирование | 6 | 14.05.2010 22:22 |
Быстро получить Набор объектов попадающих в Сферу | [N.S] | Программирование | 10 | 09.08.2009 11:04 |
Выбор всех примитивов одним кликом | DANZZ | AutoCAD | 5 | 12.08.2006 17:49 |