Восстановление некоторых окон nanoCAD

На основании https://doctorraz.blogspot.com/2024/06/nanocad.html нарисовал вот такое чудовище

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
(vl-load-com)
((lambda (/ hive)
   (setq hive (strcat "HKEY_CURRENT_USER\"
                      (vlax-product-key)
                      "
\\Profiles\"
                      (getvar "
cprofile")
                      "
\\Commands\\Plot"
              )
   )
   (vl-registry-delete hive "
CPageSetupDlg Size")

   (setq hive (strcat "
HKEY_CURRENT_USER\"
                      (vlax-product-key)
                      "
\"
                      (cond
                        ((= (getvar "
cconfiguration") "")
                         "
nCAD"
                        )
                        (t (getvar "
cconfiguration"))
                      )
                      "
\\MechCtl"
              )
   )
   (vl-registry-delete hive "
ObjectSearcher_FindReplaceDialog")

   (princ)
 )
)

Ну и собственно файл: restore-nano-windows

P.S. После восстановления окон крайне желательно перезапустить NC.

Как отследить смену темы оформления в NC23? Ну хотя бы со светлой на темную.

Хотя тем оформления в нанике, конечно, напихали до дури. Но хотя б со светлой на темную переключение (и обратно) отследить...
Далее

NC 23+ и масштаб символов и измерений

Известно, что в нанике есть масштаб измерений и есть масштаб символов. Вылезла задача поменять именно масштаб символов. Программно, на NET
Далее

NC тормозит? Чистим историю его жизни ;)

В официальном чате по NC мелькнул вопрос: при вызове окна открытия файла NC может капитально затормозить. На ровном месте. Первая идея - каталог, в который ломится NC, недоступен. Где все это (и кое-что еще) хранится - под катом.

Помним: сайт есть шпаргалка, я могу ошибаться, все вот это вот ))
Далее

Настройка автосохранения в NC 23+

На работе возник вопрос "куда наник выполняет автосохранение?" А, и заодно - формат файла по умолчанию поменять бы на Dwg2013. Клиентов энное количество, к каждому не набегаешься.

Да ну, чего там сложного - подумал я. И, как обычно, ошибся ;)
Далее

Программная очистка файла в 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 и более поздних, похоже, решена.
Далее

Официальные NuGet для nanoCAD

Добрый доктор поделился ссылкой, где расписано получение официальных nuget-пакетов для NC версий от 20 и дальше. Кому надо - тащим к себе, пока лавочку не прикрыли.

Почему было не выложить на nuget.org, непонятно.

LISP: GigaChat vs полупрограммист. Чья возьмет?

Статья чисто по приколу, поскольку работать не хочу совершенно. На форуме наника возник вопрос о работе кода, сгенерированного GigaChat'ом. Под катом - исходный код и мои соображения. На форуме публиковать не хочу (считайте по религиозным соображениям и не оскорбляйте мои чуйства!)
Далее

Очистка словарей. Просто для напоминания самому себе

Меня достало каждый раз писать одно и то же по очистке словарей. Засуну сюда лисповой код, который будет работать и под наной, и под кадом. Если что - сам его буду тырить по мере надобности.

Что сайт есть шпаргалка, надеюсь, никто не забыл? )))
Далее

MessageBox, NC 23 и Astra Linux

Есть у меня в проекте некий сервис для сообщений - информационных, об ошибках, об исключениях, консольные сообщения - все вот это вот. Поскольку разработка вынужденно ведется в Windows (да и NC на самом деле работает под Wine), я стал использовать стандартные System.Windows.MessageBox. Но вот к поведению этих окон в Linux я оказался совсем не готов.
Далее

Следующая страница »