Библиотека пользовательских функций AutoLISP/VisualLISP

Как-то поднадоело постоянно при публикации кодов на любом форуме приводить свои функции. Оставлю здесь.

Ссылка на GitHub: https://github.com/kpblc2000/KpblcLispLib

Да, я понимаю, что в тайминг я попал - ну вот прям по полной программе. И вряд ли будет пользоваться хоть какой-то популярностью. Ну а вдруг? :)

И не надо мне писать в почту с просьбами дополнить / доработать / разработать какие-либо лиспы - у меня и так работы хватает. А у вас есть хоть какие-то инструменты, чтобы разработать свое. И поменьше изобретать велосипеды.

LAYOUTCREATEVIEWPORT – работает или нет?

В одном из чатов всплыла эта переменная с текстом примерно следующего содержания:
"переменную LAYOUTCREATEVIEWPORT выставляю в начале команды в 0. Программно созданные листы все-равно имеют видовой экран"
Полез проверять.
Далее

Программное удаление поля

Понадобилось сегодня снести поле из атрибута. Казалось бы - чего проще? Колоти через тот же vla-put-textstring, в чем проблема?

Проблема в том, что если в новых данных есть часть строки, полностью повторяющая значение поля на момент выполнения, то поле не уничтожается. Проблема обнаружена в ACAD2020x64.
Далее

Что делать, если rtos выдает “не те” результаты

Сегодня возник вопрос - насколько можно доверять результатам rtos? Когда разобрались, попросили нарисовать статейку. Выполняем :)
Далее

Определение lisp через NET и vlx с отдельным именным пространством

Сегодня на работе столкнулись с очень "забавным" моментом. Связан он с определением lisp-функции средствами .NET и работой этой функции в определенных условиях
Далее

LISPSYS и dcl “на лету”

Никак мне не дает покоя LISPSYS и ее значения. Особенно в области dcl и их создания "на лету". То, что нарыл и собственные выводы - ниже.
Далее

Сортировка строк как чисел

В одном из чатов возникла задачка - есть перечень номеров типа "1.1", "1.2.16", "1.12.5.64", "1.12.5.642" и т.д. Их надо отсортировать, но не как строки, а как числа - т.е. в результате должно получиться нечто типа "1.1", "1.2.16", "1.12.5.64". "1.12.5.642". Стартуем :)
Далее

Приколы vl-acad-defun и NET

Известно, что vl-acad-defun позволяет "экспортировать" лисп-функцию для вызова ее из-под arx / net.
Далее

Примитив – блок? Или ассоциативный массив?

Столкнулся тут на работе с вопросом "как определить ассоциативный массив?".

В .NET для этого есть отдельный метод AssocArray.IsAssociativeArray, а вот в lisp что-то подобного не видать. Ну ладно, займемся снова велосипедостроением :)
Далее

Определение границ пространства модели

Надоело что-то мне постоянно рыскать на этот предмет...

Собственно задача: надо определить границы видимой области (ну мало ли зачем!). Вопрос - как это сделать?
Далее