Добро пожаловать!

Войдите или зарегистрируйтесь сейчас!

Войти

Редактирование атрибутов блоков

Тема в разделе "Autocad", создана пользователем victori*a, 17 сен 2017.

  1. victori*a

    Форумчанин

    Регистрация:
    13 май 2014
    Сообщения:
    38
    Симпатии:
    2
    Добрый день. Подскажите, пожалуйста, как можно массово поменять высоту текста и ширину текста атрибута блока. В чертеже существует большое количество разных блоков с атрибутами. Необходимо поменять характеристики атрибутов массово, только чтобы атрибуты не сдвигались со своих мест.
     
    #1
  2. sergtor

    Форумчанин

    Регистрация:
    23 сен 2012
    Сообщения:
    1.715
    Симпатии:
    601
    Адрес:
    Ухта

    Вложения:

    #2
  3. victori*a

    Форумчанин

    Регистрация:
    13 май 2014
    Сообщения:
    38
    Симпатии:
    2
    Спасибо большое. Но лисп не решает мою проблему. Мне нужно, чтобы менялась степень растяжения, помимо высоты текста.
     
    #3
  4. Philip J. Frai

    Регистрация:
    21 авг 2015
    Сообщения:
    8
    Симпатии:
    2
    Здравствуйте, если я правильно понял ваш вопрос, то вам нужно зайти в редактор блока ( через контекстное меню "редактор блоков"), выбрать нужный атрибут и в его общих свойствах поменять высоту и коффициент сжатия. Затем выйти из редактора блока и сохранить изменения ;)
     
    #4
  5. sergtor

    Форумчанин

    Регистрация:
    23 сен 2012
    Сообщения:
    1.715
    Симпатии:
    601
    Адрес:
    Ухта
     

    Вложения:

    • wAtt.lsp
      Размер файла:
      1,9 КБ
      Просмотров:
      186
    #5
  6. victori*a

    Форумчанин

    Регистрация:
    13 май 2014
    Сообщения:
    38
    Симпатии:
    2
    Так пробовала, не получается. Внутри блока сохраняется вновь выставленный коэффициент сжатия, а при выходе из блока ничего не изменяется.
     
    #6
  7. sergtor

    Форумчанин

    Регистрация:
    23 сен 2012
    Сообщения:
    1.715
    Симпатии:
    601
    Адрес:
    Ухта
    Зачем Вам входить редактор блоков? См. GIF
     

    Вложения:

    • 003.gif
      003.gif
      Размер файла:
      610,4 КБ
      Просмотров:
      335
    #7
  8. Philip J. Frai

    Регистрация:
    21 авг 2015
    Сообщения:
    8
    Симпатии:
    2
    victori*a, файл с нужным блоком в студию ;) Так будет быстрее решить ваш вопрос. Ну или не быстрее, но явно проще ;)
    --- Сообщения объединены, 20 сен 2017, Оригинальное время сообщения: 20 сен 2017 ---
    sergtor, А лисп полезный, спасибо! :)
     
    #8
  9. rino_black

    Форумчанин

    Регистрация:
    14 июл 2014
    Сообщения:
    30
    Симпатии:
    0
    а можно еще добавить функцию изменения атрибута на заданное число?(
     
    #9
  10. АлексЮстасу

    Форумчанин

    Регистрация:
    28 май 2012
    Сообщения:
    1.869
    Симпатии:
    668
    Адрес:
    Маськва
    Чтобы состояние атрибута изменялось после редактирования, необходимо делать _ATTSYNC (АТРОБНОВИТЬ).
    Заменить значение атрибута на число? Или заменить атрибут на текст с содержимым из числа?
    Значения попробуйте заменять _FIND (НАЙТИ).
     
    #10
  11. sergtor

    Форумчанин

    Регистрация:
    23 сен 2012
    Сообщения:
    1.715
    Симпатии:
    601
    Адрес:
    Ухта
    Да, и поднастроить немного опции выбора (скрин)
     

    Вложения:

    • Image 2.png
      Image 2.png
      Размер файла:
      13,6 КБ
      Просмотров:
      154
    #11
  12. gpsman

    Форумчанин

    Регистрация:
    28 ноя 2008
    Сообщения:
    174
    Симпатии:
    48
    Адрес:
    Екатеринбург
    Со стилем текста пробовали поэксперементировать?
     
    #12
  13. rino_black

    Форумчанин

    Регистрация:
    14 июл 2014
    Сообщения:
    30
    Симпатии:
    0
    я имею ввиду, что есть к примеру блок с атрибутом, как изменить текст в атрибуте у нескольких блоков к примеру на 1,15
     

    Вложения:

    • пикет.dwg
      Размер файла:
      164,9 КБ
      Просмотров:
      25
    #13
  14. sergtor

    Форумчанин

    Регистрация:
    23 сен 2012
    Сообщения:
    1.715
    Симпатии:
    601
    Адрес:
    Ухта
    Опять не понятна Ваша задача. Изменить значение атрибутов, чтобы в итоге у всех блоков была одна и та же величина, или поднять(опустить) из на определенное значение.
     
    #14
  15. rino_black

    Форумчанин

    Регистрация:
    14 июл 2014
    Сообщения:
    30
    Симпатии:
    0
    поднять на определенное значение
     
    #15
  16. АлексЮстасу

    Форумчанин

    Регистрация:
    28 май 2012
    Сообщения:
    1.869
    Симпатии:
    668
    Адрес:
    Маськва
    Выбрать пикеты, вызвать _MOVE (ПЕРЕНЕСТИ), вбить @0,0,1.15. "@" означает приращение, т.е. на сколько.
    Сделайте в атрибуте поле, считывающее Z блока. Изменится Z - изменится и значение атрибута. После регенерации - _REGEN (РЕГЕН), _REGENALL (ВСЕРЕГЕН). Сами значения в таких атрибутах руками трогать не нужно - утратится связь с Z.
     

    Вложения:

    #16
    sergtor нравится это.
  17. sergtor

    Форумчанин

    Регистрация:
    23 сен 2012
    Сообщения:
    1.715
    Симпатии:
    601
    Адрес:
    Ухта
    А может после этого этапа проще выполнить экспорт координат блоков в текстовый файл, а затем импортировать блоки с атрибутами. Для этого, я думаю, идеально подойдет Geo_import/export.
     
    #17
  18. АлексЮстасу

    Форумчанин

    Регистрация:
    28 май 2012
    Сообщения:
    1.869
    Симпатии:
    668
    Адрес:
    Маськва
    Можно просто заменить блоки на блоки с полем, считывающим Z. Например, с помощью BLOCKREPLACE из Express.
     
    #18
  19. sergtor

    Форумчанин

    Регистрация:
    23 сен 2012
    Сообщения:
    1.715
    Симпатии:
    601
    Адрес:
    Ухта
    После этого этапа применить этот лисп: (ZBLATT)
    .Предварительно подредактировать свои значения имени блока и тэга.
    Код:
    (defun C:ZATTBL ( / blname tagname round  objSet *error*)
    (vl-load-com)
    (defun *error*(msg)(princ msg)
    (vla-EndUndoMark (vla-get-activedocument (vlax-get-acad-object)))(princ))
    (vla-StartUndoMark (vla-get-activedocument (vlax-get-acad-object)))
    (vla-StartUndoMark (vla-get-activedocument (vlax-get-acad-object))) 
    (setq blname  "PICKET"  ;_Block name
          tagname "OTMETKA" ;_Tag Z value
          round   3         ;_ Round Z value to 3 digit
     
    #19
  20. rino_black

    Форумчанин

    Регистрация:
    14 июл 2014
    Сообщения:
    30
    Симпатии:
    0
    а можно только текст изменить на число?
     
    #20

Поделиться этой страницей

  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление