Импорт и корректировка плана рудника

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

1. Скачайте файл .DXF

Скачайте Пример плана рудника в виде файла .DXF для дальнейшего использования на этом шаге. Сохраните его в любое место на вашем компьютере. Планы рудников в формате .DXF могут быть экспортированы из многих стандартных отраслевых инструментов, например, Micromine и Deswik.

2. Импортируйте файл .DXF

Запустите MineTwin и откройте сценарий, который мы создали на прошлом шаге. В окне Карта нажмите кнопку "Импорт DXF":

Import DXF button

Откроется следующее диалоговое окно:

Import DXF dialog

Нажмите кнопку Открыть и выберите ранее скаченный файл с планом рудника. MineTwin загрузит и обработает DXF файл, после чего покажет его содержание по слоям.

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

Imported DXF file preview

Чтобы загрузить данные в наш сценарий, выберем слой с данными и нажмем OK.

3. Изучите план рудника в 2D и 3D

После завершения импортирования MineTwin создаст шахтное поле, состоящее из узлов и ребер. Все созданные узлы и ребра шахтного поля отображаются в дереве сценария:

Nodes and arcs shown in tree

Эти узлы и ребра определяют шахтное поле нашего рудника. Можно осмотреть план рудника в окне Карта, а также изменять его масштаб и перемещаться по плану, используя мышь или кнопки над картой:

Mine layout in 2D view after importing from an external file

Обратите внимание, что импортированный план является трехмерным, то есть у всех узлов и ребер есть Z-координата. В окне Карта 3D можно осмотреть план рудника в трех измерениях. С помощью мыши можно изменять угол обзора 3D карты:

Mine layout in 3D view after importing from an external file

4. Проверьте связанность сети

Для правильной работы логики модели необходимо, чтобы наше шахтное поле было связанным. Сеть считается связанной, если существует путь между любыми двумя узлами этой сети, пролегающий по ее ребрам. Это означает, что мы можем перемещаться из любого узла сети в любой другой узел сети, используя только ребра сети.

В MineTwin встроен инструмент проверки связанности нашего шахтного поля. Чтобы подсветить изолированные фрагменты сети, необходимо нажать кнопку Достижимость в окне Карта. Все изолированные фрагменты будут подсвечены разными цветами:

Checking connectedness

Мы видим, что, несмотря на то, что наше шахтное поле выглядит связанным, оно содержит большое количество изолированных фрагментов. Нажмите Escape, чтобы сбросить выделение.

Мы можем оценить связанность другим образом - проверить, какие части нашего шахтного поля достижимы из конкретного ребра. Для этого выберем в окне Карта какое-либо ребро и снова нажмем на кнопку Достижимость:

Checking reachability

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

5. Исправьте связанность сети

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

Dragging an unconnected node

После перемещения узла нажмите Ctrl+Z для отмены изменений.

Мы хотим превратить эти узлы в настоящие узлы пересечений. Для этого нажмите кнопку Пересечь, расположенную сверху окна Карта:

Intersect button

Алгоритм создания пересечений учитывает Z-координаты узлов и ребер, и не будет создавать пересечение если узел и ребро слишком далеко друг от друга по высоте. После нажатия кнопки Пересечь подождите окончания работы алгоритма. По завершении его работы появится следующее сообщение:

Intersection result message

Оно показывает количество случаев, когда одно ребро было разделено на два из-за создания пересечения. Теперь убедимся, что алгоритм превратил узел, который мы ранее перемещали в узел пересечения:

Dragging a connected node

Кроме того, мы можем проверить, какая часть шахтного поля достижима из нашего ребра. Для этого снова выберем то же ребро, что и ранее, и нажмем кнопку Достижимость:

Checking reachability after the fix

Можно увидеть, что большая часть шахтного поля теперь зеленая, что означает что она достижима из выбранного ребра. Нажмите кнопку Escape для сброса выделения. Таким образом, мы импортировали, изучили и скорректировали план рудника. Теперь мы можем сохранить обновленный сценарий, выбрав пункт Сохранить из раздела Меню, либо нажав Ctrl+S.

Сценарий, созданный в результате этого раздела, можно скачать по ссылке здесь.