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

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

Произвольное смещение многострочных атрибутов в блоке.

Ответ
Поиск в этой теме
Непрочитано 22.12.2008, 15:26
Произвольное смещение многострочных атрибутов в блоке.
Makswell
 
Инженер-строитель
 
Киров
Регистрация: 15.08.2007
Сообщений: 2,204

Всем привет.

Даже не знаю, может надо было сразу в в программирование, но тем не менее - может не так всё мрачно окажется.

Суть проблемы такая. В блоке присутствуют многострочные атрибуты. И они время от времени произвольно смещаюся. Причем, как показало изучение атрибутов через объектную модель, смещение происходит именно в самом описании блока (т.е. в семействе блоков), а не во вхождении. Но в том то и дело, что сам блок не редактировался!

Прикладываю файлы (формат 2007): в одном блок - как он должен быть, во втором произошло смещение (ещё раз подчеркну - редактирование блока ни коим образом не применялось).

Вот лисп, которым я смотрел интересующие меня свойства многострочных атрибутов в данном блоке:
Код:
[Выделить все]
(vlax-for fam_item
	  (vla-Item
	    (vla-get-Blocks (vla-get-ActiveDocument (vlax-get-acad-object)))
	    "M-Форматка(дин_блок)_подшивка"
	  )
  (if (= (vla-get-ObjectName fam_item) "AcDbAttributeDefinition")
    (if	(= (vla-get-MTextAttribute fam_item) :vlax-true)
      (progn
	(mapcar	'(lambda (x)
		   (princ x)
		   (princ "=")
		   (if (= (type (vlax-get-property fam_item x)) 'variant)
		     (princ (vlax-safearray->list
			      (vlax-variant-value (vlax-get-property fam_item x))
			    )
		     )
		     (princ (vlax-get-property fam_item x))
		   )
		   (terpri)
		 )
		(list 'TagString     'Alignment	    'InsertionPoint
		      'MTextBoundaryWidth	    'MTextDrawingDirection
		      'TextAlignmentPoint
		     )
	)
	(terpri)
      )
    )
  )
)
Лисп показал, что у атрибута "ПРОЕКНАЯ_ФИРМА" изменились свойства InsertionPoint и TextAlignmentPoint. Вот так вот сами по себе взяли и изменились.

Вопрос как всегда: кто виноват и что делать?

ЗЫ Автокад 2008 - SP1 русский

Вложения
Тип файла: zip Приложение.zip (81.1 Кб, 266 просмотров)

Просмотров: 60116
 
Непрочитано 26.07.2019, 14:08
#181
allar8


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


Цитата:
Сообщение от mikhail84 Посмотреть сообщение
Данная проблема, смещение атрибутов, решается довольно просто. После вставки блока в новый файл или открытии файла с блоком в новой версии autocad, выполняем команду АТРОБНОВИТЬ (_Atrsync) для блока и делаем РЕГЕН.
А вот проблему с дублирующимися полями в атрибутах пока решить не получается
Ставьте себе 2019 акад и выше, если есть возможность - и должно быть усе гуд. И желательно, если есть возможность, всем работать в под 2019 и выше
allar8 вне форума  
 
Непрочитано 26.07.2019, 14:36
#182
mikhail84


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


Цитата:
Сообщение от allar8 Посмотреть сообщение
Ставьте себе 2019 акад и выше, если есть возможность - и должно быть усе гуд. И желательно, если есть возможность, всем работать в под 2019 и выше
Ага и появятся новые проблемы)))
mikhail84 вне форума  
 
Непрочитано 26.07.2019, 14:57
#183
allar8


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


Цитата:
Сообщение от mikhail84 Посмотреть сообщение
Ага и появятся новые проблемы)))
Я ж говорю, если есть возможность)))
А если вы про проблемы с настройкой - то экспортом.
А так вроде нормальные акады в 19 работал - усе гуд, стабилен. ща в 20 работаю - тож гуд.
allar8 вне форума  
 
Непрочитано 29.07.2019, 10:17
#184
mikhail84


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


Цитата:
Сообщение от allar8 Посмотреть сообщение
Я ж говорю, если есть возможность)))
А если вы про проблемы с настройкой - то экспортом.
А так вроде нормальные акады в 19 работал - усе гуд, стабилен. ща в 20 работаю - тож гуд.
Нет, я не про проблемы с настройкой. Я про разные глюки совместимости. Если все время работаешь в одной и той же версии Акада, то все норм. А вот если приходится в работе использовать чертежи, сделанные разными людьми, в разных версиях, то ... .
mikhail84 вне форума  
 
Непрочитано 29.07.2019, 10:45
#185
allar8


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


Цитата:
Сообщение от mikhail84 Посмотреть сообщение
Нет, я не про проблемы с настройкой. Я про разные глюки совместимости. Если все время работаешь в одной и той же версии Акада, то все норм. А вот если приходится в работе использовать чертежи, сделанные разными людьми, в разных версиях, то ... .
Да не с более поздними версиями акада проблем совместимости нет - по крайней мере я не замечал. Но если по теме, то для исключения смещения атрибутов, не помню, обязательно или нет сохранять по 2018. Но в качестве рекомендаций я бы сохранял файлы под 2018, если все таки будете 2019 ставить и работать вместе. Сохранение в разы во первых быстрее. Во вторых есть уверенность в том что атрибуты убегать и дублироваться не будут, если все будут придерживаться этого принципа.
Гадость со смещением пошла с 2010 акада, а с дублированием с 2017.
Если заказчик требует в ранних версиях акада, то перед отправкой пакетно можно преобразовать.
Но сами понимаете проблема со смещением может вернуться, а может и норм будет - сам не проверял что будет при пересохранении с более поздней версии на более раннюю. Точнее жалоб не поступало)

Последний раз редактировалось allar8, 29.07.2019 в 11:23.
allar8 вне форума  
 
Непрочитано 22.12.2023, 18:47
#186
ezeff

гуру AutoCad 81 уровня ))
 
Регистрация: 14.01.2010
Сочи
Сообщений: 23
<phrase 1=


Решение так и не найдено?
ezeff вне форума  
 
Непрочитано 22.12.2023, 19:39
#187
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от ezeff Посмотреть сообщение
Решение так и не найдено?
А прочитать чуть выше?
Цитата:
Сообщение от allar8 Посмотреть сообщение
Ставьте себе 2019 акад и выше, если есть возможность - и должно быть усе гуд. И желательно, если есть возможность, всем работать в под 2019 и выше
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 23.12.2023, 18:29
#188
ezeff

гуру AutoCad 81 уровня ))
 
Регистрация: 14.01.2010
Сочи
Сообщений: 23
<phrase 1=


Решение найдено.
Несколько дней назад сохранял файлы в 19 автокаде, потом редактировал в 13, слетело положение аттрибутов.

Решение:
1.Очищаем чертеж (purge)
2.Проводим аудит с исправлением ошибок (audit)
3.Сохраняем
4.Сохраняем в формате dxf. Год любой. В моём случае это были 2010 и 2007
5.Закрываем файл. Закрываем автокад (очистка мусора из памяти компа)
6.Открываем автокад. Вместо открытия файла выбираем Восстановление... (recovery...) Восстанавливаем dxf
7.Снова очищаем чертеж (purge)
8.Снова проводим аудит с исправлением ошибок (audit)
9.Снова очищаем чертеж (purge). На этом этапе возможно нечего будет очищать, но в некоторых случаях п.7-8 повторяются до 3х раз (если объёмные файлы).
10.Синхронизируем атрибуты блоков Battman или диспатблк.
11.Сохраняем в dwg.
Помогало даже в тяжёлых случаях. Как я понимаю в автокаде происходит какой-то сбой утечка памяти, аварийное закрытие и т.п. и после этого в самом файле слетают атрибуты. В моём случае в многих файлах слетало положение атрибутов, а именно выравнивание по правой стороне.
ezeff вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Произвольное смещение многострочных атрибутов в блоке.

Размещение рекламы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Порядок атрибутов в блоке {Smirnoff} Программирование 14 16.06.2022 12:20
Устанавливаемые атрибуты в динамическом блоке и работа с подшивкой. Dmitriy_Altproekt Динамические блоки 45 09.12.2015 10:38
Смещение многострочных атрибутов AutoCad 2008 Abramov AutoCAD 4 03.08.2007 12:33