21 января 2011 г.

Ассоциативная штриховка в AutoCAD

Часто при редактировании чертежа в AutoCAD нам приходится изменять заштрихованные участки чертежа. Дело это весьма утомительное: мало того что нужно изменить линии чертежа, так приходится еще и подгонять штриховку под новые контуры. Иногда из-за это проще просто удалить штриховку, чтобы не мешала, отредактировать чертеж и заштриховать  его заново в окончательном виде. Правда может оказаться, что чертеж будет редактироваться снова и снова, при этом всякий раз нас будет раздражать возня со штриховкой.

Чтобы сделать работу со штриховкой более динамичной, разработчики AutoCAD предусмотрели “умную” штриховку, так называемую ассоциативную штриховку. Ассоциативная штриховка умеет отслеживать свои контуры самостоятельно.

Рассмотрим пример работы с ассоциативной штриховкой.

Создаем штриховку как обычно, нажатием на кнопку штриховки, либо вводом команды _HATCH.

image

Далее перед нашим взглядом предстанет панель Создание штриховки. Для создания ассоциативной штриховки должна быть нажата соответствующая кнопка на панели. По умолчанию AutoCAD создает ассоциативную штриховку.

image

Далее как обычно назначаем  контур штриховки выбором объекта либо указанием точки внутри области, подлежащей заштриховке.

Ассоциативная штриховка может отслеживать свои контуры и автоматически подстраиваться под их измененную геометрию в том случае, если не нарушается целостность полилинии контуров.
Например такое сечение тавра можно изменять масштабированием, поворотом, растяжением, сменой геометрии контуров при помощи управляющих ручек, но при этом не отвлекаться на изменение штриховки.

image

При желании можно отключить свойство ассоциативности для уже созданной штриховки и редактировать контуры штриховки вручную. Также ассоциативность штриховки пропадает, если мы разрываем контур

И вот где собака зарыта!

Даже если мы не разрывали контур заштрихованного объекта, а просто выключили ассоциативность, то включить мы ее уже не сможем.

Кнопка на панели будет деактивирована, а попытка включить ассоциативность через палитру свойств приведет к выдаче предупреждения об ошибке.

image

image

 

Таким образом мы теряем связь штриховки с целевым объектом.

Далее в каждом конкретном случае следует решать, следует ли далее редактировать штриховку за управляющие ручки, добавляя/удаляя и перемещая вершины, преобразуя линии в дугу и наоборот, либо просто удалить штриховку и создать новую.

К сожалению в AutoCAD есть много спорных и неочевидных в использовании возможностей, а иногда просто недоработанных. Не берусь судить о том, к каким из них относятся функции работы с ассоциативной штриховкой, но зная возможности и границы применения той или иной функции можно повысить продуктивность своей работы в AutoCAD.

5 комментариев:

  1. Спасибо.
    Используете ли Вы в работе Express Tool?
    Если да, то тогда ждем новый ликбез.

    ОтветитьУдалить
  2. Использую лишь некоторые возможности из Express Tools. Если Вам интересно, то вскоре напишу и про некоторые Express Tools.

    ОтветитьУдалить
  3. Вообще-то эта особенность штриховки не меняется уже очень давно. И, откровенно говоря - правильно. Контур мог измениться, в него могли быть включены новые элементы (или исключены старые), его могли вообще удалить. И к чему тогда ассоциативность восстанавливать? Тогда уж проще написать собственную программу, которая будет удалять старую штриховку и ставить на ее основе новую...

    ОтветитьУдалить
  4. Самое интересное, что такое происходит даже если контур не был изменен, а попытка вернуть ассоциативность делается сразу после ее снятия.

    А если мы встраиваем штриховку командой _hatchsetboundary в другой контур, оформленный в замкнутую полилинию, то штриховка, занимая этот контур, тем не менее не может стать ассоциативной почему-то. По-моему это неправильно. Получается, что нужно создать новую штриховку и скопировать в нее свойства из старой.

    ОтветитьУдалить
  5. Вообще было бы неплохо, если бы штриховка могла по команде "растечься" до упора в сплошные линии - если охватываемая определяющим контуром область расширилась.
    А по другой команде - отсечь лишнее, если область определения уменьшилась.
    Вполне возможно, что в каких-нибудь надстройках над AutoCAD либо отдельных других САПР что-то подобное есть.

    ОтветитьУдалить