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

Пересечение полигонов

Тема в разделе "Autodesk", создана пользователем Blackkeeper, 3 мар 2012.

  1. Доброго времени суток, глубокоуважаемый народ. Занимаюсь проектированием инженерных систем, уверенный пользователь autocad, имею опыт написания кода в vba для скриптов word, excel, а также delphi. Нарисовалась у меня тут одна задачка в помощь землеустроителям, думаю с какой стороны к ней подойти.
    Имею следующее:
    [​IMG]
    Зона ограниченная красными соединенными последовательно линиями, состоящая из отрезков пересекает несколько замкнутых полилиний, находящихся в отдельном слое. В атрибутах полилиний заданы их идентификаторы в виде текстового значения.
    Задача: Определить площадь пересечения красной зоны с каждой полилинией в файле, вывести результат в текстовый фаил (или фаил excel) c указанием идентификатора пересекаемой полилинии и площади пересечения.

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

    Верещагин Модератор Форумчанин

    Едва ли есть смысл лезть в коды.
    В Автокаде имеется встроенный VBA. Так что все сводится к достаточно простым макросам. Точнее - пусть знатоки подскажут, но ИМХО - задача несложная.
     
  3. Осталось выйти на знатоков и на мануал по VBA для када. )
     
  4. Верещагин

    Верещагин Модератор Форумчанин

    Полагаю, поначалу может помочь макрорекордер, ну а что до расчетов - то VBA он и есть VBA...
    (Добавление)
    И еще. А зачем Вам вообще Автокад, если на выходе - текстовый файл?
    Почему бы не работать непосредственно с экспортированным из Мапинфо dxf (если не с mid-mif). Это же очень простой и понятный ASCII-формат.
    Закидываете файл как текстовый в Дельфи или Бейсик для Екселя, и вперед...
     
  5. А какими инструментами работать на прямую с dxf? Ты имеешь ввиду брать объекты и их св-ва на прямую с фаила? Как определять есить ли пересечение и площади тогда?
     
  6. Верещагин

    Верещагин Модератор Форумчанин

    Держи.

    В файле dxf - полилинии по координатам. Вычисляешь координаты пересечения прямых, а по ним - площадь. Конечно, есть проблемы, которые придется решить.

    А в автокаде - ИМХО - экспортируешь координаты полилиний, вручную строишь и экспортируешь площадь пересечения, ну а потом, по результатам экспорта можно формировать и свой dxf, и текстовик с описанием.

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

    Вложения:

  7. SergKo

    SergKo Форумчанин

    Оффтоп
    Blackkeeper, имей в виду, площадь по координатам - в проекции, а не на местности... на 10 сотках по барабану, а на 10 га уже ощутимые кв.метры...
     
  8. Суть проблемы заключается в том, что есть много полигонов, созданных PLINE, нужно определить пересечения полигонов с другими замкнутыми полигонами. В нете видел подобную программу, но найти не могу. Искомый результат ниже…
     

    Вложения:

    • 5.png
      5.png
      Размер файла:
      9,6 КБ
      Просмотров:
      50
  9. АлексЮстасу

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

    1. Командой FS - если установлен ExpressTools. Выделит пересекающиеся объекты с одним указанным объектом. И этот объект выделит тоже.
    2. Командой PSI_SEL_INTERSECT из http://geodesist.ru/forum/resources/psi_sel-vydelenie-po-konturam.13 Выделит пересекающиеся объекты сразу со всеми указанными объектами.
    3. Drawing Cleanup (корректировка чертежей) из Map/Civil 3D, Breack Intersection (Разрывать пересекающиеся) в режиме Interactive (Интерактивный). Пометит марками места пересечений.
    Ни один из вариантов не проигнорирует случай, когда сторона полигона лежит на полигонах синих, т.к. это частный случай пересечения.
     
    Последнее редактирование: 22 ноя 2015
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление