Перейти к содержанию
Robink

Альтернативный autosave

Рекомендуемые сообщения

github.com/RobinKzn/CustomAutosaveNanoCad

Работает в отделе больше 2х месяцев. Нареканий не было.

AutosaveAlgorithm.jpg

CustomAutosaveSettings.jpg

Изменено пользователем Robink

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

надоел глючный стандартный? Вероятно там как то сложно все внутри, иначе бы уже реализовали корректный.

 

Куда и как сохранять, когда удалять старое, настройки

1.Куда - две опции в текущую папку с файлом(причем создавать отдельный Autosave) папку + возможность выбирать папку общую для всех автосохранений.

2. Как - исходя из текущей настройки формата файла. В имени дописывать время сохранения.

3.Возможно хорошо бы было так: сделать сохранение "по кругу" нескольких .dwg .Например 3,4 .dwg которые перезаписываются по кругу. А образуются они из одного активного .dwg.

( ну и тут создается проблема разрастания занимаемого места, т.к. автосейвы вроде как надо бы удалять, а вот это как раз и не всегда нужно , вообще это принципиальный момент наверное. Т.е. что делать с автосейвами удалять или нет.).

4.Из настроек точно надо это пользовательский выбор времени сохранения.

_________________

Кстати у меня как то была мысль , а почему не реализовывают автосейв , от процента изменений в .dwg( вероятно сложно отследить/оценить), ведь результатом работы является не сколько файл "висел" по времени, а именно количество внесенных изменений.

Изменено пользователем Ivanco

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Идея очень хорошая. Я хотел разработчикам предложить ввести в настройки такую же настраиваемую опцию (рядом с автосохранением), но по итогам форума энтузиазм пропал.

Хотелки и предложения:

1. Делать "Сохранить как" сразу при открытии файла. (Пояснение - не раз сталкивались со следующей ситуацией: файл с сервера открывают на одном РС, начинают в нём работать, периодически сохраняясь. В какой-то момент этот же файл открывают с другого РС (только для чтения) и используют "чтобы посмотреть". Потом на первом РС файл сохраняют и закрывают. Через некоторое время на втором РС закрывают весь NC (со всеми вкладками) и "на автомате" на все вопросы "Файл существует. Переписать?" отвечают "Да". Получаем, ессно, файл по состоянию его открытия на втором РС).

2. Сохранять версии по умолчанию в той же папке.

3. К имени в конце добавлять "vNN", где NN - номер версии 01-99. Важное дополнение - предыдущий № брать из состояния в папке, т.к. при одновременном открытии файла (как я описал в п.1) возможно, что версии с разных РС будут "через одну".

4. Период "сохранения как" - настраиваемый (10мин...60 мин) с интервалом в 10мин.

5. Период стирания минорных версий - настраиваемый от "0"(не стирать-ручное стриание) до 10 суток с интервалом 1 сутки.

 

Надо также понимать, что такой режим "сохранить как" сделает возможным одновременное открытие файла любым количеством пользователей, причём предупреждений о том, что файл уже открыт, - не будет. Т.е. потенциально можно также получить проблему.

Изменено пользователем Vladimir-omsk

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Докину свои мысли.

 

1. Настройки таймера:

  • Время между сохранениями.
  • Галка Сброс таймера при сохранении вручную.
  • Галка Делать автосейв сразу после открытия.

 

2. Галка Сохранить без доп. настроек.

3. Галка Сохранить копию как.

  • Настройка расположения файлов - путь к папке (с обработкой относительных путей).
  • Настройка количества файлов автосейвов. Удаление по принципу FIFO (если ограничение установлено).
  • Настройка имён файлов с подставновкой {T} - время, {D} - дата, {N} - имя, {X} - номер по порядку.
  • Настройка удаления всех (либо всех, кроме X последних) автосейвов при зыкрытии файла.

Уважаемые пассажиры! Пристегните ремни, сейчас пилот первого класса Иван Сидоров постарается поднять всю эту бандуру в воздух :)

По проблемам:

  1. ХЗ, не сталкивался. В настройках пути и имени давать предупреждение по этому поводу, а при неудачной настройке (если по факту получилось длинее) заставлять что-то менять. Можно, конечно, имя файла резать, но тут уже ИИ надо подключать, это лишнее.
  2. Рядом с DLL в любом удобном виде - что легче прочитать и записать. Я в XML храню - можно при необходимости в Calc'e открыть.
  3. Надо думать. Какого рода проблемы? Если ФС (нехватка места, отсутствие прав) - можно показать уведомление и открыть настройки для изменения на рабочие.

Изменено пользователем Kreator

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
x64 никак не могу получить nanoCAD.Application. Ну и фиг с ним. Всех с первомаем!

у меня на x64 Win10 вроде подключилось. но VS попросила добавить ссылку на Microsoft.CSharp.dll.

первая обнаружившаяся проблема, это то что автосейв "сработал" в "другом" нанокаде, т.е. в том который в данный момент зарегистрирован последним(насколько я понимаю), а не в том в котором я открыл чертеж и планировал протестировать.

Возможно проблема в коде ниже, или я чего то не понимаю.зачем создавать новый Instance, нужно ведь пользоваться имеющимся?

Type t1 = Type.GetTypeFromProgID("nanoCAD.Application");
NC = (nanoCAD.Application)Activator.CreateInstance(t1);

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

может так?

nanoCAD.Application ncApp = Marshal.GetActiveObject("nanocad.Application") as nanoCAD.Application;

опять же если разные nanoCAD что получится в итоге, вероятно последнее зарегистрированное все равно.

Изменено пользователем Ivanco

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Доброго дня!

Подскажите пожалуйста по шагам как внедрить Ваш вариант автосохранения в имеющийся NanoCad 5.1 бесплатный вариант?

ОС - Win 10 Pro x64.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Доброго дня!

Подскажите пожалуйста по шагам как внедрить Ваш вариант автосохранения в имеющийся NanoCad 5.1 бесплатный вариант?

ОС - Win 10 Pro x64.

Скачайте проект

CustomAutosaveNanoCad/autosave2/obj/Debug

отсюда возьмите

autosave51.dll

Interop.OdaX.dll

Interop.nanoCAD.dll

Положите их в одну папку

Или можете оставить как есть все лежать, куда положите скачанный проект

Потом загрузить через команду Netload autosave51.dll

Для того чтобы при загрузке программы подгружалась библиотека автоматом надо ее вписать в nApp.ini

Для настройки команда customausosavesettings

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Доброго времени суток всем!

В общем пробовал установить по данной схеме на Win8 x64 с правами админа. но в дальнейшем надо будет это все проделать на Win10 x64.

В разделе с программой C:\Program Files (x86)\Nanosoft\nanoCAD 5.1\ создал файл nApp.ini

[\NetModules]

autosave51.dll

Interop.nanoCAD.dll

Interop.OdaX.dll

 

в nCad.ini пока оставил так

[\NetModules]

hostdcl.dll

outdvbutils.dll

 

#include "nApp.ini"

#include "userdata.ini"

 

Сами 3 dll положил в папку C:\Program Files (x86)\Nanosoft\nanoCAD 5.1\bin - вопрос надо их как-то регистрировать, чтобы НаноКад мог с ними работать или достаточно разместить их в нужном каталоге?

 

Далее ввожу в командной строке НаноКада: NetLoad

Команда: NETLOAD

тут выбираю нужный файл autosave51.dll

NetLoad - NetLoad

Команда: CUSTOMAUTOSAVESETTINGS

Неправильный ключ или команда. Введите (') для команды или (?) для математического выражения: CUSTOMAUTOSAVESETTINGS

 

Вопрос: почему может не работать .net библиотека?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Interop.nanoCAD.dll

Interop.OdaX.dll

эти не надо вписывать

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вообще в bin можно класть? Вот Interop.nanoCAD.dll, Interop.OdaX.dll они и так там лежат :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Удали их оттуда, похоже от этого весь сыр бор

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не. изначально этих файлов не было в bin - и все равно не давало запустить настройки автосохранения.

Сейчас опять удалил из bin эти файлы - результат такой же.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а autosave51.dll где лежит?

они должны лежать рядом с ней

Interop.nanoCAD.dll

Interop.OdaX.dll

все это не в bin

:mellow:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите пожалуйста. Попробовал использовать данный способ автосохранение в Nanocad СПДС 6.0

Когда таймер доходит до нуля, нанокад выдаёт ошибку..

Это я что-то настроил не так, или просто под нано СПДС 6.0 данный способ не предназначен?

Винда 7-ая, 64 битная, использовал файл в папке CustomAutosaveNanoCad-master\autosave7x64\obj\Debug

Изменено пользователем dromandon

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А команда стартует customautosave?

папка есть автосохранения?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Стартует..

 

Команда: CUSTOMAUTOSAVE

 

CustomAutosave - CustomAutosave

CustomAutosaveRun

C:\\Автосохранения\АС Андрей(1610_02112018).dwg

Команда: ResetCustomAutosaveCycle

ResetCustomAutosaveCycle - ResetCustomAutosaveCycle

 

И как только отчёт в CUSTOMAUTOSAVESETTINGS подходить к концу... НЕУСТРАНИМАЯ ОШИБКА! и бла бла бла

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

проблема в коде, не верно суммируются пути, надо было использовать Path.Combine. Попробуйте поменять на как у меня положение папки автосохранения.

Изменено пользователем Robink

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

проблема в коде, не верно суммируются пути, надо было использовать Path.Combine. Попробуйте поменять на как у меня положение папки автосохранения.

Почему-то не могу прикрепить в этой ветке форума скрины, странно.

Настроил как у вас в на скрине в первом посте, всё так же - неустранимая ошибка(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Попробуйте сохранить документ как в папку автосохранения.

Попробуйте запустить сами команду customautosave.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Попробуйте сохранить документ как в папку автосохранения.

Попробуйте запустить сами команду customautosave.

Если помещаю документ в папку автосохранения и сам запускаю команду customautosave, то пишет следующие: "Документ из папки автосохранение: "C:\temp\autosave\18_00312_Залесье_исп_доб новые колодца_recover.dwg". Автосохранение отменено."

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я вот подумал, может в СПДС по другому назван COM интерфейс, не "nanoCAD.Application"?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я вот подумал, может в СПДС по другому назван COM интерфейс, не "nanoCAD.Application"?

К сожалению не знаю(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы SDK устанавливали?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы SDK устанавливали?

 

Знал бы я что это такое)

Если сильно не затруднит, расскажите последовательность всей установки данного приложения, считая, что я полный кретин в данном случае) С программирование я пока на Вы, увы)

Могу описать последовательность своих действий..

Имею: Windows 7 64 битную и Нанокад СПДС 6.0.

Захожу по ссылке из первого поста (github.com/RobinKzn/CustomAutosaveNanoCad), качаю всё zip'ом.

Разархивировываю папку на рабочий стол.

Далее захожу в нанокад, netload и указываю этот файл autosave7x64 (путь к папке к нему C:\Users\Admin\Desktop\CustomAutosaveNanoCad-master\autosave7x64\obj\Debug)

Далее запускаю команду CUSTOMAUTOSAVESETTINGS, настраиваю как у вас в первом посте на скрине.

Команда customautosave сохраняет файл в указаную папку в виде НазваниеФайла(1300_06112018).dwg

Но когда таймер из настроек доходит до нуля, нанокад фаталит(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...

×
×
  • Создать...