Входные данные представлены в виде файлов трех проекций: вид спереди, вид сверху, вид сбоку, — в формате DXF. Программе необходимо знать, какой проекцией является каждый из файлов, поэтому проекции должны иметь название «FV.dxf» или «fv.dxf», «TV.dxf» или «tv.dxf», «SV.dxf» или «sv.dxf» соответственно. Проекции должны быть описаны линиями. Важно отметить, что линии, находящиеся за пределами грани проекции должны быть обязательно описаны при помощи линии типа пунктир (рис. 13).
Рисунок 13 Проекции буквы «Т». (a) -вид сверху, (b) -вид спереди, © -вид сбоку.
Программа распознает пунктирные линии, которые имеют подстроку «DASHED» в своем названии. Все остальные типы линий распознаются как обычные.
Выходные данные
В результате работы программы формируется каркасная 3D модель объекта, описанного тремя проекциями, полученными на входе в программу (рис. 14).
Рисунок 14 Результат работы программы. (a) — вид сверху, (b) — вид спереди, (c) — вид сбоку, (d) -получившаяся псевдокаркасная модель.
Так как итогом работы описанного алгоритма является псевдокаркасная модель, пользователь может сам выбрать и удалить лишние по его мнению ребра. В связи с этим реализованы функции «Отменить» и «Повторить» при помощи класса «NSUndoManager».