нумератор линий в чертеже с сортировкой по длине и присваиванием номера

Автор Тема: нумератор линий в чертеже с сортировкой по длине и присваиванием номера  (Прочитано 16119 раз)

0 Пользователей и 8 Гостей просматривают эту тему.

Оффлайн ДмитрийПетровАвтор темы

  • ADN OPEN
  • Сообщений: 42
  • Карма: 0
  • Skype: petroffdv
Если средняя линия не определена четко в ТЗ, как горизонталь, вертикаль, средняя между отрезками, средняя линия веера и т.д. то рекомендую явно указать отрезок который является средней линией и от него отсчитывать углы.

Дим, средняя линия взята условно в середине, так как ее угол = 0гр и от нее нужно начинать нумерацию, но тут хитро надо нумеровать (в исходнике у меня два массива с веерами - это разрез и план по которым пробегаемся foreach из этих двух массивов считаем результирующую длину относительно проекции на ось Х и угла линии (в плане и разрезе), что бы получить в итоге длину отрезков в объемном массиве в 3d. В результате получаем данные на выходе с массивом отрезков и углами. Отрезок Line на плане, тот что в середине, вот его нужно определить началом счета для нумератора (счет сверху вниз) и нумеровать в той последовательности которая отображена на плане. Как это разбить на более мелкие задачи я пока не могу сказать. :-\
 
P.s. Что бы было понятно, можно попробовать мой пример я перекомпилировал под AutoCad2016 в аттаче. Необходимо на диске C: создать папку PluginsAutocad после загрузки примера test_drawing и загрузки плагина netload, выполняется команда gettable, в созданной папке увидим файл Objects.csv(debug файл) это пока конечные выходные данные стримрайтера и соответственно мне нужно понять как все это хозяйство пронумеровать, что бы получилась нумерация как на чертеже test_drawing (см.план). source code в прикреплении_
В прикрепленной таблице Object.csv сгруппированы данные углы и длины,  а так же в последних двух столбах дебажная инфа true false.
« Последнее редактирование: 10-06-2020, 15:45:07 от ДмитрийПетров »

Оффлайн ДмитрийПетровАвтор темы

  • ADN OPEN
  • Сообщений: 42
  • Карма: 0
  • Skype: petroffdv
В прикрепленной таблице Object.csv сгруппированы данные

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

Оффлайн Привалов Дмитрий

  • ADN Club
  • *****
  • Сообщений: 554
  • Карма: 119
Как это разбить на более мелкие задачи я пока не могу сказать.
выбрал синие отрезки определил угол, отсортировал, промаркировал, расставил углы
выбрал зеленые отрезки определил углы отсортировал, 3 условия маркировки нулевая линия, отрезки с углом 0-90 и 270-360, в зависимости от этого маркируешь.
расставил углы.

полученную информацию запомнил где-то и в таблицу
...чет типа того.

Оффлайн ДмитрийПетровАвтор темы

  • ADN OPEN
  • Сообщений: 42
  • Карма: 0
  • Skype: petroffdv
промаркировал
выбрал синие отрезки определил угол, отсортировал, промаркировал, расставил углы
выбрал зеленые отрезки определил углы отсортировал, 3 условия маркировки нулевая линия, отрезки с углом 0-90 и 270-360, в зависимости от этого маркируешь.
расставил углы.

полученную информацию запомнил где-то и в таблицу
...чет типа того.


хм..Спасибо, а про маркировку куда глянуть? пример бы что б ясность в голове появилась)

Оффлайн Привалов Дмитрий

  • ADN Club
  • *****
  • Сообщений: 554
  • Карма: 119
хм..Спасибо, а про маркировку куда глянуть? пример бы что б ясность в голове появилась)
Ищи "как создать DBText", MText или типа того.

Оффлайн ДмитрийПетровАвтор темы

  • ADN OPEN
  • Сообщений: 42
  • Карма: 0
  • Skype: petroffdv
Ищи "как создать DBText", MText или типа того.

Спасибо поищу..типа того)

А вот где почитать про маркировку и нумерацию элементов в массиве? Спасибо
« Последнее редактирование: 10-06-2020, 17:26:42 от ДмитрийПетров »

Оффлайн Привалов Дмитрий

  • ADN Club
  • *****
  • Сообщений: 554
  • Карма: 119
А вот где почитать про маркировку и нумерацию элементов в массиве?
Это относится к C#, а не AutoCAD API.
вариантов несколько, в зависимости от опыта.

например можно взять коллекцию и выбрать подходящую Array, List, Dictionary и т.д.
https://metanit.com/sharp/tutorial/4.3.php

И положить туда структуру или класс
https://metanit.com/sharp/tutorial/2.13.php

сходу точно не подскажу, тут подумать нужно....

Оффлайн ДмитрийПетровАвтор темы

  • ADN OPEN
  • Сообщений: 42
  • Карма: 0
  • Skype: petroffdv
А вот где почитать про маркировку и нумерацию элементов в массиве?
Это относится к C#, а не AutoCAD API.
вариантов несколько, в зависимости от опыта.

например можно взять коллекцию и выбрать подходящую Array, List, Dictionary и т.д.
https://metanit.com/sharp/tutorial/4.3.php

И положить туда структуру или класс
https://metanit.com/sharp/tutorial/2.13.php

сходу точно не подскажу, тут подумать нужно....

Спасибо Дим! Уже читаю ментанит, хороший ресурс. Тоже буду думать как эту задачу решить малой кровью.