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

Вернуться   Форум 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 просмотров)

Просмотров: 60119
 
Непрочитано 20.10.2016, 08:19
#81
allar8


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


Цитата:
Сообщение от xag Посмотреть сообщение
версия 2017 SP1. Засада.
Та же проблема.
Пришлось решить так.
В штампах чертежей, удалил проблемные атрибуты блока штампа. Создал МТЕКС и вставил поверх блока. В МТЕКСТ вставил поля. Длинные названия полей не уезжают. Не зависит от шрифтов. Красота!!!
))) Я тоже раньше так делал, но это не очень удобно, мтекст не поползет сам по себе при перетаскивании рамки вместе с ней, если его не сгруппировать с ней, а это дополнительные манипуляции. Но то что Красота!!! - не спорю))))
Да и в палитру такую динамическую рамку без этих атрибутов засовывать нет смысла

Последний раз редактировалось allar8, 20.10.2016 в 08:29.
allar8 вне форума  
 
Непрочитано 20.10.2016, 09:52
#82
xag


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


Цитата:
Сообщение от allar8 Посмотреть сообщение
мтекст не поползет сам по себе при перетаскивании рамки вместе с ней
При варианте работы - одна вкладка листа это один лист (чертеж). Надобность в перетаскивании штампа чертежа вроде нет надобности.

Цитата:
Сообщение от allar8 Посмотреть сообщение
Да и в палитру такую динамическую рамку без этих атрибутов засовывать нет смысла
Да и в инструментальную палитру зачем засовывать, если файл можно создается по шаблону в котором будет сидеть штамп с МТЕКСТом.

Может конечно чего не знаю!
__________________
С уважением, xag!
xag вне форума  
 
Непрочитано 20.10.2016, 10:03
#83
allar8


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


Про шаблоны согласен. В инстументалку - для удобства и при желании подредактировать блок, а потом переопределять в других файлах. У нас вроде к счастью нет такого нехорошего требования, на мой взгляд, по поводу один чертеж один лист. Это для подшивок если только, но я слава богу от них ушел и счастлив. Автоматизировано печатать можно и из простравнства модели и без подшивок - но это уже другая тема. Не спорю что Ваш метод имеет право тоже на жизнь. В общем кому как нравится. Жаль что все таки данная тема до сих пор не имеет нормального решения, как собственно говоря тут многие и говорят.
allar8 вне форума  
 
Непрочитано 15.11.2016, 13:31
1 | #84
Tamara_N


 
Регистрация: 20.10.2016
Москва
Сообщений: 13


Я попробовала сделать атрибуту в блоке выравнивание середина влево, а во вхождении блока уже выровняла по центру. Вроде пока помогло, не знаю, надолго ли)
Шрифт у нас ISOPEUR, но его менять не положено.
Tamara_N вне форума  
 
Непрочитано 15.11.2016, 13:33
#85
allar8


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


Цитата:
Сообщение от Tamara_N Посмотреть сообщение
Я попробовала сделать атрибуту в блоке выравнивание середина влево, а во вхождении блока уже выровняла по центру. Вроде пока помогло, не знаю, надолго ли)
Шрифт у нас ISOPEUR, но его менять не положено.
Интересный подход попробуем, а при вставке их палитрты - все равно наверно будет середина влево?
allar8 вне форума  
 
Непрочитано 15.11.2016, 15:50
#86
Tamara_N


 
Регистрация: 20.10.2016
Москва
Сообщений: 13


Цитата:
Сообщение от allar8 Посмотреть сообщение
Интересный подход попробуем, а при вставке их палитры - все равно наверно будет середина влево?
Точно сказать не могу, но с палитры по-другому у меня не получилось, чтобы не середина вправо) может, есть какой-нибудь хитрый способ...

Хотела еще спросить. Жаловалась на работе на глюк с атрибутами, и ребята рассказали, что у них атрибуты не только улетают, но иногда и вообще обнуляются. Разбивали чертеж на листы и вставляли рамку со штампом, и в какой-то момент поля в штампах на всех листах оказались пустыми. Вроде никаких хитрых манипуляций с чертежом не производили. Это глюк из той же серии или что-то новое?
Tamara_N вне форума  
 
Непрочитано 15.11.2016, 18:15
#87
allar8


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


Цитата:
Сообщение от Tamara_N Посмотреть сообщение
но иногда и вообще обнуляются.
Сталкивался с подобным после редактирования самих атрибутов в блоке. Но, вроде после перезапуска файла все восстанавливается. Единственное что могу тут сказать, как мне кажется, такое возможно если мы все таки заходим в редактор блоков.
allar8 вне форума  
 
Непрочитано 19.02.2017, 21:33
#88
Genf

Другие берега
 
Регистрация: 12.09.2009
г. Краснодар
Сообщений: 314


Цитата:
Сообщение от Barmaley Bubusikin Посмотреть сообщение
В 2017 съезжают атрибуты в блоках, сделанных в 2016. Кроме того в этих атрибутах могут дублироваться поля по нескольку раз.
Это факт. 2016 пропустил. В 2015 все ок, а в 2017 беда (со всеми последними сервис паками).
Вопрос как быстро изменить такую бяку во множестве файлов? Есть мысли?
Миниатюры
Нажмите на изображение для увеличения
Название: Штамп.jpg
Просмотров: 139
Размер:	120.7 Кб
ID:	183967  
__________________
День прожит зря, если за день ты не узнал ничего нового!
Genf вне форума  
 
Непрочитано 16.06.2017, 13:23
#89
Mariec

ОПС, СВН, СОТ, ПБ
 
Регистрация: 10.08.2016
Казань
Сообщений: 19


Та же самая проблема уже много лет подряд, в 14, 15, 16, 18 автокадах... Раньше заходил в блок, крутил колесом, нажимал закрыть блок с сохранением изменений и все вставало на места...
Сейчас произошел новый виток проблемы... Открываю блок все стоит на месте, как и должно и даже сохранив его, на чертеже атрибыты все равно плывут... даже не встают на место
Mariec вне форума  
 
Непрочитано 16.06.2017, 13:25
#90
Кулик Алексей aka kpblc
Moderator

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


_.attsync не помогает?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 16.06.2017, 13:47
| 1 #91
Alexeipost


 
Регистрация: 07.12.2010
Уфа
Сообщений: 425
<phrase 1=


Цитата:
Сообщение от Mariec Посмотреть сообщение
Та же самая проблема уже много лет подряд, в 14, 15, 16, 18 автокадах... Раньше заходил в блок, крутил колесом, нажимал закрыть блок с сохранением изменений и все вставало на места...
Сейчас произошел новый виток проблемы... Открываю блок все стоит на месте, как и должно и даже сохранив его, на чертеже атрибыты все равно плывут... даже не встают на место
Видимо Autodesk узнали о решении проблемы ("...покрутил колесиком, закрыл и сохранил блок...") и пофиксили этот "баг"))))
Теперь ищем новый способ решения проблемы.
Alexeipost вне форума  
 
Непрочитано 16.06.2017, 15:03
#92
allar8


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


Цитата:
Сообщение от Alexeipost Посмотреть сообщение
Видимо Autodesk узнали о решении проблемы ("...покрутил колесиком, закрыл и сохранил блок...") и пофиксили этот "баг"))))
Теперь ищем новый способ решения проблемы.
С 17 автокадом в файлах созданых в более ранних версиях еще и дублирование текста атрибута появилось. Так что, хоть крути хоть не крути колесом))). Чем то мне сейчас Autodesk Била Гейтса напомнил. А помните как ругали Била Гейтса за его Windows 95 и за убранную кнопку Пуск в Windows8.
allar8 вне форума  
 
Непрочитано 16.06.2017, 15:15
#93
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от allar8 Посмотреть сообщение
С 17 автокадом в файлах созданых в более ранних версиях еще и дублирование текста атрибута появилось.
allar8, нет такого, только что специально проверил. Или давай свой файл без дублирования.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 16.06.2017, 15:45
1 | 1 #94
exez


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


Да бесит этот баг.
Сам лечу переопределением блока через Design center. Но почему Autodesk не пофиксит это? не понимаю.. может написать им коллективно?
exez вне форума  
 
Непрочитано 16.06.2017, 15:50
#95
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,589


Цитата:
Сообщение от exez Посмотреть сообщение
Да бесит этот баг.
Сам лечу переопределением блока через Design center. Но почему Autodesk не пофиксит это? не понимаю.. может написать им коллективно?
9 июня 2017 года с 8:00 до 21:00 по московскому времени прошел день "Спросите экспертов AutoCAD", если так уж мешает, вопрос задавали?
Boxa вне форума  
 
Непрочитано 16.06.2017, 15:50
#96
allar8


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
allar8, нет такого, только что специально проверил. Или давай свой файл без дублирования.
Прикладываю файл с дублированием и указываю в нем что может дублироваться. А дублируются ссылки в аттрибуте из свойств чертежа

Последний раз редактировалось allar8, 29.09.2019 в 20:12.
allar8 вне форума  
 
Непрочитано 16.06.2017, 17:11
#97
Кулик Алексей aka kpblc
Moderator

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


Файл сам по себе странноватый какой-то. В 2016 версии уже выполняется повтор значения поля. Мало того - я удалил атрибут "ЧЕРТЕЖ", и вместо него создал новый, однострочный, с таким же тэгом. Результат меня сильно удивил после _.attsync. Откуда все это вылезает - пока понять не смог.
Вложения
Тип файла: dwg
DWG 2013
пример-wb.dwg (176.4 Кб, 16 просмотров)
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 17.06.2017, 15:19
#98
Mariec

ОПС, СВН, СОТ, ПБ
 
Регистрация: 10.08.2016
Казань
Сообщений: 19


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
_.attsync не помогает?
Нет. Помогло только удаление атрибута из блока и вставка нового атрибута...
С аннатотивностью тоже все норм, ни один из объектов в блоке не аннатотивный
Mariec вне форума  
 
Непрочитано 30.06.2017, 08:09
2 | #99
salenaja


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


Добрый день.
Тоже столкнулась с этой проблемой. Многострочные атрибуты встали на свои места после удаления анотативности с текста. Свойства: аннотативный > нет.
salenaja вне форума  
 
Непрочитано 02.08.2017, 12:08
#100
Hishnik


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


Добрый день.
Для себя нашел следующее решение:
Атрибут который улетает (с большим количеством символов - наименование объекта) заменит на МТЕКСТ, в котором установлено поле (категория полей - документ) со ссылкой на свойство чертежа (файл-свойство чертежа). В свойствах чертежа уже и прописываю наименование объекта.
При регенерации чертежа после изменения наименования в свойствах чертежа, наименование в блоке прекрасно меняется.
Hishnik вне форума  
Ответ
Вернуться   Форум 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