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

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

  1. victori*a

    victori*a Форумчанин

    Добрый день. Подскажите, пожалуйста, как можно массово поменять высоту текста и ширину текста атрибута блока. В чертеже существует большое количество разных блоков с атрибутами. Необходимо поменять характеристики атрибутов массово, только чтобы атрибуты не сдвигались со своих мест.
     
  2. sergtor

    sergtor Форумчанин

    Вложения:

  3. victori*a

    victori*a Форумчанин

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

    sergtor Форумчанин

     

    Вложения:

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

    victori*a Форумчанин

    Так пробовала, не получается. Внутри блока сохраняется вновь выставленный коэффициент сжатия, а при выходе из блока ничего не изменяется.
     
  7. sergtor

    sergtor Форумчанин

    Зачем Вам входить редактор блоков? См. GIF
     

    Вложения:

    • 003.gif
      003.gif
      Размер файла:
      610,4 КБ
      Просмотров:
      366
  8. victori*a, файл с нужным блоком в студию ;) Так будет быстрее решить ваш вопрос. Ну или не быстрее, но явно проще ;)
    --- Сообщения объединены, 20 сен 2017, Оригинальное время сообщения: 20 сен 2017 ---
    sergtor, А лисп полезный, спасибо! :)
     
  9. rino_black

    rino_black Форумчанин

    а можно еще добавить функцию изменения атрибута на заданное число?(
     
  10. АлексЮстасу

    АлексЮстасу Форумчанин

    Чтобы состояние атрибута изменялось после редактирования, необходимо делать _ATTSYNC (АТРОБНОВИТЬ).
    Заменить значение атрибута на число? Или заменить атрибут на текст с содержимым из числа?
    Значения попробуйте заменять _FIND (НАЙТИ).
     
  11. sergtor

    sergtor Форумчанин

    Да, и поднастроить немного опции выбора (скрин)
     

    Вложения:

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

    gpsman Форумчанин

    Со стилем текста пробовали поэксперементировать?
     
  13. rino_black

    rino_black Форумчанин

    я имею ввиду, что есть к примеру блок с атрибутом, как изменить текст в атрибуте у нескольких блоков к примеру на 1,15
     

    Вложения:

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

    sergtor Форумчанин

    Опять не понятна Ваша задача. Изменить значение атрибутов, чтобы в итоге у всех блоков была одна и та же величина, или поднять(опустить) из на определенное значение.
     
  15. rino_black

    rino_black Форумчанин

    поднять на определенное значение
     
  16. АлексЮстасу

    АлексЮстасу Форумчанин

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

    Вложения:

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

    sergtor Форумчанин

    А может после этого этапа проще выполнить экспорт координат блоков в текстовый файл, а затем импортировать блоки с атрибутами. Для этого, я думаю, идеально подойдет Geo_import/export.
     
  18. АлексЮстасу

    АлексЮстасу Форумчанин

    Можно просто заменить блоки на блоки с полем, считывающим Z. Например, с помощью BLOCKREPLACE из Express.
     
  19. sergtor

    sergtor Форумчанин

    После этого этапа применить этот лисп: (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
     
  20. rino_black

    rino_black Форумчанин

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