| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Восстановление *.DWG

Восстановление *.DWG

Ответ
Поиск в этой теме
Непрочитано 14.11.2007, 07:16 10 | 1
Восстановление *.DWG
Солидворкер
Moderator
 
Конструктор (машиностроение)
 
Россия
Регистрация: 23.10.2006
Сообщений: 22,990

Данная тема предназначена для восстановления файлов DWG, испорченных по тем, или иным причинам. Вопросы ошибок самого Автокада (устойчивости его работы, проблемы "где взять обновления; невозможности скопировать через буфер обмена) и прочие проблемы не рассматриваются. Если AutoCAD открывает файл, но отказывается выполнять какие бы то ни было действия, то Вам сюда.
Если необходимо преобразовать файл в более раннюю версию, займитесь поиском - бесплатные конвертеры существуют.
Для того, чтобы получить максимально быструю и эффективную помощь, необходимо придерживаться нескольких простых правил:

Для открытия файлов dwg более поздних версий, чем Ваша, существует отдельная тема по Конвертации файлов


1. Для начала, необходимо попробовать самостоятельно восстановить файл стандартными средствами Автокада:
Файл –> утилиты –> восстановить / File -> Utilities -> Recover, либо набрав в командной строке для русской версии
Код:
[Выделить все]
ВОССТАН
либо
Код:
Второй вариант сработает в любом случае. В дальнейшей команды будут указываться сразу для обоих вариантов, через слеш ("/").


2. Попытаться открыть резервную копию файла (bak, sv$), заменив расширение .bak или .sv$ на .dwg. Директорию по-умолчанию для хранения временных файлов можно определить, вызвав окно настроек (команда настройка / _.options), закладка Файлы / Files, ветка Папка хранения временных файлов / Temporary Drawing File Location.
Еще один метод - попытаться вставить "испорченный" файл в новый как внешнюю ссылку
Код:
[Выделить все]
ВНССЫЛКИ / _.xref
или блок
Код:
[Выделить все]
ВСТАВИТЬ / _.insert
3. Если Ваш файл открывается без каких-либо ошибок, но часть объектов чертежа или все объекты пропали, при этом Вы абсолютно уверены, что не удаляли их, то это скорее всего говорит о наличии в файле ошибок. Нужно выполнить проверку чертежа:
Файл -> Утилиты -> Проверить / File -> Utilities -> Audit, либо набрать в командной строке:
Код:
[Выделить все]
ПРОВЕРИТЬ / _.audit
На запрос: "Исправить все обнаруженные ошибки?" надо ответить "Д" или "_Y". По завершении операции (обычно не более 10 секунд) в командной строке отобразится лог (журнал) проверки и количество всех найденных и исправленных ошибок.
Далее, для отображения на экране изменений, следует выполнить регенерацию:
Вид -> Регенерировать все / View -> Regen all или в командной сторке:
Код:
[Выделить все]
ВСЕРЕГЕН / _.regenall
За п.3 отдельная благодарность skkkk

4. Если в конторе есть AutoCAD Map 3D (обратите внимание - Map, а не MEP), можно попытаться подключиться к DWG как к внешнему источнику и с помощью запроса извлечь из него всю графику. Информация пока не проверена, озвучена на форуме autodesk.

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

  1. Сначала сами проверьте - а AutoCAD'овский ли файл Вы пытаетесь восстановить. Для этого откройте файл в Блокноте или любом другом простом текстовом редакторе и посмотрите на символы, с которых начинается содержание файла. Если первыми 6 символами не являются AC10(и тут две цифры), можете даже не пытаться - это не файл AutoCAD.
    Соответствие первоначальных символов и версий AutoCAD:
    • AC1014 - AutoCAD R14
    • AC1015 - AutoCAD 2000, 2000i, 2002
    • AC1018 - AutoCAD 2004, 2005, 2006
    • AC1021 - AutoCAD 2007, 2008, 2009
    • AC1024 - AutoCAD 2010, 2011, 2012
    • AC1027 - AutoCAD 2013, 2014, 2015, 2016, 2017
  2. Оставьте в этой теме заявку на восстановление. Необходимо указать полное название (AutoCAD / ADT / AA / MEP ...) и версию и локализацию программы, в которой Вы открывали файл, наличие надстроек (СПДС, MechaniCS, VetCAD и т.п.), и наличие обновлений (сервис-паков); по возможности, обстоятельства краха файла. Ну и конечно, приложить сам файл. Если файл чрезмерно большой - архивируйте его и прикладывайте в виде архива.
    Единственная просьба: прикладывайте файлы прямо к посту, не все и не всегда имеют доступ на Ваши любимые файлообменники. Человек, может, и рад бы Вам помочь, да вот беда - файл скачать не может.
    Ограничение на размер загружаемого файла можно обойти с помощью многотомных архивов.
  3. Не нарушайте правила форума: Не надо 20 раз поднимать топик вопросами «Ну как там мой файл?», «Что, никто помочь не хочет?!» и т.п. Помните, что дело помощи ближнему - сугубо добровольное, Вам НИКТО НИЧЕМ НЕ ОБЯЗАН, но, как правило, если починить файл можно, то Вам его починят, если Вы не будете чрезмерно назойливы.
  4. Если Ваш файл успешно восстановили, не забудьте поблагодарить, но по возможности не растекаясь во флуд на 5 постов. Не засоряйте тему оффтопом!
    Добавлено: на форуме действует кнопка [Спасибо], рекомендуется использовать именно ее.


Если Вы восстановили чей-то файл, особенно каким-нибудь экзотическим методом, желательно в ответе описать методику, этим Вы сбережете время и нервы тем, кто столкнется с проблемами впоследствии.
Не сохраняйте восстановленный файл в версии, которая выше, чем у испорченного! Этим Вы можете свести полезность своей работы к нулю, человек просто не сможет открыть Ваш файл. Autocad 2099 стоит не у всех!


Если Вы хотите заранее избежать проблем с восстановлением утерянной не по Вашей вине информации в *.dwg-файлах, установите в опциях AutoCAD'a процент автосохранения в 0 (значение по умолчанию 50). Время не регламентируется
Для английской версии: Меню Tools -> Options, закладка Open and Save -> группа File Save, значение Incremental save percent
Для русской: Меню Сервис -> Настройка, закладка Открытие и сохранение -> группа Сохранение файлов, значение Процент для быстрых сохранений.
Или установите в командной строке значение переменной _ISAVEPERCENT равным 0.
Спасибо Bullу за дополнение.
Цитата:
Сообщение от skkkk Посмотреть сообщение
Со всеми этими сохранениями я решил вопрос так.
1. Автосохранение 10 минут (переменная SAVETIME = 10). Это подразумевает создание копий чертежа каждые 10 минут, но не резервных, а тех, которые будут появляться в окне Диспетчера восстановления чертежей (_drawingrecovery) с расширением .sv$.
2. Сохранять резервные копии (переменная ISAVEBAK = 1). А вот это резервные копии, с расширением .bak, которые по умолчанию создаются в папке с данным файлом.
3. Процент быстрых сохранений (переменная ISAVEPERCENT = 0). Эти файлы .bak создаются или обновляются тогда, когда некий "процент изменения чертежа" превысит число, установленное в этой переменной. Если стоит "0", то файл будет обновляться при каждом сохранении чертежа. Иными словами, в этом файле всегда будет версия предпоследнего сохранения.
4. С помощью команды MOVEBAK из набора ExpressTools можно установить папку, в которую будут "складываться" все эти файлы .bak. Очень удобно - файлы не мешаются в основной папке, и к ним всегда есть доступ в назначенной папке, да в идеале - отсортированной по дате изменения. За два года такого использования моя папка ACAD BACKS разрослась всего до 7 Гигабайт и кушать не просит.
Спасибо skkk за дополнение


Некоторые типичные причины "падения" файлов.
Никогда не работайте напрямую с флешки! Поведение подобных устройств не всегда предсказуемо. Рекомендуется либо
а) копировать работу на жесткий диск компьютера и работать уже с HDD
либо б) купить съемный USB-HDD и работать с него.
Самый популярный совет по восстановлению таких файлов: искать файлы автосохранения (расширения $sv и bak), менять им расширение на dwg и восстанавливать именно страховые копии.


Попробуйте найти файлы автосохранения (расширение $sv) или bak-файлы. Ваш "порушенный" файл, скорее всего, восстановить не удастся.

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

Убедительная просьба не слать призывы о помощи по восстановлению модераторам и пользователям на почту, в личку, в ICQ! Все запросы только в этой теме!

Последний раз редактировалось Кулик Алексей aka kpblc, 05.07.2021 в 09:42.
Просмотров: 2878490
 
Непрочитано 23.03.2020, 14:12
#4881
VASILISKUS


 
Регистрация: 14.04.2017
Сообщений: 12


Цитата:
Сообщение от tankist Посмотреть сообщение
Предположу, что вы ушли в бесконечность от существующих блоков.
Благодарю за попытки разобраться с поломкой файла..))
Из всей ситуации сделал себе такой вывод:
----------------------------------------------------
1. Держу резервный файл и постоянно его обновляю.
2. Отключил автоматическую (в СС Клинер) чистку папки Темп (оттуда .бак файлы доставать что бы..)).
3. ВСЕ чужие блоки и "подозрительные" объекты - редактирую сугубо по-месту (в чужом файле) или загоняю в новый файл и там драконю (чищу , оптимизирую и тд), а после забираю в рабочий файл.
-------------------------------------------------------
))) Надеюсь мой печальный опыт поможет многим избегнуть подобного...
Всем Удачи!
VASILISKUS вне форума  
 
Непрочитано 24.03.2020, 11:58 Помогите восстановить dwg 2004
#4882
Петрр


 
Регистрация: 01.04.2009
Сообщений: 18


Добрый день!
У кого есть возможность - помогите восстановить файл DWG 2004.
Выдаёт фатальную ошибку и вылетает.
Восстановить через утилиты пробовал, при конвертировании TrueView тоже ругается...
Кто может, помогите вернуть файл в версии этого же года (2004).
Петрр вне форума  
 
Непрочитано 24.03.2020, 12:02 DWG 2004
#4883
Петрр


 
Регистрация: 01.04.2009
Сообщений: 18


Добрый день!
У кого есть возможность - помогите восстановить файл DWG 2004.
Выдаёт фатальную ошибку и вылетает.
Восстановить через утилиты пробовал, при конвертировании TrueView тоже ругается...
Кто может, помогите вернуть файл в версии этого же года (2004).

Последний раз редактировалось Петрр, 24.03.2020 в 12:19.
Петрр вне форума  
 
Непрочитано 24.03.2020, 12:13
1 | #4884
Boroda888


 
Регистрация: 01.08.2016
Тюмень
Сообщений: 199


Как то так
Вложения
Тип файла: dwg
DWG 2004
DWG 2004_вост.dwg (4.00 Мб, 17 просмотров)
Boroda888 вне форума  
 
Непрочитано 24.03.2020, 12:17
#4885
Петрр


 
Регистрация: 01.04.2009
Сообщений: 18


Большое Вам спасибо!
Всё открылось. Ещё раз огромное спасибо!
Петрр вне форума  
 
Непрочитано 24.03.2020, 12:58
#4886
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


Петрр, класс! А на фига было файл сносить?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 24.03.2020, 13:07
#4887
Петрр


 
Регистрация: 01.04.2009
Сообщений: 18


Алексей, прошу прощения. Я без всякого злого умысла.
Хотел просто тему закрыть. Но т.к. давно не был, не смог разобраться, как это правильно сделать.
Поэтому как мог закрыл... Но, видимо, неправильно.
Петрр вне форума  
 
Непрочитано 25.03.2020, 18:09
#4888
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,002


Цитата:
Сообщение от VASILISKUS Посмотреть сообщение
1. Держу резервный файл и постоянно его обновляю.
но лучше делать это автоматически, не надеясь - что в резервном файле будет актуальная версия)

Offtop:

Код:
[Выделить все]
 
// Windows
using System;
using System.Collections.Generic;
using System.IO;
using System.Security.Cryptography;
using System.Text;
using System.Threading;


// AutoCAD
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Runtime;


namespace CreateAutoCopyDwg
{
    public class MClass : IExtensionApplication
    {
        /// <summary>
        /// Путь к папке с сохраняемыми копиями файлов
        /// </summary>
        private const string PathArchives = @"d:\DWGARCHIVES";


        /// <summary>
        /// Время задержки между попытками
        /// </summary>
        private const int SleepTimeout = 200;


        /// <summary>
        /// Количество попыток 
        /// </summary>
        private const int CountAttempts = 5;
        

        /// <summary>
        /// Очередь сообщений для вывода в окно команд
        /// </summary>
        private Queue<string> _QueueMsgs = new Queue<string>();


        /// <summary>
        /// Словарь соответствия хэша и имени файла бэкапа 
        /// </summary>
        private Dictionary<string, string> _DictNameBakFiles = 
            new Dictionary<string, string>();


        /// <summary>
        /// Словарь соответствия открытых файлов и рассчитанных для них хэшей
        /// </summary>
        private Dictionary<string, string> _DictCalcHashFiles = 
            new Dictionary<string, string>();


        /// <summary>
        /// Флаг признака только для чтения для закрываемого документа
        /// </summary>
        private bool _IsReadOnly = false;

        
        /// <summary>
        /// Обработчик события открытия/создания документа
        /// </summary>
        /// <param name="sender">Источник - Коллекция документов</param>
        /// <param name="e">Дополнительные аргументы</param>
        private void DocumentManager_DocumentCreated(object sender, DocumentCollectionEventArgs e)
        {
            // Получаем документ
            Document lAcadDoc = e.Document;
            // Если документ открывается с диска и при этом не помечен только для чтения
            if (lAcadDoc.IsNamedDrawing && (!lAcadDoc.IsReadOnly))
            {
                // Файловый буфер 
                byte[] lBuffer = null;
                // Пробуем считать весь файл *.dwg в память
                try
                {
                    // Открываем файловый поток
                    using (FileStream lFileStream = File.Open(lAcadDoc.Name, FileMode.Open,
                        FileAccess.Read, FileShare.ReadWrite))
                    {
                        // Если файл не нулевой длины
                        if (lFileStream.Length > 0)
                        {
                            // Выделяем память под файловый буфер и считываем туда файл
                            lBuffer = new byte[lFileStream.Length];
                            lFileStream.Read(lBuffer, 0, lBuffer.Length);
                        }
                    }
                }
                catch (System.Exception ex)
                {
                    // Заносим в очередь сообщений
                    _QueueMsgs.Enqueue(
                        String.Format("\nНе удалось считать файл [{0}] в буфер: {1}", 
                            lAcadDoc.Name, ex.Message));
                    // И выходим из обработчика
                    return;
                }
                // Если файл был нулевой длины - выходим из обработчика
                if (lBuffer == null) return;

                // Хэш файла
                string lHashStr = null;
                // Пробуем посчитать хэш для файла
                try
                {
                    // Считаем его хэш
                    StringBuilder lHashSB = new StringBuilder();
                    using (SHA1Managed lSHA1 = new SHA1Managed())
                    {
                        byte[] lHashBytes = lSHA1.ComputeHash(lBuffer);
                        // Преобразуем хэш в строку
                        foreach (byte lHashByte in lHashBytes)
                        {
                            lHashSB.AppendFormat("{0:x2}", lHashByte);
                        }
                    }
                    // Заносим сформированный хэш файла в строку
                    lHashStr = lHashSB.ToString().ToUpper();
                }
                catch (System.Exception ex)
                {
                    // Заносим в очередь сообщений
                    _QueueMsgs.Enqueue(
                        String.Format("\nНе удалось посчитать хэш для файла [{0}] : {1}\n",
                            lAcadDoc.Name, ex.Message));
                    // И выходим из обработчика
                    return;
                }

                // Пробуем создать папку архива при необходимости
                try
                {
                    // Если папки архива не существует - создаем
                    if (!Directory.Exists(PathArchives)) Directory.CreateDirectory(PathArchives);
                }
                catch (System.Exception ex)
                {
                    // Заносим в очередь сообщений
                    _QueueMsgs.Enqueue(
                        String.Format("\nНе удалось создать папку архивов [{0}] : {1}\n",
                            PathArchives, ex.Message));
                    // И выходим из обработчика
                    return;
                }

                // Полное имя файла бекапа
                string lBakNameFile = null;
                // Пробуем записать файл бэкапа на диск
                try
                {
                    // Формируем полное имя файла
                    lBakNameFile = Path.Combine(PathArchives,
                        String.Format("{0:yyyy-MM-dd_H-mm-ss}_{1}_{2}{3}", DateTime.Now,
                            Path.GetFileNameWithoutExtension(lAcadDoc.Name), lHashStr,
                                Path.GetExtension(lAcadDoc.Name)));
                    // И записываем буфер на диск
                    File.WriteAllBytes(lBakNameFile, lBuffer);
                }
                catch (System.Exception ex)
                {
                    // Заносим в очередь сообщений
                    _QueueMsgs.Enqueue(
                        String.Format("\nНе удалось создать файл бекапа [{0}] : {1}\n",
                            Path.GetFileName(lBakNameFile), ex.Message));
                    // И выходим из обработчика
                    return;
                }
                // Добавляем в словарь хэшей
                _DictNameBakFiles.Add(lHashStr, lBakNameFile);
                // И в словарь открытых файлов, для которых был посчитан хэш
                _DictCalcHashFiles.Add(lAcadDoc.Name, lHashStr);
                // Заносим в очередь сообщений
                _QueueMsgs.Enqueue(
                    String.Format("\nСоздан файл бекапа [{0}]\n", Path.GetFileName(lBakNameFile)));
            } // Если документ открывается с диска и при этом не помечен только для чтения
        }


        /// <summary>
        /// Обработчик события начала уничтожения документа
        /// </summary>
        /// <param name="sender">Источник - Коллекция документов</param>
        /// <param name="e">Дополнительные аргументы</param>
        private void DocumentManager_DocumentToBeDestroyed(object sender, DocumentCollectionEventArgs e)
        {
            _IsReadOnly = e.Document.IsReadOnly;
        }
        

        /// <summary>
        /// Обработчик события уничтожения окна документа и удаление его БД
        /// </summary>
        /// <param name="sender">Источник - Коллекция документов</param>
        /// <param name="e">Дополнительные аргументы</param>
        private void DocumentManager_DocumentDestroyed(object sender, DocumentDestroyedEventArgs e)
        {
            // Если закрытый файл находился в списке файлов, для которых был посчитан
            // хэш и при этом сброшен флаг только для чтения
            if (_DictCalcHashFiles.ContainsKey(e.FileName) && (!_IsReadOnly))
            {
                // Счетчик попыток чтения файла
                int lAttemptCounter = CountAttempts;
                // Файловый буфер 
                byte[] lBuffer = null;
                // Цикл попыток чтения файла
                do
                {
                    try
                    {
                        // Считываем весь файл в память
                        lBuffer = File.ReadAllBytes(e.FileName);
                        // Сбрасываем счетчик попыток
                        lAttemptCounter = 0;
                    }
                    catch (System.Exception)
                    {
                        // Делаем задержку между попытками
                        Thread.Sleep(SleepTimeout);
                        // Уменьшаем счетчик попыток
                        lAttemptCounter--;
                    }
                }
                while (lAttemptCounter > 0) ;
                // Если файл не был считан в буфер
                if (lBuffer == null)
                {
                    // Заносим в очередь сообщений
                    _QueueMsgs.Enqueue(String.Format("\nНе удалось считать файл [{0}] в буфер!\n",
                        e.FileName));
                    // И выходим из обработчика
                    return;
                }
                // Хэш файла
                string lHashStr = null;
                // Пробуем посчитать хэш для файла
                try
                {
                    // Считаем его хэш
                    StringBuilder lHashSB = new StringBuilder();
                    using (SHA1Managed lSHA1 = new SHA1Managed())
                    {
                        byte[] lHashBytes = lSHA1.ComputeHash(lBuffer);
                        // Преобразуем хэш в строку
                        foreach (byte lHashByte in lHashBytes)
                        {
                            lHashSB.AppendFormat("{0:x2}", lHashByte);
                        }
                    }
                    // Заносим сформированный хэш файла в строку
                    lHashStr = lHashSB.ToString().ToUpper();
                }
                catch (System.Exception ex)
                {
                    // Заносим в очередь сообщений
                    _QueueMsgs.Enqueue(
                        String.Format("\nНе удалось посчитать хэш для файла [{0}] : {1}\n",
                            e.FileName, ex.Message));
                    // И выходим из обработчика
                    return;
                }
                // Если файл не изменился
                if (lHashStr.Equals(_DictCalcHashFiles[e.FileName]))
                {
                    // Получаем по хэшу имя файла бекапа
                    string lBakNameFile = _DictNameBakFiles[lHashStr];
                    // Если файл существует
                    if (File.Exists(lBakNameFile))
                    {
                        // Счетчик попыток чтения файла
                        lAttemptCounter = CountAttempts;
                        // Флаг успешного удаления файла
                        bool lIsDeleteBakFile = false;
                        // Цикл попыток удаления файла
                        do
                        {
                            try
                            {
                                // Удаляем файл
                                File.Delete(lBakNameFile);
                                // Взводим флаг успешного удаления
                                lIsDeleteBakFile = true;
                                // Сбрасываем счетчик попыток
                                lAttemptCounter = 0;
                            }
                            catch (System.Exception)
                            {
                                // Делаем задержку между попытками
                                Thread.Sleep(SleepTimeout);
                                // Уменьшаем счетчик попыток
                                lAttemptCounter--;
                            }
                        }
                        while (lAttemptCounter > 0);
                        // Если файл бекапа удалить не удалось
                        if (!lIsDeleteBakFile)
                        {
                            // Заносим в очередь сообщений
                            _QueueMsgs.Enqueue(String.Format(
                                "\nНе удалось удалить файл бекапа [{0}]\n", 
                                    Path.GetFileName(lBakNameFile)));
                        }
                        else
                        {
                            // Заносим в очередь сообщений
                            _QueueMsgs.Enqueue(String.Format(
                                "\nФайл бекапа [{0}] успешно удален\n", 
                                    Path.GetFileName(lBakNameFile)));
                        }
                    }
                    else
                    {
                        // Заносим в очередь сообщений
                        _QueueMsgs.Enqueue(String.Format(
                            "\nНе найден файл бекапа [{0}] для удаления\n", 
                                Path.GetFileName(lBakNameFile)));
                    }
                } // Если файл не изменился
                // Удаляем из словарей
                _DictCalcHashFiles.Remove(e.FileName);
                _DictNameBakFiles.Remove(lHashStr);
            } // Если закрытый файл находился в списке файлов, для которых был посчитан хэш
        }


        /// <summary>
        /// Обработчик события простоя приложения
        /// </summary>
        /// <param name="sender">Источник - null</param>
        /// <param name="e">Дополнительные аргументы</param>
        private void Application_Idle(object sender, EventArgs e)
        {
            // Получаем текущий документ
            Document lAcadDoc = Application.DocumentManager.MdiActiveDocument;
            // Если нет активного документа - выходим
            if (lAcadDoc == null) return;
            // Получаем редактор документа
            Editor lAcadEd = lAcadDoc.Editor;
            // Пока есть сообщения в очереди 
            while (_QueueMsgs.Count > 0)
            {
                // Выводим их в комстроку
                lAcadEd.WriteMessage(_QueueMsgs.Dequeue());
            }
        }


        /// <summary>
        /// Инициализация сборки при загрузке
        /// </summary>
        public void Initialize()
        {
            // Подписываемся на событие открытия/создания документа
            Application.DocumentManager.DocumentCreated += 
                new DocumentCollectionEventHandler(DocumentManager_DocumentCreated);
            // Подписываемcя на событие начало уничтожения документа
            Application.DocumentManager.DocumentToBeDestroyed += 
                new DocumentCollectionEventHandler(DocumentManager_DocumentToBeDestroyed);
            // Подписываемся на событие уничтожения окна документа и удаление его БД
            Application.DocumentManager.DocumentDestroyed += 
                new DocumentDestroyedEventHandler(DocumentManager_DocumentDestroyed);
            // Подписываемся на событие простоя приложения
            Application.Idle += new EventHandler(Application_Idle);
        }


        /// <summary>
        /// Деинициализация сборки при выгрузке
        /// </summary>
        public void Terminate()
        {
        }
    }
}
Сергей812 вне форума  
 
Непрочитано 14.04.2020, 15:11
#4889
Teftelia


 
Регистрация: 24.04.2010
Набережные Челны
Сообщений: 217


А как узнать что удалило при восстановлении?
__________________
ACAD2016sp1 + AdvanceSteel2016 + SPDS GraphiCS 10
Teftelia вне форума  
 
Непрочитано 04.06.2020, 08:10
#4890
Warlock-72


 
Регистрация: 04.06.2020
Сообщений: 7


Добрый день.
Помогите, пожалуйста, открыть вложенный файл и сохранить его в версии не выше Acad 2012 (лучше - 2007).
Заранее благодарен!
Вложения
Тип файла: dwg
DWG 2013
Чертеж.dwg (129.8 Кб, 12 просмотров)
Warlock-72 вне форума  
 
Непрочитано 04.06.2020, 08:49
#4891
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


Warlock-72, файл прекрасно открывается. Внимательно посмотри на шапку темы.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 04.06.2020, 09:09
#4892
Warlock-72


 
Регистрация: 04.06.2020
Сообщений: 7


У меня, в ACad-12, файл не открылся, поэтому я его и загрузил сюда. Здесь же и увидел, что он определился, как файл ACad-13.
Можешь перекинуть мое сообщение в нужную тему?
Или мне ее там самостоятельно открыть?
Может, сможешь сохранить в версии 2007 и выложить в этой теме?
-----------------------
Upd: Файл коннвертировали в более раннюю вверсию в другой теме.

Последний раз редактировалось Warlock-72, 04.06.2020 в 10:02.
Warlock-72 вне форума  
 
Непрочитано 04.06.2020, 10:50
#4893
doctorraz

электрик
 
Регистрация: 19.02.2010
Волгоград
Сообщений: 2,293
Отправить сообщение для doctorraz с помощью Skype™


Возможно кому-то будет интересно
В файле 6 объектов ТЕКСТ
Файл открывается, но при проверке -аудите на каждый текст выдает по две ошибки
АК пишет, что исправил, но на самом деле нет
ЗЫ конечно в фале традиционно следы СПДС CS, наны и черт еще знает чего)))
Вложения
Тип файла: dwg
DWG 2018
ошибки аудита.dwg (53.1 Кб, 8 просмотров)
__________________
Мастерская СПДС
doctorraz вне форума  
 
Непрочитано 04.06.2020, 11:57
#4894
Warlock-72


 
Регистрация: 04.06.2020
Сообщений: 7



Спасибо, буду иметь в виду.
Warlock-72 вне форума  
 
Непрочитано 04.06.2020, 15:48
1 | #4895
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


Цитата:
Сообщение от doctorraz Посмотреть сообщение
Возможно кому-то будет интересно
В файле 6 объектов ТЕКСТ
Файл открывается, но при проверке -аудите на каждый текст выдает по две ошибки
АК пишет, что исправил, но на самом деле нет
ЗЫ конечно в фале традиционно следы СПДС CS, наны и черт еще знает чего)))
Выдели тексты, поменяй им выравнивание, потом поставь начальное. Ошибки исчезнут (файл можно даже не особо и чистить).

----- добавлено через ~1 мин. -----
Возможно, придется эту операцию сделать пару раз.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 04.06.2020, 16:12
#4896
doctorraz

электрик
 
Регистрация: 19.02.2010
Волгоград
Сообщений: 2,293
Отправить сообщение для doctorraz с помощью Skype™


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Выдели тексты, поменяй им выравнивание, потом поставь начальное.
спасибо, просто эти тексты и возможно, что то другое были в боевом файле..
в итоге по совокупности ошибок валило файл, вплоть до невозможности восстановить средствами АК... спасибо нане... он пмогает там где АК пасует..
-----------
но ты же прекрасно понимаешь, что для боевого файла (в реальной работе) твой совет неприменим.. надо знать каким текстам и текстам ли надо менять выравнивание.... или что-то то еще..
есть ошибки аудита, АК их видит, но только имитирует исправление...
я об этом.
__________________
Мастерская СПДС
doctorraz вне форума  
 
Непрочитано 04.06.2020, 16:23
#4897
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


Если касаться именно этих текстов - обрати внимание, установлено выравнивание MIddle Right, но фактически объекты имеют выравнивание Top Left. Возможно, прокатит программное изменение выравнивания - не знаю. ВОзможно, поможет экспорт в DXF и последующий импорт.
Мне больше всего интересно, откуда такой файл вообще прискакал. И какова история появления в нем этих текстов
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 04.06.2020, 16:58
#4898
doctorraz

электрик
 
Регистрация: 19.02.2010
Волгоград
Сообщений: 2,293
Отправить сообщение для doctorraz с помощью Skype™


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Мне больше всего интересно, откуда такой файл вообще прискакал.
самому интересно...
мне прилетело от далеких иногородних смежников..
возможно у них там, что то типо магикад или аналогичного... не знаю точно
потом немного СПДС CS (у меня) но СПДС сам на себе не глючит (почти)
часто эта смесь при сохранении... АК валится с ошибкой и потом файл невосстановим средствами АК...
но нана его открывает и лечит.... до следующего раза
естественно все известные в этой теме способы лечения и чистки опробованы, но.. периодически краш и невозможность восстановления.
Еще интересное заметил.. эти файлы невозможно импортировать из листа в файл -модель.. неизменно получается файл нулевой длины.
__________________
Мастерская СПДС
doctorraz вне форума  
 
Непрочитано 04.06.2020, 18:07
#4899
durt


 
Регистрация: 04.06.2020
Сообщений: 1


Добрый день!
Помогите восстановить файл .dwg
A-CAD 2015.
Файл после перезаписи с неисправного компьютера.
Копий (bak, SV) не осталось.
Файл в ЗИПе.
Вложения
Тип файла: zip Pech-CiO2.zip (9.56 Мб, 13 просмотров)
durt вне форума  
 
Непрочитано 04.06.2020, 20:12
#4900
Артур Хисамутдинов


 
Регистрация: 18.09.2014
Сообщений: 1


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

Вот сам файлик, забыл приложить)))
Вложения
Тип файла: dwg
DWG 2007
111.dwg (957.3 Кб, 19 просмотров)

Последний раз редактировалось Кулик Алексей aka kpblc, 04.06.2020 в 20:45.
Артур Хисамутдинов вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Восстановление *.DWG

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Восстановление *.DWG - Помогите Солидворкер AutoCAD 257 17.06.2008 23:07