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

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

Помогите уменьшить размер файла DWG

Ответ
Поиск в этой теме
Непрочитано 04.06.2008, 19:23 1 |
Помогите уменьшить размер файла DWG
AndroiD
 
Урал
Регистрация: 06.01.2008
Сообщений: 144

Перед тем, как просить уменьшить объем файла, внимательно прочитайте FAQ: Как уменьшить объем файла dwg

Имеется некоторый файл созданный в AutoCad 2006, размер которого раздулся до 89 Мб. Файл - 2D чертеж с 14 типами динамических блоков (11 блоков содержат в среднем 15 примитивов, 3 блока 50 примитивов), блоки только объединяют примитивы, имеется вставленный растр размером 30 Мб, кроме этого чертеж содержит около 2000 объектов.
С файлом такого дикого размера невозможно работать: дикие тормоза, из пространства модели в пространства листа иногда нельзя перейти - выскакивает ошибка, программа закрывается.

История файла следущая.
До определенного момента времени работа с файлом не представляла трудностей, но после того как количество дин блоков достигло 200 штук (1блок откопированный до 200 раз) комп начал туго соображать, размер файла к этому моменту составлял порядка 1.5 Мб (вроде бы). Я принял решение разбить эти блоки.... Разбил... и видимо в следствии этого файл распух до дикого размера.

Вопрос: как уменьшить размер растолстевшего фала ничего в нем не удаляя.

Мой комп: Атлон64 3800, 2 Гб оперативы, количество свободного места на диске где установлен АКад 6 Гб, на диске котором располагается файл 4Гб.

ПС: команда purge показывает, что неиспользуемых элементов нет.

Последний раз редактировалось Кулик Алексей aka kpblc, 22.10.2018 в 11:42.
Просмотров: 960431
 
Непрочитано 08.07.2014, 09:51
#361
hellt


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


Здравствуйте. Мне опять попался жирный генплан, вырезка из которого сейчас весит под 12МБ.
Два раза прошелся скриптом (0.0.6) от kpblc, уменьшил на мегабайт, потом вручную по гугл доксу. В итоге убрал 2МБ, но все равно вес под 12МБ.
С прошлым генпланом помогло removeAllProxy, но здесь я прокси удалил сразу, непонятно, что ест столько места?
hellt вне форума  
 
Непрочитано 08.07.2014, 09:57
#362
Nomad_9


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


Кулик Алексей aka kpblc, Вы вчера мне очень помогли, но похоже ошибка перекочевала в мой другой файл. Не мог ли бы мне помочь с отчисткой файла, буду весьма благодарен.
Вложения
Тип файла: dwg
DWG 2007
Электрическая схема ИТП3 - копия1.dwg (2.78 Мб, 2285 просмотров)
Nomad_9 вне форума  
 
Непрочитано 08.07.2014, 10:31
1 | #363
Кулик Алексей aka kpblc
Moderator

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


hellt, у тебя в файле объекты AcDgnLS. Вычищаются "на ура" - хоть через ExplodeProxy, хоть через дополнение от Autodesk . Файл во вложении

Nomad_9, лог чистки:
Код:
[Выделить все]
Opening an AutoCAD 2007 format file.
Substituting [simplex.shx] for [GOST_WIN.SHX].
Regenerating model.

AutoCAD Express Tools Copyright © 2002-2004 Autodesk, Inc.

AutoCAD menu utilities loaded.

Autodesk DWG.  This file is a TrustedDWG last saved by an Autodesk application 
or Autodesk licensed application.

Command: '_.zoom _e
Command: pu PURGE
Command: _-purge
Enter type of unused objects to purge 
[Blocks/Dimstyles/LAyers/LTypes/MAterials/MUltileaderstyles/Plotstyles/SHapes/te
xtSTyles/Mlinestyles/Tablestyles/Visualstyles/Regapps/All]: _R
Enter name(s) to purge <*>:
Verify each name to be purged? [Yes/No] <Y>: _n
Deleting registered application "ACAD_DSTYLE_DIMARC_LENGTH_SYMBOL".
Deleting registered application "ACAD_DSTYLE_DIMEXT_ENABLED".
Deleting registered application "ACAD_DSTYLE_DIMEXT_LENGTH".
Deleting registered application "ACAD_DSTYLE_DIMJAG".
Deleting registered application "ACAD_DSTYLE_DIMJOGGED_JOGANGLE_SYMBOL".
Deleting registered application "ACAD_DSTYLE_DIMTALN".
Deleting registered application "ACAD_EXEMPT_FROM_CAD_STANDARDS".
Deleting registered application "ACAD_TEMP_GRAPHIC".
Deleting registered application "AcadAnnotative".
Deleting registered application "AcadAnnotativeDecomposition".
Deleting registered application "ACADM_DIM_EDIT".
Deleting registered application "ACATTRIBSERVICES".
Deleting registered application "AD_DRAW".
Deleting registered application "AMDT_DM_ADJ".
Deleting registered application "DESIGNERASSEMBLIES".
Deleting registered application "kcGroupData".
Deleting registered application "MCAD_NO_VIS".
Deleting registered application "SAPR127853056".
18 registered applications deleted.

Command: _audit
Fix any errors detected? [Yes/No] <N>: _y


Auditing Header


Auditing Tables


Auditing Entities Pass 1

Pass 1 74900   objects audited
Auditing Entities Pass 2

Pass 2 74900   objects audited
Auditing Blocks

 1       Blocks audited

Total errors found 0 fixed 0

Erased 0 objects


Command: explodeallproxy
Удалено Proxy: 0 Новых объектов: 0
Command: removeallproxy
Первая метка объекта: <1>, последняя метка объекта: <79ABA>
Всего найдено proxy-объектов: 66005. Из них proxy-примитивов: 0.
Всего удалено proxy-объектов: 66005. Из них proxy-примитивов: 0.
Для проверки ошибок выполните команду _AUDIT
. Файл во вложении.
Вложения
Тип файла: dwg
DWG 2007
Электрическая схема ИТП3 - копия1.dwg (487.2 Кб, 2239 просмотров)
Тип файла: dwg
DWG 2013
Генплан фрагмент (2).dwg (994.0 Кб, 2242 просмотров)
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 08.07.2014, 10:35
#364
hellt


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
hellt, у тебя в файле объекты AcDgnLS. Вычищаются "на ура" - хоть через ExplodeProxy, хоть через дополнение от Autodesk . Файл во вложении
Как диагоностировать наличие таких объектов?
Мой иксплоуд ничего не находит
Код:
[Выделить все]
 Открывается файл формата AutoCAD 2010.
Подстановка [simplex.shx] вместо [cs_gost2304.shx].
Подстановка [simplex.shx] вместо [CS_Gost2304.shx].
Подстановка [simplex.shx] вместо [gostw.shx].
Не удалось найти местоположение [C:\USERS\PETUNINSS.RZDP\DESKTOP\.\LOTOK].
Не удалось найти местоположение [spec.shx].
Выполняется регенерация модели.
Утилиты меню AutoCAD загружены.
Команда:
Файл Autodesk DWG. Это файл формата TrustedDWG, сохраненный в приложении 
Autodesk или в приложении, лицензированном корпорацией Autodesk.
Команда:
Команда: EXPLODEALLPROXY
Удалено Proxy: 0 Новых объектов: 0
Команда:
Команда:
Команда: _ai_selall Выбор объектов...готово.
Команда: _EXPLODEALLPROXY
Удалено Proxy: 0 Новых объектов: 0
hellt вне форума  
 
Непрочитано 08.07.2014, 10:37
#365
Bull

Конструктор по сути (машиностроитель)
 
Регистрация: 10.10.2005
Набережные Челны (это где КамАЗ)
Сообщений: 11,391


hellt, ещё раз внимательно прочти все советы со ссылками от Кулик Алексей aka kpblc. И многие вопросы отпадут.
__________________
Век живи, век учись - ...
Bull вне форума  
 
Непрочитано 08.07.2014, 10:46
#366
hellt


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


Цитата:
Сообщение от Bull Посмотреть сообщение
hellt, ещё раз внимательно прочти все советы со ссылками от Кулик Алексей aka kpblc. И многие вопросы отпадут.
Читал, пробовал, результата нет. Больше похоже, что моя проблема связана с тем, что на этой конкретной версии acad утилита explodeAllProxy не работает с этими неграфическими элементами, как было описано в этом топике
hellt вне форума  
 
Непрочитано 08.07.2014, 10:54
#367
Кулик Алексей aka kpblc
Moderator

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


Гидрит твою налево... demandload = ?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 08.07.2014, 10:58
#368
hellt


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Гидрит твою налево... demandload = ?
как и просили в гдоксе
Новое значение DEMANDLOAD <2>:
hellt вне форума  
 
Непрочитано 08.07.2014, 11:00
#369
Oleg T


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


Цитата:
Сообщение от hellt Посмотреть сообщение
Читал, пробовал, результата нет
Проще всего воспользоваться командой _wblock и создать новый файл.
Oleg T вне форума  
 
Непрочитано 08.07.2014, 11:11
#370
hellt


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


Oleg T, спасибо, действительно рабочий вариант
hellt вне форума  
 
Непрочитано 08.07.2014, 15:14
#371
_MUAY_THAI_

Проектировщик/Расчетчик
 
Регистрация: 07.05.2014
Ростов-на -Дону
Сообщений: 262


---
Вложения
Тип файла: dwg
DWG 2007
1.dwg (4.80 Мб, 2065 просмотров)

Последний раз редактировалось _MUAY_THAI_, 08.07.2014 в 15:35.
_MUAY_THAI_ вне форума  
 
Непрочитано 08.07.2014, 15:38
#372
Кулик Алексей aka kpblc
Moderator

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


Тип объекта POLYLINE, насколько я помню, достаточно старый, и его рекомендовали преобразовывать в LWPOLYLINE. Команда _.convert выполняет эту задачу на ура.
Далее. Одна полилиния имеет 47 вершин, а вот вторая - 181 545. Как думаешь, легко она будет обрабатываться?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 08.07.2014, 15:50
#373
_MUAY_THAI_

Проектировщик/Расчетчик
 
Регистрация: 07.05.2014
Ростов-на -Дону
Сообщений: 262


Кулик Алексей aka kpblc,
"Корова не моя" (с)
Подрядчик прислал чертеж, в "толпе" линию выделить удается и удалить получается. Но если на листе оставить ее только одну то пиши пропало.
Там друг на дружке в итоге было 15 полилиний, из них 13 маленьких (внизу большой расположены). Маленькие удалить удается а большие по одиночке нет. Ну уже победил удалив с толпой.

Главное что не беда с прокси объектами (поэтому и отвечал в http://forum.dwg.ru/showthread.php?p=1285613, там с Александр Ривилис обсуждали размер этого файла)

// не осознал переноса, думал что веткой промахнулся, коммент бы оставил. А то нотификации на почту разом две упало, с задержкой

---

Алексей а есть ли способ бегло и быстро определить кто много весит? (кроме случая половинного деления и удаления, слишком долго)
Быстрый анализатор физического объема линии или количества вершин больше разумного числа
_MUAY_THAI_ вне форума  
 
Непрочитано 08.07.2014, 16:23
#374
Кулик Алексей aka kpblc
Moderator

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


Теоретически можно, но это программу надо писать...

----- добавлено через ~12 мин. -----
Если по-быстрому и только для полилиний:
Код:
[Выделить все]
 (vl-load-com)

(defun c:report (/ adoc lst convert_req vertex file handle)
  (vlax-for blk_def (vla-get-blocks (setq adoc (vla-get-activedocument (vlax-get-acad-object))))
    (if (equal (vla-get-isxref blk_def) :vlax-false)
      (vlax-for ent blk_def
        (cond
          ((and (not convert_req)
                (= (vla-get-objectname ent) "AcDb2dPolyline")
                ) ;_ end of and
           (setq convert_req t)
           )
          ((and (= (vla-get-objectname ent) "AcDbPolyline")
                (> (setq vertex (length (vl-remove-if-not
                                          (function
                                            (lambda (x)
                                              (= (car x) 10)
                                              ) ;_ end of LAMBDA
                                            ) ;_ end of function
                                          (entget (vlax-vla-object->ename ent))
                                          ) ;_ end of vl-remove-if-not
                                        ) ;_ end of LENGTH
                         ) ;_ end of setq
                   50000
                   ) ;_ end of >
                ) ;_ end of and
           (setq lst (cons (list (cons "BlockName"
                                       (if (vlax-property-available-p blk_def 'effectivename)
                                         (vla-get-effectivename blk_def)
                                         (vla-get-name blk_def)
                                         ) ;_ end of if
                                       ) ;_ end of cons
                                 (cons "Layer" (vla-get-layer ent))
                                 (cons "VertexCount" (vl-princ-to-string vertex))
                                 ) ;_ end of list
                           lst
                           ) ;_ end of cons
                 ) ;_ end of setq
           )
          ) ;_ end of cond
        ) ;_ end of vlax-for
      ) ;_ end of if
    ) ;_ end of vlax-for
  (if lst
    (if (setq file (getfiled "Èìÿ ôàéëà îò÷åòà" "" "txt" 1))
      (progn
        (setq handle (open file "w"))
        (if convert_req
          (write-line "Command _.convert required" handle)
          ) ;_ end of if
        (foreach item lst
          (write-line (apply (function strcat)
                             (mapcar
                               (function
                                 (lambda (x)
                                   (strcat (car x) " : " (cdr x) "; ")
                                   ) ;_ end of lambda
                                 ) ;_ end of function
                               item
                               ) ;_ end of mapcar
                             ) ;_ end of apply
                      handle
                      ) ;_ end of write-line
          ) ;_ end of foreach
        (close handle)
        ) ;_ end of progn
      (progn
        (if convert_req
          (write-line "Command _.convert required")
          ) ;_ end of if
        (foreach item lst
          (write-line (apply (function strcat)
                             (mapcar
                               (function
                                 (lambda (x)
                                   (strcat (car x) " : " (cdr x) "; ")
                                   ) ;_ end of lambda
                                 ) ;_ end of function
                               item
                               ) ;_ end of mapcar
                             ) ;_ end of apply
                      ) ;_ end of write-line
          ) ;_ end of foreach
        ) ;_ end of progn
      ) ;_ end of if
    ) ;_ end of if
  (princ)
  ) ;_ end of defun
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 09.07.2014, 08:01
#375
_MUAY_THAI_

Проектировщик/Расчетчик
 
Регистрация: 07.05.2014
Ростов-на -Дону
Сообщений: 262


Кулик Алексей aka kpblc, спс опробую
---
Я так понял беда в том что при таком кол-ве вершин когда выбираешь толпой он вершины не отображает и процессор не нагружается. А когда индивидуально то процессор пытается все отобразить и загибается. Вероятно если возможно отключить отображение точек в вершинах то от такого можно избавиться
_MUAY_THAI_ вне форума  
 
Непрочитано 09.07.2014, 09:15
#376
Кулик Алексей aka kpblc
Moderator

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


GRIPOBJLIMIT не спасет - уже проверил. Может быть, сработает отключение NOPREVIEWGRIP с отключенной панелью свойств - не знаю.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 17.07.2014, 15:19
#377
741520

Инжинегр
 
Регистрация: 09.12.2011
Сообщений: 433


Уважаемые гуру, представляю вашему вниманию еще один экспонат. Это просто мега файл. В нем нет ничего (кроме одной текстовой строчки). И он весит...внимание...барабанная дробь...21,3Мб !!!
REMOVEALLPROXY и Purge не смогли заставить похудеть этого толстяка.
Кто расскажет что же в нем за "темная материя" скрыта?
Заранее спасибо.
У меня AutoCAD 2012 ENG 64bit
из довесок
СПДС GraphiCS 7
Вложения
Тип файла: zip Пустой файл=).zip (8.52 Мб, 59 просмотров)
741520 вне форума  
 
Непрочитано 17.07.2014, 15:52
1 | #378
Кулик Алексей aka kpblc
Moderator

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


AcDgnLS : 552 347 объектов. Добро пожаловать в ссылки из первого поста.
Вложения
Тип файла: dwg
DWG 2010
Пустой файл=) (DWG2010 by ACAD2015).dwg (84.2 Кб, 2419 просмотров)
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 17.07.2014, 16:30
#379
741520

Инжинегр
 
Регистрация: 09.12.2011
Сообщений: 433


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
AcDgnLS : 552 347 объектов. Добро пожаловать в ссылки из первого поста.
Спасибо!
Оказывается после DEMANDLOAD=2 нужно перезагружать автокад. Это ключевое понятие. Теперь я вижу что у меня во многих файлах эти AcDgnLS завелись.
Что такое AcDgnLS ? Почему эти объекты невидимы, невыделяются и соответственно неудаляются стандартным delete.
741520 вне форума  
 
Непрочитано 18.07.2014, 11:55 Файл AutoCAD весит 15Мб...как исправить
#380
Denis46


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


При таком размере просто не возможно что либо делать с данным файлом
Denis46 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Помогите уменьшить размер файла DWG



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Большой размер файла, как от этого избавиться? Pac AutoCAD 51 10.12.2015 14:09
Не хватает файла adlmint.dll Помогите!!! t0rped0 AutoCAD 4 06.05.2010 10:54
Как по координатам из метода GetBoundingBox уменьшить размер disintegrator Программирование 8 26.10.2005 23:35
Размер файлов .dwg СВС AutoCAD 5 14.04.2005 11:15
Размер файла dwg alex-alex Прочее. Архитектура и строительство 5 10.09.2004 00:28