Библиотека пользовательских функций AutoLISP/VisualLISP
Как-то поднадоело постоянно при публикации кодов на любом форуме приводить свои функции. Оставлю здесь.
Ссылка на GitHub: https://github.com/kpblc2000/KpblcLispLib
Да, я понимаю, что в тайминг я попал - ну вот прям по полной программе. И вряд ли будет пользоваться хоть какой-то популярностью. Ну а вдруг?
И не надо мне писать в почту с просьбами дополнить / доработать / разработать какие-либо лиспы - у меня и так работы хватает. А у вас есть хоть какие-то инструменты, чтобы разработать свое. И поменьше изобретать велосипеды.
Далее
Хранение пользовательских типов данных. Часть 3.3. Реестр.
На данный момент уже рассмотрены варианты хранения данных в файлах: и dat, и ini. Такой метод хранения оправдан, например, для каталогов (как пример можно рассмотреть программу "Прокат" В.Кондрата, которую достаточно долго и успешно модифицировали участники dwg.ru); или для небольших порций достаточно редко меняющихся данных.
А как быть, если данные, к примеру, должны еще и относиться к определенному профилю AutoCAD? Не, можно, конечно, организовать отдельный каталог с именем профиля, где и хранить соответствующие настройки, или еще как-то извернуться. В некоторых случаях подобное решение оправдано, но за ради интересу сходим иным путем и рассмотрим хранение данных в реестре.
Далее
Хранение пользовательских типов данных. Часть 3.2. ini-файлы.
Продолжаем разговор, начатый здесь и продолженный в части 3.1.
Далее
Хранение пользовательских типов данных. Часть 3.1. Хранение в файлах.
Как и было обещано в предыдущей части, начинаем разбор методов хранения данных. Уже с примерами
Далее
Хранение пользовательских типов данных. Часть 3. Данные между сессиями AutoCAD.
Достаточно интересная, мне кажется, тема. Что можно (и, самое главное - нужно!) хранить между сессиями AutoCAD'a?
Далее
Хранение пользовательских типов данных. Часть 2. Данные между документами
Как было обещано здесь, сейчас поговорим о данных, хранимых внутри сессии AutoCAD'a. В принципе, все просто и незатейливо (если есть понимание, зачем это надо ;))
Далее
Хранение пользовательских типов данных. Часть 1. Данные внутри документа
Как я обещал, первая часть. Касается данных, требуемых в контексте только текущего документа. Текста будет немного (наверное).
Далее
Хранение пользовательских типов данных. Начало.
Рано или поздно возникает сильное желание какие-то данные сохранить. Про это и поговорим.
Возможно, получится чуть ли не цикл, так как вариантов приличное количество
Далее
Программная очистка файла в NC 23-23.1
Столкнулся со странной работой стандартного PurgeAll в файлах с внешними ссылками. Если во внешней ссылке есть линии с пользовательскими типами линий, можно словить очень странный баг.
Выполняю достаточно несложный код (одно "но" - все это приходится делать внутри отдельной транзакции, поскольку помимо очистки делается еще масса телодвижений)
1 2 3 4 5 | nanoCAD.Document comDoc = doc.AcadDocument as nanoCAD.Document; for (int i = 0; i < 3; i++) { comDoc.PurgeAll(); } |
И вроде бы все хорошо. Пока не будет выполнена регенерация. После нее все линии во внешних ссылках могут преобразоваться (визуально) в Continuous. Спасает только ручная перезагрузка ссылки. Но пользователям-то это не объяснишь!
Пришлось обращаться на форум разработчиков, где Андрей Лысенко и показал решение. Процитирую его:
Одашники (DwgDirect) полтора года назад поправили в своих потрохах поправили purge(OdDbObjectIdArray)
< ...>
У нас это вошло в версию 24.0
С его любезного разрешения привожу слегка переделанный вариант его решения, хотя проблема в версиях 24 и более поздних, похоже, решена.
Далее
Хранение и получение данных между сессиями в NET
В продолжение настроек под Linux и хранения пользовательских типов данных
Далее