1. ВНИМАНИЕ! В течении пары дней +- будет переезд форума на более защищённый сервер. Возможны перебои в работе.
    Скрыть объявление

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

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

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

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

    В разделе "Автокад", во-первых, потому, что это можно делать не только в 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. Импортированные блоки встают на точки вставок прежних. Удаляем тексты, прежние блоки.
     
    Последнее редактирование: 7 ноя 2017
    АлексейМанс, Art15, sergtor и 3 другим нравится это.
  2. dotstal

    dotstal Форумчанин

    Для чего это геодезисту...?
     
  3. sergtor

    sergtor Форумчанин

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

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

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

    sergtor Форумчанин

    Может не корректно копируется код? Прикрепил lisp из запасника. Проверил, работает. Правда не так, как хотелось бы.
     

    Вложения:

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

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

    Спасибо, работает. Но загадочно.
    Создался один блок сразу из всех указанных блоков точек и текстов. Зато с атрибутами. :)
     
  7. АлексейМанс

    АлексейМанс Форумчанин

    Спасибо! Возьму на вооружение :) я как-то привык подобные задачи при помощи точек CoGo со всевозможными выражениями и различным содержимым решать, но иногда это очень сложно) а так.. надо попробовать, может будет быстрее, спасибо еще раз!
     
  8. -=13=-

    -=13=- Форумчанин

    Я как-то видел как один "матёрый" посчитав координаты в Credo потом их распечатал и вбивал на клавиатуре в Autocad.
    Вбил, точка появилась - зачеркнул.
    А что, при деле, время идёт, зарплата капает.
    Отдел проектирования ждёт и молится об окончании таинства.

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

  9. Добрый день, а можете показать как это делать в CIVIL 3D 2022?
     
  10. АлексЮстасу

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

    1. Так, как описано в стартовом посте. Команды MAPEXPORT, MAPIMPORT.
    2. С 2017 г. много воды утекло, и мы сделали XDLabel - можно связывать объекты с надписями. Но XDLabel не действует с объектами Civil, только с обычными примитивами AutoCAD.
    У Вас какого рода объекты и надписи?
    Можете и пример приложить...
     
  11. Вот
    --- Сообщения объединены, 2 окт 2024, Оригинальное время сообщения: 2 окт 2024 ---
    Блок и текст.
     

    Вложения:

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

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

    Обычные, значит, примитивы AutoCAD, т.е. задача не из Civil - лучше бы в разделе форум Autodesk или AutoCAD. Может быть и программку кто-нибудь сделал или готовая нашлась бы - см. Помогу бесплатно разработать любую программу на autolisp.

    Этот случай отличается тем, что для одного блока целых пять надписей, и формально они не различаются. Т.е. самое простое - сделать из блока хвойных деревьев и надписей блок характеристики леса с пятью атрибутами, и вручную ввести их значения.
    Я готов расписать, как задачу решить в XDTOOLS и XDLabel, но в этом случае проще вручную или спецлиспом.

    ... И я бы установил в файлах рабочие единицы - метры. И пользовался бы только метрическим шаблоном acadiso.dwt.
     

    Вложения:

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