Формирование 3d-формы по dxf-файлу
для тактильного прочтения слепыми

Формирование 3d-формы по dxf-файлу, описывающие простые (чаще всего контуры фигуры), средние и сложные рисунки. Файл в группе может содержать от одной полилинии до нескольки сотен. Способ формирование усеченной конической поверхности по трем сечениям, особенно в ячейках поверхности, должен в первую очередь обеспечить легкость с ними работы. Если один контур – две - до десяти линий  в группе, делается легко и часто исходная форма сохраняется. Если в группе более 10 линий, то легкость работы можно искусственно  решить, но форма рисунка может резко изменится. Однако ничего страшного нет – вид преобразований не теряет свой эстетичности, и даже становится лучше, а, в крайнем случае, крышкой  3D пирамидки  взять исходную картинку – лучше иметь по группам то и другое (включая/выключая), выбрать нужный вариант.  

Чтобы подготовить новый тип dxf-файла для построения поверхности, требует два преобразования Группа -> полилиния. Первое делается для первоначального dxf-файла.  Здесь требуется небольшой анализ – сколькими отрезками должна быть задана основная в группе линия, чтобы она сохранила форму – это относится  особенно, когда в первоначальной группе  две-три линии. При первом преобразование приходится задавать именно  это число отрезков, хотя, на столько же отрезков преобразуются другие не существенные линии. Если вы почувствовали (или определили), что контур должен состоять из 200 отрезков, а в группе у вас 5 линий, то после преобразования вы получите  параметрическую кривую из 1000 отрезков. В этом случае вы опять делаете преобразование уже параметрической линии с 200 отрезками. Что-то изменится, но форма линии сохраняется, и она будет состоять из  200 отрезков. Таким  образом,  для dxf-3D формы усеченной пирамиды вы сформировали первое сечение, дублируя его (дважды), сжимая и сдвигая по z – вы получаете три сечения поверхности, задаете по ним полиповерхность и форма-3D для тактильного восприятия готова.

 Упражнение 1. Вы имеете dxf-файл, в котором 4 линии, щелкнув вкл/выкл. по каждой из них, вы определите, какая из них главная. Зайдя по команде редактирования, вы смотрите – сколько в ней отрезков.  

Путин.jpg

Делаем  1-пребразование на активную группу Линия –> Полилиния

Путин2.jpg

Делаем  2-пребразование на активную Праметрическую кривую  Линия ->  Полилиния

Путин3.jpgПутин4.jpg

В результате рисунок имеет 200 точек, по сравнению более чем
 2000 отрезков на исходной линии
.

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

Путин2.jpg

Полученная поверхность усеченного конуса с «крышкой»

  Упражнение 2.

дерево1.jpg

 Имеем файл Дерево.dxf   100 полилиний (показано 14). Все они примерно по числу в них отрезков одинаковые, хотя ствол явно имеет больше в нем отрезков. Первая полилиния состоит из 23 узлов (22 отрезков). Требуется преобразование  Линия -> полилиния с заданным числом отрезком. Зададим 100  -  ствол дерева наверняка имеет больше чем 50 отрезков (CorelDraw любит их задавать много). В результате все полилинии преобразовались в одну параметрическую кривую с числом узлов 8500. Такое количество явно не устраивает, поэтому делаем еще одно преобразование  линия -> полилиния,  задав 150 точек.

Преоб1.jpg-> дерево2.jpg

Здесь получили параметрическую кривую с 8500 отрезками

 

Преоб2.jpgдерево3.jpg

Здесь дерево уже задано 150 отрезками, вид изменился, но приемлемо для работы с образам (образами на поверхности)

Далее дело техники. Полученное  сечение, дублируя (дважды), сжимая и сдвигая по z – получаете три сечения, по которым строите полиповерность с приемлемыми ресурсами для построения ячеек достаточно сложного dxf-рисунка, что было невозможно по его исходному варианту.

Ячейка готовая1.jpgЯчейка готовая.jpg

Дерево – сложная картинка преобразована в упрощенный вариант 3D-форму

Задачей упрощенного варианта построения dxf-3D является формирование ячеек (паркета) поверхности, для ее тактильного прочтения с различными образами. Во – первых,  слепой знакомится с формой, во вторых по ней он отождествляет весь объект  и в-третьих это помогает ему классифицировать  объекты.  Упрощенный вариант (для dxf файлов с большим количеством линий)  работает на любой dxf-файл и с помощью МК

Задача: файл dxf-преобразовать в меньше количеством в ней отрезков

Делаем двойным преобразованием "линия в полилинию" через метод Polyline.FromCurrObj

1) Исходную группу (линии или линий в ней), преобразуем в полилинию

2) Полученную линию  помещаем в группу и опять выполняем преобразование в полилинию 

 

<Макрос.vbs>

CurrObjNmb = LastNmb

n59 =  LastNmb

Polyline.FromCurrObj 200

CurrObjNmb =  LastNmb

n99 =  LastNmb

MoveToGroup n99, n99+1, "RRRR"

Polyline.FromCurrObj 200

 

Полный текст см. МК 6.2, которая строит поверхность по dxf-файлу любой фактически сложности

 

Есть и быстрый способ визуализации dxf-образа, это не формировать поверхность, а сразу изображать в ячейки картинку dxf-файла. Это достигается, если высота пирамидки при задании паркета равно нулю. Не исключено, что по нему не сложно на 3D-принтере задать образ с какой-то толщиной, чтобы слепой мог его читать.   Для зрячих, такой подход дает возможность из папки вызывать разные рисунки, раскладывая их на поверхности, с последующим передвижением, для создания нужной композиции.  Вызов картинок в таком случае не обязательно должен быть из dxf-форматов, картинки могут быть bmp,  jpg-форматов.   При использовании dxf-файлов самими созданными или готовых из Clipart – в CorelDraw  можно упростить, оставив только  важные линии, тогда и в Векторе  при формировании 3D-образа, его форма будет соответствовать исходному рисунку.

Ниже показаны примеры построения 3D форм и размещение их в ячейки поверхности с помощью «Фрактала 3D»

Путин.jpg

Вариант всадник на Буцефале

зонды.jpgзонды.jpg

Слева  зонды – имеют 5800 полилиний. 
В центре  упрощенный вариант зондов в 3D.
Справа -  зонды 3D на поверхности 3х3 в ее ячейках

Путин2.jpg

Создание dxf-3D формы и размещение ее по ячейкам поверхности

костер.jpg  костер-пионер.jpg   рука-осьминожек.jpg        ладонь.jpg 

На верхний слой можно накладывать рисунки, если плоские рисунки слепой человек не может читать,
то  созданный через dxf-3d формы нет проблем. Справа наш друг археолог Александр Заика

собаки.jpg Файсе-в-очках.jpg мотоциклист.jpg

галилей.jpg  футбол мяч.jpg бегун в одежде.jpg

пчелка.jpg      пчелка3.jpg

Пчелы кушает и размещение ее по ячейкам поверхности с художественным преобразованием  

демон.jpg   пут.jpg

Слева: послание на гептаподском языке может быть
закодировано, образы смоделированы трубчатым способом.
Справа: «Послание» народу через всадника на коне  

ёлка2-1.jpg  С трубкой2.jpg

Слева - ёлка на фоне глобуса, представлена по Брайлю – пупырышками
Справа - мужчина с трубкой в гептаподском (на языке инопланетян) послании  на  2018 год