Взорванные блоки

Действия с чертежами, если блоки чертежа (рельефные точки) приходят во зворванном состоянии.

Также возможна ситуация, когда чертеж приходит к вам во взорванном состоянии – то есть отдельно есть точка рельефа с плановыми координатами, и рядом с ним текст, точка привязки которого не на точке рельефа. В этом случае воспользуемся функционалом AutoCAD Map 3D, функции которого доступны также в Civil 3D (из рабочего пространства «Планирование и анализ»). Для этого не обязательно туда переходить, можно просто использовать конкретные команды далее.

Исходные данные:

Будем использовать следующий рабочий файл:

858KB
04_01_Поверхности_Взорванное.dwg

Наши действия:

Выберем рамкой точку и текст рядом с ней. Для скрытия всех подобных объектов (при условии, что в чертеже все данные лежат по своим слоям), можно открыть окно Свойства слоя, далее нажать на шестеренку (настройку параметров)

В этом окне выставить значения ниже и нажать ОК. После этого выбрать точку с текстом и на функциональной панели свойств слоя нажать на (Изолировать все).

Если чертеж не в порядке, и элементы лежат не в своих слоях, тогда придется использовать функцию "Выбрать аналог" AecSelectSimilar в свойствах выбранных элементов, а затем скрытия всего остального, кроме выделенных. Выделим все объекты и посадим на нулевую отметку.

Если мы обратим внимание на чертеж, точка привязки текста лежит где-то в окрестностях блока (см. картинку выше), но не рядом с ним. Мы сейчас экспортируем данные текстовые атрибуты, и вставим их в атрибут блока. Для этого введем в командной строке _mapexport. В открывшемся диалоговом окне выберем место сохранения нашего SHP файла и нажмем ОК для перехода к выбору объектов экспорта.

Иными словами, мы создаем атрибут со значением высоты потенциального блока, который считывается из текста. После выбора атрибута в окне выбора нажимаем ОК, и также ОК в окне экспорта параметров.

Редактирование исходного блока

После этого выбираем один из блоков (проверить, все ли блоки одного стиля – может, например, так статься, что часть блоков имеет разные типы, а весь текст одинаково лежит около блоков; тогда последовательность действий должна быть избирательной – импортировать далее текст для данных типов блоков) и переходим в режим Редактора блоков (нажимая ПКИ и выбирая в меню Редактор блоков). Затем активируем команду «Определение атрибута» и прописываем в поле тега «Содержимое», указываем точку вставки (укажем самостоятельно), закрываем нажатием ОК. Проверяем чтобы объектная привязка имела типа Центр и привязываемся атрибутом к центру круга

После этого закрываем окно редактирования блока с сохранением изменений.

Импорт текста как атрибутов блока

Теперь вводим в командной строке команду _mapimport, выбираем в Проводнике наш раннее созданный SHP файл и нажимаем ОК. В ячейке «точки» щелкаем ПКМ в правую сторону ячейки открывая окно параметров (ниже справа):

В окошке активируем режим «Создавать как блоки» и в списке выбираем имя типа блока, какими у нас представлены точки рельефа. Расширенные опции доступны после нажатия справа в ячейке с именем блока. Также ставим галочку на получение значений атрибутов из полей. После этого нажимаем ОК в параметрах точек, и ОК в параметрах импорта.

Если все сделано успешно, то появятся данные такого вида:

Использование функционала MAPCLEAN

Далее выбираем подобием все старые блоки и сажаем в новый слой, допустим, «Старые» и блокируем его, можно также изменить цвет для лучшей видимости. Также выделяем все новые блоки и сажаем в новый слой "Новые" или оставить исходным (слой с именем SHP файла). Текст можно скрыть. Теперь необходимо перенести все новые блоки в точки начального положения блока, так как сейчас в месте старой привязки текста у нас сообразовался новый блок. Для этого мы как раз заблокировали слой с изначальными блоками, чтобы функцией AutoCAD Map 3D сведения в 1 узел изменить плановое положение как раз новых создавшихся блоков.

Активируем команду Drawing Cleanup (команда _mapclean). Эта полезная функция, существует еще с 2004 года, но реализованная только в Map/Civil 3D. В первом диалоговом окне в качестве объектов очистки выбираем «Выбрать вручную» в обоих полях. В параметрах слоях сверху ставим то, что мы хотим изменить, а снизу – то, что хотим оставить как есть (имена слоев).

Во втором окне среди операций очистки выберем «Сводить узлы в один» и добавим его в поле справа (выбранные операции). Поставим галочку на Блоках, и в качестве допуска зададим расстояние от нового до старого блока – пусть будет 1.5 метра. Всё большее у нас просто нужно будет сделать вручную, так как есть группы точек, где ставить больший допуск опасно – они просто перепутаются. После этого нажимаем Далее:

В качестве метода очистки оставляем «Изменять исходные объекты» и заканчиваем нажатием на «Готово».

Так как мы задали небольшую поправку 1,5 метра – то некоторые удаленные блоки не встали к своим нужным позициям, мы их переместим вручную блоки в скученных местах, а затем повторно воспользуемся функцией с большим допуском, 3 метра. В противном случае, если уже автоматически выровнять не получается – делаем это вручную. В данном чертеже заведомо не получится сделать идеально, так как изначально точек планового обоснования у нас 112, а текстовых отметок 125.

По окончанию редактирования мы имеем ситуацию, когда есть блоки с координатой Z = 0 и атрибутами блока с высотной отметкой – то есть повторение предыдущей рассмотренной поверхности, только при выборе следует исключить (скрыть) старые блоки. Либо можно воспользоваться ЛИСП-ом из пакета адаптации для автоматизации данной задачи:

Last updated