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

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

Почему не обновляются поля в таблице?

Ответ
Поиск в этой теме
Непрочитано 21.06.2011, 17:19
Почему не обновляются поля в таблице?
AlexV
 
Инженер
 
С-Пб
Регистрация: 02.10.2008
Сообщений: 3,685

Таблица - в файле, вопрос - в названии темы. Сей глюк коснулся только моего автокада или он живет в файле?

Вложения
Тип файла: dwg
DWG 2010
таблица1.dwg (104.2 Кб, 3417 просмотров)

__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!
Просмотров: 25172
 
Автор темы   Непрочитано 23.04.2012, 16:17
#21
AlexV

Инженер
 
Регистрация: 02.10.2008
С-Пб
Сообщений: 3,685


Цитата:
Сообщение от Krolik999 Посмотреть сообщение
Господа проектировщики, найдено какое-то комплексное решение?
Решение для борьбы с глюком необновляемости полей? Мною - не найдено. Для конкретного частного случая - спецификаций КЖ написал для себя vba код, считающий врс для арматуры и попутно пересчитывающий веса в таблице.. стабильно работает, увы, токмо под 32 бита..
__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!
AlexV вне форума  
 
Непрочитано 24.05.2012, 16:24
#22
ServantosS


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


Возможно причина необновления полей кроется в том, в какой версии автокада сохранент файл. У меня был подобный глюк в полях в таблице при работе в автокаде 2010. При этом в настройках у меня по умолчанию стоит сохранение в версию 2004 автокада. Поля перестали обновляться после сохранения файла и очередного запуска. Причем глюк ушел куда-то глубоко, т.к. даже ручное обновление полей не давало правильной работы таблицы. Ячейки с формулами завязанными на ячейках с полями продолжали брать откуда-то старое значение, т.е. не изменялись. Пришлось и формулы тоже перезабивать, благо, их не много. Когда все обновил в таблице, сохранил файл в версии автокада 2007. После открытия все обновляется через команду "обновить поля".
ServantosS вне форума  
 
Автор темы   Непрочитано 08.06.2012, 17:26
#23
AlexV

Инженер
 
Регистрация: 02.10.2008
С-Пб
Сообщений: 3,685


А вот интересно, товарищи суперлисперы или net-еры.. А нельзя ли замутить простенький код, пробегающий по всем ячейкам таблицы, и при наличии в ячейке поля, считывающий его и заново его же записывающий в сию ячейку? Может эта операция поможет обновиться полям в таблице? Жутко запарили эти глюки с табличными полями.. Как-то пробегаться по полусотне листов и заходить в каждое поле со ссылкой, скажем, на дату или шифр чертеже, - не есть это хорошо..
__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!
AlexV вне форума  
 
Непрочитано 30.07.2015, 15:19
#24
Vtrk

Инженер-конструктор
 
Регистрация: 11.05.2006
Сообщений: 163


Решение проблемы кем-нибудь найдено?
__________________
Тот, у кого есть мозги и руки, никогда не пропадет от голода и скуки.
Vtrk вне форума  
 
Непрочитано 23.12.2017, 16:08
#25
zRaFiNaDz


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


Присоединяюсь к вопросу, не нашел никто в чем проблема сидит?
У меня уже шестой проект перестает считать автоматически формулы. Уже снес полностью все и ватокад и СПДС, создал с нуля стили, создал новый чертеж, все замечательно считается, но в какой-то момент просто все крашится и перестает считать. Пробовал менять шрифты на Shx - без толку, пробовал вбивать через Ctrl+F - объект - формула и туда вводил, что нужно посчитать - и вроде бы получалось обновить результат, но после повторного открытия файла - опять не обновляет.

Заметил небольшую закономерность - это начиналось когда в Мтексте на другом листе - слетало форматирование (то междустрочный интервал улетал, то абзац становился 490 мм). Почему слетает форматирование текста - ума не приложу. И вообще кто-нибудь знает где в ватокаде отключить автоформатирование совсем, потому что иногда такую чушь делает, что не знаешь плакать или смеяться?
Вложения
Тип файла: dwg
DWG 2013
Ватокад достал.dwg (376.1 Кб, 26 просмотров)

Последний раз редактировалось zRaFiNaDz, 23.12.2017 в 16:29. Причина: Приложил файл с проблемой
zRaFiNaDz вне форума  
 
Непрочитано 23.12.2017, 20:29
#26
Сергей812


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


может, использовать связь с внешней таблицей в эксель?
Сергей812 вне форума  
 
Непрочитано 24.12.2017, 07:05
#27
zRaFiNaDz


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


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
может, использовать связь с внешней таблицей в эксель?
Спасибо. Может конечно и получиться (лишь бы все работало как часы). Почитаю и посмотрю видео на досуге.
К тому же общая спецификация металла у меня автоматом формируется в экселе - я ее на лист вставляю как объект OLE.
Но все таки хотелось бы добраться до причины глюка Автокада.

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

Последний раз редактировалось zRaFiNaDz, 24.12.2017 в 11:34. Причина: UPDATE
zRaFiNaDz вне форума  
 
Непрочитано 25.12.2017, 10:27
#28
VitalyAF


 
Регистрация: 19.07.2005
Россия
Сообщений: 3,224


zRaFiNaDz
Таблица считает и обновляет даже несмотря на то, что "Наименование" умножаете на "кол-во" - "D4*C4+D5*C5+D6*C6"!!!
AlexV ваша тоже работает нормально, проверьте, есть ли обновления.
Проверял на AMEP2018 1.1 ENG

Последний раз редактировалось VitalyAF, 25.12.2017 в 10:48.
VitalyAF на форуме  
 
Автор темы   Непрочитано 25.12.2017, 11:07
#29
AlexV

Инженер
 
Регистрация: 02.10.2008
С-Пб
Сообщений: 3,685


Цитата:
Сообщение от VitalyAF Посмотреть сообщение
zRaFiNaDz
Таблица считает и обновляет даже несмотря на то, что "Наименование" умножаете на "кол-во" - "D4*C4+D5*C5+D6*C6"!!!
AlexV ваша тоже работает нормально, проверьте, есть ли обновления.
Проверял на AMEP2018 1.1 ENG
У меня пока А2016. Глюки с обновлением полей в акадотаблицах - сохранились. Высока вероятность, что сие связано с использованием подшивок & СПДС CS (версия 10). По-крайней мере, глюк в СПДС при использовании подшивок разработчики признали и говорят, что в последней (12) версии исправили, но у меня пока десятка..
Вообще, поля в таблицах автокада сейчас использую только в штампах - ссылки на свойства листов подшивки (то, с чего тему начинал, давно не использую - спецификации теперь средствами спдс автоматически считаются). Поскольку убитый в версиях до А2014 зомби - vba нынче вроде как из пепла восстал, написал для себя код, который предлагал в #23 - пробежать по листам, найти штампы, в нужные ячейки перезаписать нужные поля..
__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!
AlexV вне форума  
 
Непрочитано 25.12.2017, 16:44
#30
zRaFiNaDz


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


Цитата:
Сообщение от VitalyAF Посмотреть сообщение
zRaFiNaDz
Таблица считает и обновляет даже несмотря на то, что "Наименование" умножаете на "кол-во" - "D4*C4+D5*C5+D6*C6"!!!
AlexV ваша тоже работает нормально, проверьте, есть ли обновления.
Проверял на AMEP2018 1.1 ENG
Проблема до сих пор есть, просто так не писал бы на форум.
Сносил 2017 Автокад и СПДС (почистил реестр и удалил все папки, связанные с Автокадом) поставил 2018, СПДС к нему, посмотрел минут пятнадцать на него - плюнул и снес, СПДС с отдельной панелью свойств испохабили, теперь в обычных свойствах любой объект СПДС как полилиния и чтобы что-то изменить в в объекте, нужно свойства СПДС открывать.
Да и в Автокаде 2018 проблема осталась - ни фига не считалось как надо.

Да а про умножение наименования на количество - это я скопи-пастил косячно))))
Сейчас перешел на связь с экселем. Только Альт-табить много приходится.

Последний раз редактировалось zRaFiNaDz, 25.12.2017 в 16:57. Причина: Автодесковский СПДС.
zRaFiNaDz вне форума  
 
Непрочитано 25.12.2017, 16:56
#31
Кулик Алексей aka kpblc
Moderator

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


zRaFiNaDz, ты уточняй, про какой СПДС говоришь - про автодесковский или про сисофтовский?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 10.01.2018, 12:48
#32
Евгений_


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


Здравствуйте, попробуйте поменять разделитель дробной и целой части с запятой на точку в региональных стандартах виндовс. В автокаде в качестве разделителя всегда используется точка, а в ваших таблицах стоят запятые возможно причина глюка в этом.
Евгений_ вне форума  
 
Непрочитано 10.01.2018, 12:53
#33
zRaFiNaDz


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


Цитата:
Сообщение от Евгений_ Посмотреть сообщение
Здравствуйте, попробуйте поменять разделитель дробной и целой части с запятой на точку в региональных стандартах виндовс. В автокаде в качестве разделителя всегда используется точка, а в ваших таблицах стоят запятые возможно причина глюка в этом.
Пробовал. В-общем, как делал, вставлял столбец рядом, формат чисел не менял, формулы копировал в новый столбец - считалось на ура, что с точкой, что с запятой. После закрытия файла и повторного открытия - считать переставало, даже если разделитель был точкой и формат ячейки вообще не трогался.
zRaFiNaDz вне форума  
 
Непрочитано 10.01.2018, 13:32
#34
Евгений_


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


Странно, а у меня все работает. При повторном открытии чертежа формула с запятой не обновляется, а та что с точкой пересчитывается даже без регенерации.
AutoCAD 2017 сохранял в версии 2013

----- добавлено через ~7 мин. -----
Еще объясните, как вам удалось создать разделитель запятую если вы поменяли стандартный на точку?
Евгений_ вне форума  
 
Непрочитано 16.01.2018, 22:31
#35
DMS-chiii


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


Содержимое > Дополнительный формат > Дробная часть
DMS-chiii вне форума  
 
Непрочитано 04.02.2018, 08:10
#36
МишаИнженер


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


Файл скачал. Поля не обновляются. Какой способ решения этой проблемы? У меня подозрение что эти проблемы начинаются когда ACAD сильно подвисает из-за проблем с привязками при вставке блоков. После этого ACAD оптимизирует файл (отключает опцию обновления полей в каждой таблице) чтобы сократить объём вычислений. Блок вставляется а потом ACAD забывает включить опцию обновления полей в таблице и таблица не обновляется
МишаИнженер вне форума  
 
Непрочитано 17.04.2018, 13:07
#37
Sambioz


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


Решение:
Постараюсь описать как можно подробнее, извиняюсь, если слишком
Итак, имеем таблицу со столбцами A В и С, в которых А и В - исходные данные, С - формула А+В. В итоге, по стечению звезд неизвестным причинам вместо результата в столбце С имеем "решетки" ###
Исправляем:
1. Выделяем столбцы с исходными данными А и В, правая кнопка -> меню -> "Формат данных" (у меня там уже настроено "Десятичное число-десятичные-точность не важно") ничего не меняя просто нажимаем ОК. Тут есть нюанс. Если в таблице было хоть одно ненулевое значение, то все формулы автоматически обновятся и можно переходить к п.2. Если мы делаем шаблон с "нулями", то формулы визуально не обновятся, не обращаем на это внимание и также жмем ОК, после чего в любую ячейку из А или В подставляем любое число - все формулы обновятся. Опять забиваем "ноль" и выделяем столбцы А и В.
2. Для выделенных столбцов опять вызываем меню правой кнопкой. Выбираем Блокирование -> Формат заблокирован
3. Всё! Сохраняем и радуемся

Проверено для форматов *.dwt и *.dwg 2010/2018
Sambioz вне форума  
 
Непрочитано 14.12.2018, 20:11
#38
tsetse

Инженер-конструктор
 
Регистрация: 25.12.2015
Москва
Сообщений: 77


Заинтересовала проблема, сам с ней сталкивался. Решил с использованием lisp. По крайней мере на этой таблице работает. загружаем lisp, запускаем REPAIR_TAB, выбираем таблицу.
Код:
[Выделить все]
 (defun C:REPAIR_TAB ( / *error* objsel cur_tab Rows Cols row col cur_txt cur_h cur_style cur_alig elemi elnth elem regenold Fieldold field_string)
;
; Функция читает и записывает заново содержимое таблицы

; записываем и обнуляем значения regenmode и fieldeval
(setq regenold (getvar 'regenmode))
(setq Fieldold (getvar 'Fieldeval))
(setvar 'regenmode 0)
(setvar 'Fieldeval 0)

; в случае ошибки выводим сообщение об отмене
(defun *error*(msg)
	; Восстанавливаем regenmode и fieldeval
	(setvar 'regenmode regenold)
	(setvar 'Fieldeval Fieldold)
	(if (/= tblobj nil)
	(vla-put-RegenerateTableSuppressed tblobj :vlax-false)
	)
	(princ "Команда отменена")
) 

; выбираем таблицу
(progn
	(setq objsel (ssget "_+.:E:S" '((0 . "ACAD_TABLE")) ))
	(if (/= objsel nil)
		(setq cur_tab (ssname objsel 0))
		(princ "Выбрана не таблица!")
	) ;end if
) ; end progn

; преобразуем таблицу в vla
(setq tblobj (vlax-ename->vla-object cur_tab))

; читаем число строк и столбцов таблицы
(setq Rows nil)
(setq Cols nil)
(setq Rows (vlax-get-property (vlax-ename->vla-object cur_tab) 'Rows))
(setq Cols (vlax-get-property (vlax-ename->vla-object cur_tab) 'Columns))
(setq row nil)
(setq col nil)
(setq row 0)
(setq col 0)
(setq alltab nil)
; читаем содержимое таблицы и записываем в список alltab
(repeat Rows
	(progn
	(setq col 0)
	(repeat Cols
		(setq elemi nil)
		(setq cur_txt nil)
		(setq cur_txt (CELL_FIELD row col tblobj)) ; читаем текст
		(setq cur_h nil)
		(setq cur_h (vla-GetCellTextHeight tblobj row col)) ;читаем высоту текста
		(setq cur_style nil)
		(setq cur_style (vla-GetCellTextStyle tblobj row col)) ;читаем текстовый стиль
		(setq cur_alig nil)
		(setq cur_alig (vla-getCellAlignment tblobj row col)) 	;читаем выравнивание
		(setq elemi (list row col cur_txt cur_h cur_style cur_alig)) ; записываем информацию по ячейке в elemi
		(setq alltab (cons elemi alltab)) ; добавляем в список alltab информацию о ячейке elemi
		(setq col (1+ col))
	) ; end of repeat Cols
	(setq row (1+ row))
	)
) ; end of repeat rows

(setq alltab (reverse alltab))

; Заполняем содержимое таблицы из списка alltab
(setq row nil)
(setq col nil)
(setq row 0)
(setq col 0)
(vla-put-RegenerateTableSuppressed tblobj :vlax-true)
(repeat Rows
	(progn
	(setq col 0)
	(repeat Cols
		(setq elnth nil)
		(setq elnth (+ (* Cols row) col)) ;определяем необходимый номер элемента в списке alltab
		(setq elem nil)
		(setq elem (nth elnth alltab)) ; достаем необходимый элемент из списка alltab и записываем в elem 
		(setq cur_txt nil)
		(setq cur_txt (nth 2 elem)) ;достаем из elem текст
		(vla-SetText tblobj row col "")
		(vla-SetText tblobj row col cur_txt) ;записываем текст в ячейку
		(setq cur_h nil)
		(setq cur_h (nth 3 elem)) ;достаем из elem высоту текста
		(vla-SetCellTextHeight tblobj row col cur_h) ;записываем высоту текста в ячейку
		(setq cur_style nil)
		(setq cur_style (nth 4 elem)) ;достаем из elem текстовый стиль
		(vla-SetCellTextStyle tblobj row col cur_style)  ;записываем текстовый стиль в ячейку
		(setq cur_alig nil)
		(setq cur_alig (nth 5 elem)) ;достаем из elem выравнивание
		(vla-SetCellAlignment tblobj row col cur_alig) ;записываем выравнивание в ячейку
		(setq col (1+ col))
	) ; end of repeat Cols
	(setq row (1+ row))
	)
) ; end of repeat rows
(vla-put-RegenerateTableSuppressed tblobj :vlax-false)
; Восстанавливаем regenmode и fieldeval
(setvar 'regenmode regenold)
(setvar 'Fieldeval Fieldold)

) ; end of defun



; Функция получения значения ячейки или значения ее поля
; koMon  forum.dwg.ru
(defun CELL_FIELD (#row #col #tbl / fieldlen field_id)
; определяем id поля в выбранной ячейке #row #col таблицы #tbl
(setq field_id (vla-getfieldid #tbl #row #col))
; если field_id=0 (содержимое не поле, то читаем текст, иначе читаем поле
(if (= 0 field_id)
(setq field_string (vla-getText #tbl #row #col))
(progn
(setq field_string 
	(cdr 
		(assoc 2 
			(entget 
				(cdr 
					(assoc 360 
						(entget 
							(vlax-vla-object->ename
								(vla-objectidtoobject
									(vla-get-activedocument (vlax-get-acad-object))
								field_id)
							)
						)
					)
				)
			)
		)
	)
) ; end of seq
(setq field_string (strcat  "%<" field_string ">%"))
) ; end progn
) ; end if
) ; end defun
Вложения
Тип файла: lsp Repair_TABLE.lsp (4.2 Кб, 118 просмотров)
tsetse вне форума  
 
Непрочитано 16.12.2018, 02:34
#39
tsetse

Инженер-конструктор
 
Регистрация: 25.12.2015
Москва
Сообщений: 77


Цитата:
Сообщение от zRaFiNaDz Посмотреть сообщение
Присоединяюсь к вопросу, не нашел никто в чем проблема сидит?
У меня уже шестой проект перестает считать автоматически формулы. Уже снес полностью все и ватокад и СПДС, создал с нуля стили, создал новый чертеж, все замечательно считается, но в какой-то момент просто все крашится и перестает считать. Пробовал менять шрифты на Shx - без толку, пробовал вбивать через Ctrl+F - объект - формула и туда вводил, что нужно посчитать - и вроде бы получалось обновить результат, но после повторного открытия файла - опять не обновляет.

Заметил небольшую закономерность - это начиналось когда в Мтексте на другом листе - слетало форматирование (то междустрочный интервал улетал, то абзац становился 490 мм). Почему слетает форматирование текста - ума не приложу. И вообще кто-нибудь знает где в ватокаде отключить автоформатирование совсем, потому что иногда такую чушь делает, что не знаешь плакать или смеяться?
К таблице из 25 поста приложенный мной лисп не подошел, т.к. ячейка таблицы содержит "поле" в "поле". Нужно копать дальше поэтому. Лисп сработал, когда удалил в "неработающих" ячейках знак "=" перед полями
tsetse вне форума  
 
Непрочитано 20.03.2019, 22:32
#40
Жданов Вячеслав 89

Инженер
 
Регистрация: 05.08.2017
Санкт-Петербург
Сообщений: 5


Можно отключить автосохранение и тогда таблицы не будут ломатся, но появится другая проблема)
Жданов Вячеслав 89 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Почему не обновляются поля в таблице?

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
LISP. Вставка в таблицу поля, соотвествующего площади примитива Profan Готовые программы 272 06.06.2021 23:12
Не обновляются поля (вычисления) в таблицах AutoCAD 2006,2008,2010 pungarov AutoCAD 16 04.02.2018 09:35
Некорректно обновляются поля блока NEDIS AutoCAD 50 19.02.2013 15:47
Пропадают поля на видовом экране в листе klerik AutoCAD 6 06.05.2011 08:05
Как сделать сток канализационных вод из отстойника на поля фильтрации, при чем поля находятся на 70 метров выше отстойника? Мария_Мар Водоснабжение и водоотведение 4 04.04.2011 11:43