| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Алгоритмическое описание принципов простановки размеров на плане

Алгоритмическое описание принципов простановки размеров на плане

Ответ
Поиск в этой теме
Непрочитано 02.09.2017, 14:56 #1
Алгоритмическое описание принципов простановки размеров на плане
Modis
 
Липецк, Москва
Регистрация: 12.06.2010
Сообщений: 534

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

Так вот - возможно ли описать принципы образмеривания кладочных планов набором неких алгоритмов и условий? Кто что думает по этому поводу?
Просмотров: 6403
 
Непрочитано 02.09.2017, 15:47
#2
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


А зачем?
Profan вне форума  
 
Непрочитано 03.09.2017, 08:36
#3
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Increase Size Decrease Size Нажмите для просмотра
https://www.youtube.com/watch?v=H6vnZlVsuN0
Increase Size Decrease Size Нажмите для просмотра
https://www.youtube.com/watch?v=29fpOOKoPnw
Increase Size Decrease Size Нажмите для просмотра
https://www.youtube.com/watch?v=dkqgwWRdLv4
Все равно потом руками доделывать.... а учитывая безалаберность исполнителей, криво косо начерчено, отдельными палочками, в разных плоскостях и прочие гадости, то в автокаде с этим даже связываться не хочется. Увы.
Boxa вне форума  
 
Автор темы   Непрочитано 03.09.2017, 16:05
#4
Modis


 
Регистрация: 12.06.2010
Липецк, Москва
Сообщений: 534


Цитата:
Сообщение от Profan Посмотреть сообщение
А зачем?
Планирую запрограммировать задачу, но вот не могу продумать верные условия
Modis вне форума  
 
Непрочитано 03.09.2017, 18:01
#5
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Цитата:
Сообщение от Modis Посмотреть сообщение
Если стены представить отрезками, а проемы исключить, то у нас в итоге останется набор многоугольников.
Откуда возьмутся многоугольники, если в наличии только отрезки?
Profan вне форума  
 
Автор темы   Непрочитано 03.09.2017, 18:05
#6
Modis


 
Регистрация: 12.06.2010
Липецк, Москва
Сообщений: 534


Цитата:
Сообщение от Profan Посмотреть сообщение
Откуда возьмутся многоугольники, если в наличии только отрезки?
Разве это проблема - получить многоугольники из отрезков?
Modis вне форума  
 
Непрочитано 03.09.2017, 18:20
#7
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Не знаю. На сколько мне известно, в нормативной документации нет конкретики на этот счет.
Profan вне форума  
 
Автор темы   Непрочитано 03.09.2017, 18:23
#8
Modis


 
Регистрация: 12.06.2010
Липецк, Москва
Сообщений: 534


Цитата:
Сообщение от Profan Посмотреть сообщение
Не знаю. На сколько мне известно, в нормативной документации нет конкретики на этот счет.
Ну это я знаю. В топике писал. Значит нужно либо придумать свои правила, либо опираться на многолетний опыт проектировщиков. А точнее - первое + второе.
Вот и хочу обсудить варианты
Modis вне форума  
 
Непрочитано 03.09.2017, 19:20
#9
Enik

ГИП
 
Регистрация: 07.06.2015
Сообщений: 1,254


Цитата:
Сообщение от Modis Посмотреть сообщение
Так вот - возможно ли описать принципы образмеривания кладочных планов набором неких алгоритмов и условий? Кто что думает по этому поводу?
Ну, самое простое и примитивное, что приходит на ум - это сначала задавать точки по координатам. А потом уже по точкам отрисовывать отрезки, и к точкам же привязывать размеры. Тогда, например, по принципу "левее самой левой точки" можно будет определить расстояние отступа для размерных линий, чтобы не накладывались на чертёж.
Общий алгоритм таков:
а) сначала в лексически понятной форме задаётся то, что надо нарисовать. По типу "помещение прямоугольное 3х6 м толщина стен 0,51 м".
б) Потом по этим вводным высчитывается количество и координаты точек. Потом они забиваются в массив с индексом, обозначающим нужное помещение.
в) Из этих же вводных определяется, сколько размерных линий нужно нанести.
г) По точкам рисуются отрезки.
д) По точкам же рисуются размеры.

UPD. В общем, нужно оперировать не объектами, а индексированными множествами: точек, действий над ними, их координат, отрезков, размеров.

И по итогу получится свой маленький самопальный ревит!

Последний раз редактировалось Enik, 03.09.2017 в 19:27.
Enik вне форума  
 
Непрочитано 03.09.2017, 22:24
#10
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,004


Цитата:
Сообщение от Enik Посмотреть сообщение
UPD. В общем, нужно оперировать не объектами, а индексированными множествами: точек, действий над ними, их координат, отрезков, размеров.
У нас уже есть Александр со своим OD/DB)

Тут скорее просто указывать точки размерных линий, и чтобы сама программа определяла - куда и насколько вынести размерные линии, делала составные размеры и т.д. И тут уже другой вопрос - архитекторы больше вроде в архикаде рисуют с экспортом в акад. Неужели в архикаде нет хотя бы базового функционала для этой задачи?
Сергей812 вне форума  
 
Непрочитано 04.09.2017, 07:27
#11
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Эта задача (в подобной трактовке) никому не нужна.
Profan вне форума  
 
Непрочитано 04.09.2017, 08:13
#12
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Цитата:
Сообщение от Modis Посмотреть сообщение
Разве это проблема - получить многоугольники из отрезков?
Потребовалась мне как то программка, которая из кучи черточек и отрезков полученных от архитекторов, делает поэтажные планы для Лиры...
хлебнул я горя... там все очень не просто и как водиться дьявол кроется в деталях
Boxa вне форума  
 
Автор темы   Непрочитано 04.09.2017, 09:48
#13
Modis


 
Регистрация: 12.06.2010
Липецк, Москва
Сообщений: 534


Ребята, я не совсем про то спрашивал, о чем вы говорите) Я не имею ввиду алгоритм простановки размеров как таковой. Я имею ввиду "в лексически понятной форме" описать условия простановки размеров на плане.
Ну к примеру - я могу взять план и создать две размерные перпендикулярные размерные цепочки. А могу в каждом помещении поставить такой "крестик" из размеров. Но это не правильно. Цепочка делается одна на несколько помещений, пока это возможно сделать
Вот накидал простую картинку:


Пример 1: зеленые цепочки взаимозаменяемые в принципе.
Пример 2: голубые цепочки тоже частично заменяемые. Я могу оставить верхнюю и нижнюю (хотя, там частично дублируются размеры), а могу оставить одну среднюю

Вот примерно эту логику я хочу. И вот спрашиваю и думаю - а возможно-ли?
Миниатюры
Нажмите на изображение для увеличения
Название: Screenshot_12.png
Просмотров: 274
Размер:	19.7 Кб
ID:	193184  
Modis вне форума  
 
Непрочитано 04.09.2017, 09:56
#14
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


3510+2870=6380 ))
А так, в качестве дурной идеи: найти каждый размер, найти примитивы, к которым он привязан. Если два размера (и более) привязаны к одинаковым примитивам, предложить эти размеры удалить. Но головняк тот еще будет, я подозреваю...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 04.09.2017, 10:04
#15
ProjectMaster


 
Регистрация: 21.08.2017
Сообщений: 1,054


Цитата:
Сообщение от Boxa Посмотреть сообщение
Потребовалась мне как то программка, которая из кучи черточек и отрезков полученных от архитекторов, делает поэтажные планы для Лиры...
хлебнул я горя... там все очень не просто и как водиться дьявол кроется в деталях
Сетку конечных элементов сам генерировал? Или выводил как контурные отрезки?
ProjectMaster вне форума  
 
Автор темы   Непрочитано 04.09.2017, 10:18
#16
Modis


 
Регистрация: 12.06.2010
Липецк, Москва
Сообщений: 534


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
3510+2870=6380 ))
Это автокадушка так округлил. А накидал я план "на глаз"
Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
найти каждый размер, найти примитивы, к которым он привязан. Если два размера (и более) привязаны к одинаковым примитивам, предложить эти размеры удалить
Ну вполне нормальная идея. Только (по хорошему) нужно не пользователя спрашивать, а самому программно это решать. Например оставлять тот вариант, в котором будет наибольшее количество размеров
Modis вне форума  
 
Непрочитано 04.09.2017, 10:54
#17
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,004


А что конечные пользователи говорят то? Или это не для фирмы, где сейчас работаете, а некий универсальный инструмент?
Сергей812 вне форума  
 
Непрочитано 04.09.2017, 11:00
#18
Владимир_М


 
Регистрация: 05.11.2015
Сообщений: 585


Цитата:
Сообщение от Modis Посмотреть сообщение
оставлять тот вариант, в котором будет наибольшее количество размеров
1. выбор примитивов, которые надо "образмерить", пользователем;

программно:
2. отбор отрезков и полилиний;
3. отбор вертикальных отрезков;
4. если полилиния, то анализ на вертикальные сегменты;
5. из координат концов вертикальных отрезков и вертикальных сегментов полилиний создать массив;
6. отсортировать массив по возрастанию координаты Х;
7. пронализировать первый и последний отрезки по координатам Y (для определения координаты Y размерной линии);
тут можно долго упираться и придумывать наиболее оптимальный вариант для всех случаев жизни,
но если выбрать только несколько наиболее часто встречающихся случаев, то все вполне решаемо...
(даже если и наедет цепочка не туда, то вручную одним (двумя) движениями, потом передвините в оптимальное положение)
8. образмерить массив вертикальных элементов.
естественно, повторить пп 2-8 для горизонтальных...

Последний раз редактировалось Владимир_М, 04.09.2017 в 11:14.
Владимир_М вне форума  
 
Непрочитано 04.09.2017, 11:09
#19
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Овчинка выделки не стоит. Все давно украдено.
Profan вне форума  
 
Непрочитано 04.09.2017, 12:07
#20
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Цитата:
Сообщение от ProjectMaster Посмотреть сообщение
Сетку конечных элементов сам генерировал? Или выводил как контурные отрезки?
Сам...
Increase Size Decrease Size Нажмите для просмотра
https://www.youtube.com/watch?v=lIyvxzS3xK0 , только смысла в этом мало, сейчас бы просто мешеру передал бы, а лет 5 назад было интересно повозиться.
Modis, в Адт реализовано авто образмеривание похожее на то, что ты хочешь. Посмотри что там и как.
Boxa вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Алгоритмическое описание принципов простановки размеров на плане

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Revit 2012: не отображаются некоторые объекты в плане, видимость включена. Rudy Revit 3 04.12.2017 22:41
Лисп простановки размеров над сегментами полилинии magvaj LISP 1 13.04.2015 14:00
Канализационный лоток на плане полов или на плане фундаментов? Виталька Паустовский Основания и фундаменты 3 09.12.2009 11:51
нельзя включить ассоциативность размеров Робин Гуд AutoCAD 18 07.08.2008 16:40
SW: Цепочки размеров и уравнения в сборке Creator SolidWorks 3 18.04.2008 19:47