Взорванные блоки
Действия с чертежами, если блоки чертежа (рельефные точки) приходят во зворванном состоянии.
Также возможна ситуация, когда чертеж приходит к вам во взорванном состоянии – то есть отдельно есть точка рельефа с плановыми координатами, и рядом с ним текст, точка привязки которого не на точке рельефа. В этом случае воспользуемся функционалом AutoCAD Map 3D, функции которого доступны также в Civil 3D (из рабочего пространства «Планирование и анализ»). Для этого не обязательно туда переходить, можно просто использовать конкретные команды далее.
Исходные данные:
Будем использовать следующий рабочий файл:
Наши действия:
Выберем рамкой точку и текст рядом с ней. Для скрытия всех подобных объектов (при условии, что в чертеже все данные лежат по своим слоям), можно открыть окно Свойства слоя, далее нажать на шестеренку (настройку параметров)
В этом окне выставить значения ниже и нажать ОК. После этого выбрать точку с текстом и на функциональной панели свойств слоя нажать на (Изолировать все).
Если чертеж не в порядке, и элементы лежат не в своих слоях, тогда придется использовать функцию "Выбрать аналог" 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