joiner34
Проект импорта схем помещений из чертежа AutoCAD
Появился у меня интересный проект, о котором я решил написать.
Задача такая: есть компания, занимающаяся ремонтом муниципальных помещений, нужно быстро просчитать стоимость для тендера по чертежам планам из AutoCAD.
Чтобы просчитать стоимость ремонта инженеру-сметчику прежде всего надо рассчитать площади полов, потолков, стен. Желательно дополнительно получить периметр пола для плинтуса, площади откосов, нужно учесть ниши, подиумы, потолочные балки и прочие конструктивные особенности. У компании есть готовые шаблоны смет, но для них нужны все эти параметры для расчета.
Ну что ж, вызов принят. Основная проблема – как выдернуть из AutoCAD контуры помещений для подсчета площади и периметра.
Сразу хочу сказать, что программа уже написана и я излагаю сам процесс.
Решил, для начала, попробовать научить программу как-нибудь импортировать выделение и как-то его разобрать, чтобы что-то с ним сделать. Работаю через COM объекты, поскольку связываемся с открытым AutoCAD и работаем напрямую. Сказано сделано. Простые линии и дуги импортируются без проблем
А вот штриховки и заливки повели себя нехорошо. Изучаю, как говорится, матчасть.
1. Штриховки могут быть многоблочными, и раскиданы по всему плану, поэтому просто не попадают в выделение.
2. Не все штриховки имеют готовый контур.
Пункт 2 особенно напряг. Оказалось, что вынуть координаты узлов таких штриховок без танцев с бубном проблемно. Бубном оказался скрипт на AutoLISP, который справился с этой задачей.
Выглядит гораздо лучше, подтянулись контуры штриховок. Отсюда можно пробовать вытащить контур. Но то, что выглядит как просто линия, может содержать в себе несколько линий, а то и десяток или даже сотни. И наоборот, для нахождения контура нужна часть отрезка, протянутого через всю схему.
Когда кто-то спрашивает: «Для чего мы учим в школе геометрию-тригонометрию?». Отвечаю: «Вот для таких случаев.» Вспомнить пришлось все, от школьной геометрии – коллинеарность, параллельность, перпендикулярность, до линейной алгебры и аналитической геометрии первого курса института. Чтобы подготовить схему к поиску контура программа делает 7 шагов, каждый из которых перебирает все линии и не один раз.
Для извлечения контура из кучи линий применяем теорию графов. Пишем алгоритм, задаем условия. И вот он долгожданный прямоугольник.
Пробуем посложнее.
Отлично. Продолжение следует.
Полное описание функционала тут
Ответ DiabloHell в «Это был жутко страшный тоталитаризм»11
Сейчас медицина неизмеримо лучше, чем когда-либо при СССР.
Задай себе вопрос - для кого?
При СССР в каждой более менее крупной деревне была поликлиника и больница. Сейчас дай бог если ФАП есть. Высокотехнологичная медицина доступна только в крупных городах. Я живу в райцентре где есть только рентген времен СССР и гастроскоп, тоже, судя по толщине шланга, еще Горбачева помнит.
Средства выделялись из общегосударственного бюджета без всяких прокладок в виде страховых компаний, которые получают зарплаты и прибыль с тех самых налогов, что мы платим.
Пенсии платили тоже из бюджета страны. И никто не предъявлял, что не хватает баллов, и тем более не требовал доплатить. Пенсия начислялась по средней зарплате за любые непрерывные 5 лет трудового стажа. И не было никакого пенсионного фонда, который строит дворцы за пенсионные деньги, а потом кричит, что денег не хватает.
Все эти прокладки и генерируют бюрократические бумажки для имитации бурной деятельности.
Шутка про иностранные препараты тоже понравилась. Что может позволить себе купить пенсионер на пенсию?
Ответ на пост «Решение по делу Долиной не помогло»4
Я вообще не понимаю всей этой ситуации с околоюридической стороны. Есть цепочка Покупатель - бабулька - мошенники (считаем, что мошенники все-таки есть). Почему бабульку из этой цепочки исключают и по факту ущерб от действий мошенников перекладывают на покупателя, найдем мошенников - вернем деньги. Сделка Покупатель-бабулька сама по себе, дело бабулька-мошенники само по себе. Если сделка Покупатель-бабулька прошла по закону, то по хорошему она должна оставаться в силе пока не решится проблема в паре бабулька-мошенники. Если бабулька невменяемая, то ее ждут в спецучреждении, если она вменяемая, то милости просим в государственный дом престарелых пока не решится вопрос с деньгами. Всё.
Регулярно проскакивают новости, что очередной пенсионер отдал деньги "товарищу майору". Никто же не вешает эти деньги на третьих лиц, пенсионер сам себе злобный буратино. Почему с квартирами не так?
Сейчас эту проблему переложили на банки. Ок, тогда и в вопросе с квартирами тоже пусть банки разруливают. Сделки только по безналу и банк отслеживает куда уходят деньги.
Ответ tablepedia в «А что, хорошее решение»4
Есть другое предложение. Поскольку в учебные заведения принимают по результатам ОГЭ/ЕГЭ, то включить в эту систему баллы за поведение. Можно рассмотреть разные модели, например, гражданская бальная система как в Китае. Пришел в 1 класс у тебя 100 баллов. За проступки баллы вычитаются, за положительные моменты - начисляются. И дальше, например, если после 9 класса меньше 50 баллов, переход в 10 невозможен. В ВУЗ-ах тоже включить баллы за поведение в общую сумму балов для поступления. Если родитель хочет для своего чада светлого будущего, то тоже начнет принимать активное участие в воспитании ребенка.
UPD. Не мы одни такие.
https://bigasia.ru/yuzhnokorejskie-vuzy-nachali-otkazyvat-v-...
Ответ на пост «Почему ИИ скоро убьёт художников и мне их (не?) жалко. Реальный кейс как я заказывал постер к фильму про сибирское маслоделие»20
Художники как рисовали, так и будут рисовать. Будут рисовать для себя, ради удовольствия, самовыражения и самореализации. Художники за деньги - это такие-же генераторы картинок как и ИИ.
Во-вторых, ИИ сам себе злобный буратино. Уход художников в тень приведет к потере свежего обучающего контента. ИИ будет обучаться на контенте, который сам же и нагенерил, что приведет к стагнации.
Ответ на пост «Безнадзорные собаки, Астрахань»2
Для меня вообще непонятно что происходит с этим законом ОСВВ. Я не юрист, может знающие люди что-то растолкуют. У нас есть Конституция и там написано следующее:
Статья 20
1. Каждый имеет право на жизнь.
Статья 42
Каждый имеет право на благоприятную окружающую среду, достоверную информацию о ее состоянии и на возмещение ущерба, причиненного его здоровью или имуществу экологическим правонарушением.
Статья 55
1. Перечисление в Конституции Российской Федерации основных прав и свобод не должно толковаться как отрицание или умаление других общепризнанных прав и свобод человека и гражданина.
2. В Российской Федерации не должны издаваться законы, отменяющие или умаляющие права и свободы человека и гражданина.
3. Права и свободы человека и гражданина могут быть ограничены федеральным законом только в той мере, в какой это необходимо в целях защиты основ конституционного строя, нравственности, здоровья, прав и законных интересов других лиц, обеспечения обороны страны и безопасности государства.
Как вообще приняли закон ОСВВ? У нас дикие собаки стали гражданами и у них появились права и законные интересы?
Для меня в этом вопросе все просто. Бродячие собаки должны быть убраны с улиц любым способом, потому что они несут угрозу жизни и здоровья граждан. Причем в зоне риска женщины, дети и старики.
Когда уже во власти появится человек со яйцами и раз и навсегда закроет этот вопрос?
Ответ razbiralochka в «Аэропорт Пулково стал первым в России, кто сделал посещение курилки платным. Теперь один перекур обойдется в 500 рублей»17
На мой ответ на пост накатил шквал ответов и хейта. И решил я ответить всем одним постом.
Да, вы все правы - курение зло. Но кто решил, что это дает кому-то право залезть ко мне в карман? И мое мнение такое:
Во-первых, отношение к окружающим это вопрос воспитания и наличия мозгов. Все эти курящие на остановках, на ходу в толпе, в подъездах и лифтах, это такое же быдло, что залазит на скамейки с ногами, это те же мамочки с колясками на велодорожках и те же самокатчики, сбивающие людей на тротуарах. Нормальный человек в любой ситуации остается человеком и думает об окружающих.
А во-вторых, давайте проведем аналогию. Каждый третий россиянин имеет ожирение. 27% от общего числа россиян, страдающих ожирением, имеют диагноз, подтвержденный в медицинских учреждениях. Доля людей с избыточным весом: достигла 62,5%. Это открытые данные статистики. Избыточный вес запускает целый каскад проблем со здоровьем: сахарный диабет второго типа, артериальная гипертония, болезни опорно-двигательного аппарата и многие другие проблемы. Это подтверждено исследованиями и статистикой.
Эти люди потные и вонючие ходят по улицам, в общественном транспорте занимают все сиденье, лететь рядом с таким в самолете каторга. Они создают избыточную нагрузку на здравоохранение. Они рано мрут.
Людям с лишним весом всего-то надо бросить жрать, так же как курильщикам бросить курить. Представим, что государство включается в борьбу с лишним весом. На кассе в каждом магазине ставят весы. Походит такой к кассе - а вот вам 50% акциз на хлебобулочные, макарошки, копченую курочку. На весь фастфуд налог 70%. Жуйте морковку, свеклу и закусывайте лимончиком - сплошные витамины и польза. В общественном транспорте, поездах, самолетах - двойной тариф. Выкачивая с вас деньги государство помогает вам похудеть и стать здоровее.
Ну как вам такая аналогия? У вас есть лишний вес - всего-то нужно бросить жрать или платите. Или это другое?
UPD. Как-то тихо. Похоже те, кто считают, что курильщики должны страдать - имеют проблемы с лишним весом.




