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

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

Просмотров: 59750
 
Непрочитано 02.08.2017, 14:18
#101
Сергей812


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


Цитата:
Сообщение от Hishnik Посмотреть сообщение
Атрибут который улетает (с большим количеством символов - наименование объекта) заменит на МТЕКСТ, в котором установлено поле (категория полей - документ) со ссылкой на свойство чертежа (файл-свойство чертежа). В свойствах чертежа уже и прописываю наименование объекта.
При регенерации чертежа после изменения наименования в свойствах чертежа, наименование в блоке прекрасно меняется.
Какой смысл изменяемых (не постоянных) атрибутов блока -> для каждой вставки блока создаются свои вставки атрибутов с соответствующими значениями. А в вашем случае можно просто изменить мультитекст с наименованием в одной вставке блока в чертеже и автоматом смениться на всех листах в данном чертеже - без всяких дополнительных полей и свойств. Или вообще сделать штамп с внешней ссылкой на наименование объекта (если упорядоченная структура папок для проектов). А использовать ваш способ для названий чертежей - например, будет 20 листов: нужно будет сделать 20 блоков основной надписи и 20 свойств чертежа? Проще тогда, как тут вроде и советовали в ветке - вставить мультитекст вне блока с ссылкой на подшивку.
Сергей812 вне форума  
 
Непрочитано 02.08.2017, 14:29
#102
Hishnik


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


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
Какой смысл изменяемых (не постоянных) атрибутов блока -> для каждой вставки блока создаются свои вставки атрибутов с соответствующими значениями. А в вашем случае можно просто изменить мультитекст с наименованием в одной вставке блока в чертеже и автоматом смениться на всех листах в данном чертеже - без всяких дополнительных полей и свойств. Или вообще сделать штамп с внешней ссылкой на наименование объекта (если упорядоченная структура папок для проектов). А использовать ваш способ для названий чертежей - например, будет 20 листов: нужно будет сделать 20 блоков основной надписи и 20 свойств чертежа? Проще тогда, как тут вроде и советовали в ветке - вставить мультитекст вне блока с ссылкой на подшивку.
Да замудрил я , потом только сообразил.
Hishnik вне форума  
 
Непрочитано 02.08.2017, 19:23
#103
allar8


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


Цитата:
Сообщение от Hishnik Посмотреть сообщение
без всяких дополнительных полей и свойств.
Цель полей из свойств файла в мтексте блока в данном случае это возможность вставки блока c палитры сразу с нужными значениями мтекста, которые забиты в поля текущего файла. Может покажется слишком - мол не долго зайти в блок и изменить значение мтекста(текста), но когда в работе сразу несколько объектов атрибуты со значениями из полей файла избавляют от необходимости каждый раз после вставки блока с палитры в новый файл заходить в редактор блоков и править значения мтекста. может мелочь но неприятно.
allar8 вне форума  
 
Непрочитано 21.04.2018, 08:23
#104
allar8


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


Цитата:
Сообщение от Александр К. Посмотреть сообщение
Решение от perpetule действенно. Это очередной довод в поддержку использования стандартных (поставляемых с AutoCAD'ом) шрифтов AutoCAD'а. Всякие CS_Gost....shx, SPDS.shx, ESKD.shx в топку!
Дело тут не в том чтоб в топку нестандартные шрифты - например Isоcpeur тоже стандартно с автокадом поставляется. Надо просто достучаться до разработчиков если у кого есть возможность. Хотя вроде кто-то и достукивался вроде. Но результатов ноль.

----- добавлено через ~4 мин. -----
Цитата:
Сообщение от Hishnik Посмотреть сообщение
Какой смысл изменяемых (не постоянных) атрибутов блока -> для каждой вставки блока создаются свои вставки атрибутов с соответствующими значениями. А в вашем случае можно просто изменить мультитекст
Не помню говорил или нет. Необходимость полей в аттрибутах блоков связана с удобством переопределения блоков с палитры. Да и к тому же было замечено - что аттрибуты могут съезжать и без полей - дело в шрифтах - и многие тут об этом знают
allar8 вне форума  
 
Непрочитано 31.10.2018, 11:20
| 1 #105
Рыбкин Илья


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


Проблема решается прекращением использования AutoCAD до 2017-ой версии.
Было выявлено следующее - дома, был создан абсолютно новый файл и туда, по шаблону, были добавлены листы, на которых были штампы с атрибутами, сделанными шрифтов ISOCPEUR.
Затем этот файл был принесен на работу, где стоит 2017-ая версия и при открытии происходит "заражение" файла - все атрибуты "улетают". Спасти после этого файл уже не удается. Ни закрытием без сохранения, ни восстановлением, ни работой командами с атрибутами. Файл после открытия уже будет испорчен.
После этого, дома по той же схеме, из того же шаблона был создан файл в 18 версии, принесен на работу и все стандартно открылось без смещения.
Такое же смещение наблюдалось у коллег по цеху, которым был переданы чертежи - у них 2014-ый CAD и произошло тоже самое, в связи с чем я могу сделать вывод:
Если вы используете атрибуты в штампах и подшивку, то работайте только в 2017 версии и выше. Попросите всех перейти на данную версию (понимаю, это тяжело), либо откажитесь от атрибутов.
Во вложении прикладываю файл со слетевшими атрибутами.
Рыбкин Илья вне форума  
 
Непрочитано 31.10.2018, 12:16
| 1 #106
allar8


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


Цитата:
Сообщение от Рыбкин Илья Посмотреть сообщение
Проблема решается прекращением использования AutoCAD до 2017-ой версии.
Было выявлено следующее - дома, был создан абсолютно новый файл и туда, по шаблону, были добавлены листы, на которых были штампы с атрибутами, сделанными шрифтов ISOCPEUR.
Затем этот файл был принесен на работу, где стоит 2017-ая версия и при открытии происходит "заражение" файла - все атрибуты "улетают". Спасти после этого файл уже не удается. Ни закрытием без сохранения, ни восстановлением, ни работой командами с атрибутами. Файл после открытия уже будет испорчен.
После этого, дома по той же схеме, из того же шаблона был создан файл в 18 версии, принесен на работу и все стандартно открылось без смещения.
Такое же смещение наблюдалось у коллег по цеху, которым был переданы чертежи - у них 2014-ый CAD и произошло тоже самое, в связи с чем я могу сделать вывод:
Если вы используете атрибуты в штампах и подшивку, то работайте только в 2017 версии и выше. Попросите всех перейти на данную версию (понимаю, это тяжело), либо откажитесь от атрибутов.
Во вложении прикладываю файл со слетевшими атрибутами.
Совершенно верно! Но как показывает практика большинство работают в версиях ниже 2017, внутри фирмы может и можно решить вопрос, а вот если работаш с подрядчиками то уж никак
allar8 вне форума  
 
Непрочитано 31.10.2018, 12:39
#107
Рыбкин Илья


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


Цитата:
Сообщение от allar8 Посмотреть сообщение
Совершенно верно! Но как показывает практика большинство работают в версиях ниже 2017, внутри фирмы может и можно решить вопрос, а вот если работаш с подрядчиками то уж никак
Немного отступлю от темы - сам мучаюсь с тем, что ни один из подрядчиков не работает с подшивкой и многие косо смотрят, но в то же время понимаю, что если не идти вперед, то люди так и будут продолжать проектировать в 2007 каде простыми линиями и однострочным текстом и т.д и т.д...
Рыбкин Илья вне форума  
 
Непрочитано 31.10.2018, 14:15
#108
Сергей812


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


Цитата:
Сообщение от Рыбкин Илья Посмотреть сообщение
Во вложении прикладываю файл со слетевшими атрибутами.
и зачем для левой части основной надписи (разработал и т.п.) использовать многострочные атрибуты?
Сергей812 вне форума  
 
Непрочитано 31.10.2018, 14:36
#109
Рыбкин Илья


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


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
и зачем для левой части основной надписи (разработал и т.п.) использовать многострочные атрибуты?
В данном контексте использование многострочного атрибута не обосновано, это скорее привычка - не использовать отрезок, однострочный текст и однострочные атрибуты.
Если это поможет решить проблему - я могу провести эксперимент, но смысла в нем не будет - многострочные, которые обоснованы, все равно будут "улетать".
Рыбкин Илья вне форума  
 
Непрочитано 31.10.2018, 14:48
1 | #110
Сергей812


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


как вариант (с основной надписью) - можно многострочные атрибуты заменить на мультитекст со вставленным полем подшивки и этот мультитекст разместить поверх блока на заблокированном слое (поля будут обновляться).
Сергей812 вне форума  
 
Непрочитано 31.10.2018, 14:52
#111
allar8


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


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
на заблокированном слое
Для чего на заблокированном?
allar8 вне форума  
 
Непрочитано 31.10.2018, 14:55
#112
Сергей812


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


Цитата:
Сообщение от allar8 Посмотреть сообщение
Для чего на заблокированном?
от шаловливых ручек пользователей, шаблон настроен и не надо его теребить)
Сергей812 вне форума  
 
Непрочитано 31.10.2018, 14:59
#113
allar8


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


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

----- добавлено через ~1 мин. -----
И вообще с текстом поверх тут или где то еще был вроде разговор - это пройденный этап
allar8 вне форума  
 
Непрочитано 31.10.2018, 15:04
#114
Сергей812


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


Цитата:
Сообщение от allar8 Посмотреть сообщение
Т.е. если переместить рамку - придется еще и разблокировать слой - че то как то лишние манипуляции
зачем на настроенном листе чего то перемещать? Оказался нужен другого размера лист - вставил его из шаблона готовый, скопировал ВЭ из старого и добавил новый лист в подшивку.
Сергей812 вне форума  
 
Непрочитано 31.10.2018, 15:07
#115
Alexeipost


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


Отказ от использования Autocad ниже 2017 года - звучит как - спустило колесо на машине? Машину в утиль!
Уверен, что многие научились бороться с улетающими атрибутами менее радикальными способами. А если учесть что сейчас нельзя купить Autocad, ваш способ не реальный.
В общем лучше летающие атрибуты, чем подписка на Autocad.
Alexeipost вне форума  
 
Непрочитано 31.10.2018, 15:16
#116
Сергей812


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


Цитата:
Сообщение от allar8 Посмотреть сообщение
вообще с текстом поверх тут или где то еще был вроде разговор - это пройденный этап
был, и не раз - пост №56 (2013г.), пост №80(2016г.). Но это же целых 5,5 страниц страниц надо просмотреть) А таскать блок только вам и надо, похоже...

----- добавлено через ~2 мин. -----
Offtop:
Цитата:
Сообщение от Alexeipost Посмотреть сообщение
звучит как - спустило колесо на машине? Машину в утиль!
какое колесо - пепельница заполнилась)
Сергей812 вне форума  
 
Непрочитано 31.10.2018, 15:18
#117
allar8


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


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
был, и не раз - пост №56 (2013г.), пост №80(2016г.). Но это же целых 5,5 страниц страниц надо просмотреть) А таскать блок только вам и надо, похоже...
Ага)
allar8 вне форума  
 
Непрочитано 31.10.2018, 16:48
| 1 #118
Рыбкин Илья


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


Я не знаю зачем вы здесь разводите этот холивар, совершенно бессмысленный, я четко дал ответ на вопрос - как сделать так, чтобы атрибуты не улетали (за неимением решения от разработчика). Дал его прежде всего себе и решил поделиться с людьми, которые так же читают эту ветку и, возможно, не понимают причину. Видимо разработчик решил эту проблему только в 17 версии и выше, а все что ниже имеет баг - с этим придется мириться.
А ваше сравнение с автомобилем довольно странное - у любого автопроизводителя есть отзывные компании, а в некоторых случаях, как, например, с дизельгейтом машины и вовсе выводят из оборота в принудительном порядке - снимая с регистрации и т.д.
Вопросы типа "а зачем многострочные атрибуты", "зачем использовать от 17 автокада и выше" - в этой ветке лишние. Каждый чертит как хочет, но, вы конечно, простите - использование многострочного текста поверх блока на заблокированном слое? Вы серьезно?
Цитата:
Уверен, что многие научились бороться с улетающими атрибутами менее радикальными способами.
Если уверены - приводите примеры, а не пустые слова - проблема существует с 2006 года, где магическое решение?
В любом случае для себя эту тему считаю закрытой - принудительно перевел всех сотрудников и дома и на работе в 2018 кад и не имею больше проблем. Люди, которые работают в версиях ниже - им могу только посочувствовать, а те, кто работает до сих пор в 2007 - пожалеть.
Если будет реальное решение проблемы (а не пустой треп), даже то, которое заставит кардинально переделать все форматы и рамки и шаблоны - готов выслушать и проводить эксперименты.
Рыбкин Илья вне форума  
 
Непрочитано 31.10.2018, 17:13
#119
Alexeipost


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


"Борьба" с данной проблемой, менее радикальным способом чем перестановка автокада, приведена в сообщении #51 в данной теме.
Alexeipost вне форума  
 
Непрочитано 31.10.2018, 17:37
#120
allar8


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


Цитата:
Сообщение от Alexeipost Посмотреть сообщение
"Борьба" с данной проблемой, менее радикальным способом чем перестановка автокада, приведена в сообщении #51 в данной теме.
интересно. но не совсем правда понятно. Проверю свои блоки. Хотел только напомнить - говорилось тут где то про это. Атрибуты могут смещаться даже если в них нет полей - причина бага шрифты
allar8 вне форума  
Ответ
Вернуться   Форум 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