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

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

Войти

С помощью Map 3D превращаем надпись рядом с блоком в его атрибут

Тема в разделе "Civil 3D", создана пользователем АлексЮстасу, 3 ноя 2017.

  1. АлексЮстасу

    Форумчанин

    Регистрация:
    28 май 2012
    Сообщения:
    1.869
    Симпатии:
    668
    Адрес:
    Маськва
    В разделе "Автокад", во-первых, потому, что это можно делать не только в Map, но и в Civil. (В "Civil" было перенесено неизвестными неодолимыми силами из раздела "Автокад").
    Во-вторых, чтобы показать, что не пользующиеся Map многое теряют. В то время, как Map 3D дает ровно те же возможности, что и AutoCAD + полезные возможности для топографии-картографии и просто для черчения.

    Допустим, есть блоки (колодцы, пункты, пикеты, километровые столбы и пр.), и рядом надписаны текстовыми элементами их номера/названия/километры и пр. И логично, и полезно, чтобы эти надписи были не независимы от своих объектов, а связаны с ними. Лучше всего это реализуется блоками с атрибутами.
    Такой утилиты, лиспа не нашел. Но можно сделать с помощью Map 3D.
    1. В Map/Civil экспортируем в shp с помощью _mapexport эти тексты, тип объекта Текст. При экспорте в качестве атрибутов указываем содержание текстов.
    mapexport_texts_to_shp_Содержимое.png
    2. В блоках создаем атрибут для этих надписей. Атрибут обязательно называем "Содержимое" ("Contents" - для eng). После создания атрибута желательно опять зайти в редактор и заменить название атрибута на указанное с учетом регистра - иначе может капризничать.
    3. Импортируем shp с помощью _mapimport. Вместо точек выбираем в Создавать как блоки этот блок и включаем опцию Получать значения атрибутов из полей.
    mapimport_shp_as_blocks.png
    4. Полученные блоки созданы уже с атрибутами со значением содержания текстов. Сдвигаем полученные блоки на прежние с помощью Drawing Cleanup. Слой с полученными блоками указываем как изменяемый, а с прежними блоками - как неизменяемый. Операция Сводить узлы в один, включить опцию Блоки.
    drawing_cleanup_блоки.png drawing_cleanup_блоки_сводить.png
    5. Импортированные блоки встают на точки вставок прежних. Удаляем тексты, прежние блоки.
     
    #1
    Последнее редактирование: 7 ноя 2017
    АлексейМанс, Art15, sergtor и 3 другим нравится это.
  2. dotstal

    Форумчанин

    Регистрация:
    15 дек 2013
    Сообщения:
    83
    Симпатии:
    11
    Для чего это геодезисту...?
     
    #2
  3. sergtor

    Форумчанин

    Регистрация:
    23 сен 2012
    Сообщения:
    1.715
    Симпатии:
    600
    Адрес:
    Ухта
    Очень многие геодезисты для отображения точек съемки используют блоки с атрибутами. Иногда, со "стороны" приходят чертежи, а равно как и экспортированные из Credo DAT со взорванными блоками (в результате получается точка и текст). Так вот, после преобразования точек в блоки и пригодится, на мой взгляд, описанная выше метода.
    Lee Mac писал подобную программу. У меня не прижилась.
     
    #3
    Последнее редактирование: 1 дек 2017
  4. АлексЮстасу

    Форумчанин

    Регистрация:
    28 май 2012
    Сообщения:
    1.869
    Симпатии:
    668
    Адрес:
    Маськва
    Спасибо! Я ведь искал у Lee Mac, и не нашел.
    Но что-то эта txt2att мне пишет: "Неизвестная команда "TXT2ATT"".
    Надпись высоты является надписью высоты конкретной точки - пикета, геопункта и пр. Логично, чтобы надпись и точка были связаны. Лучше всего эту связь сделать в виде блока точки с атрибутом надписи высоты. Выделяя точку, видно ее надпись. И, наоборот, выделяя надпись, видно какой точки.
    От такого представления точек при составлении планов и карт меньше работы и меньше ошибок на планах и картах - точки передвигаются, удаляются и пр. вместе с надписями, передвигая надписи, видно их точки, не появится точек без надписей, надписей без точек.
     
    #4
    -=13=- нравится это.
  5. sergtor

    Форумчанин

    Регистрация:
    23 сен 2012
    Сообщения:
    1.715
    Симпатии:
    600
    Адрес:
    Ухта
    Может не корректно копируется код? Прикрепил lisp из запасника. Проверил, работает. Правда не так, как хотелось бы.
     

    Вложения:

    • txt2att.lsp
      Размер файла:
      7,1 КБ
      Просмотров:
      10
    #5
  6. АлексЮстасу

    Форумчанин

    Регистрация:
    28 май 2012
    Сообщения:
    1.869
    Симпатии:
    668
    Адрес:
    Маськва
    Спасибо, работает. Но загадочно.
    Создался один блок сразу из всех указанных блоков точек и текстов. Зато с атрибутами. :)
     
    #6
  7. АлексейМанс

    Форумчанин

    Регистрация:
    22 май 2011
    Сообщения:
    4.054
    Симпатии:
    3.928
    Адрес:
    Екатеринбург
    Спасибо! Возьму на вооружение :) я как-то привык подобные задачи при помощи точек CoGo со всевозможными выражениями и различным содержимым решать, но иногда это очень сложно) а так.. надо попробовать, может будет быстрее, спасибо еще раз!
     
    #7
  8. -=13=-

    Форумчанин

    Регистрация:
    26 июн 2013
    Сообщения:
    2.254
    Симпатии:
    3.320
    Адрес:
    Окраины Нерезиновска на немцеопасном направлении
    Я как-то видел как один "матёрый" посчитав координаты в Credo потом их распечатал и вбивал на клавиатуре в Autocad.
    Вбил, точка появилась - зачеркнул.
    А что, при деле, время идёт, зарплата капает.
    Отдел проектирования ждёт и молится об окончании таинства.

    Вещь нужная.
    Любая однообразная работа должна быть автоматизирована.
     
    #8
    svetoslavna@ нравится это.

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

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