Цитата

«Качество надо производить, а не обеспечивать в результате контроля»(с)nmivan

четверг, 10 сентября 2020 г.

 «I must not fear.
Fear is the mind-killer.
Fear is the little-death that brings total obliteration.
I will face my fear.
I will permit it to pass over me and through me.
And when it has gone past I will turn the inner eye to see its path.
Where the fear has gone there will be nothing.
Only I will remain.»

Перевод:

«Я не должен бояться.
Страх — убийца разума.
Страх — маленькая смерть, влекущая полное уничтожение.
Я встречусь лицом к лицу со своим страхом.
Я позволю ему пройти через меня и сквозь меня.
И, когда он уйдет, я обращу свой внутренний взор на его путь.
Там, где был страх, не будет ничего.
Останусь только я.»

(с) Frank Herbert, Dune

Эт я к чему.... https://www.youtube.com/watch?v=n9xhJrPXop4

понедельник, 3 февраля 2020 г.

Автоматизация архитектуры и строительства

Комментарии к ролику: https://www.youtube.com/watch?v=OvPdmt8kkv0
1.       Программные комплексы вообще и расчет площадей в частности. ВСЕ Ваши слова, вообще все, показывают, что Вы либо не знаете и профессионально не пользовались ни одним САПР (автокад, ревит, текла, аллплан, Архикад, Бриккад и хренова туча других), либо умышленно вводите в заблуждение публику, говоря о возможностях ПО.  Для примера, расчет площади ЛЮБОЙ, не само пересеченной кривой или поверхности (самопересечение накладывает неопределенность, что именно показывать пользователю, а потому площадь в этих случаях просто не отображается в свойствах примитива) существовал в автокаде как минимум с R14, а это 1997 год (как минимум, это потому что личный опыт работы начался с этой версии). И еще как забавная иллюстрация, знавал я нескольких студентов, которые перепроверяли свои аналитические расчеты, строя графики в автокаде и потом сравнивая площади. Развитие ПО как бы на месте не стоит и геометрические ядра, которые используются в САПР, сделали гигантский шаг в перед. По этой ссылке: http://isicad.ru/ru/articles.php?article_num=15185 , несколько устаревшая информация (нет Ревита, да и аллплан уже давно на парасолиде), но все равно можно посмотреть на список ПО и геометрических ядер, которые там используются, а потом посмотреть возможности этих ядер и тогда заявлений по поводу площади просто не было бы. Однако, было бы желание.

2.        По поводу потери полезной площади в углах прямоугольных помещений. Тут несколько аспектов:
a.       Как показывает практика, наличие ПРЯМЫХ углов, это наименьшее зло, так как если стены будут криволинейными, то потери полезной площади возрастут в разы. В качестве иллюстрации представьте себе кухню или гардеробный щкаф, выполненные вдоль кривой стены, и выдвижные шкафчики в этой мебели будут чем-то напоминать ромашку, с неиспользуемым пространством между концов лепестков. Или какая красивая получится ванная… вдоль кривой стены, а главное сколько она будет стоить, что тут про стоимость “неиспользуемой” площади в углу лучше не вспоминать.
b.       На дворе капитализм, капитал зарабатывает деньги, для этого старается экономить на всем, криволинейные стены – это индивидуальная, одноразовая!!!! опалубка. А значит ненужные расходы. За 15+ лет работы я не припомню более 5 объектов с кривыми стенами, да и те объекты строились в «жирные»  годы, до 2008.
c.       Однако, если человеку так уж не нравятся прямые стены в комнате, эта проблема легко решается отделочными материалами и гипрочными конструкциями, навестными конструкциями. Не нравятся прямые стены, вперед, все в Ваших руках и кошельке. Такое я то же видел… в одном пентхаусе в центре Питера, в таких закруглениях «похоронили» более 60 м2 площади… при космической цене за этот самый метр… но если хоца и деньги есть, то почему нет.
d.       К слову, считать теплотехнику для помещения без углов проще, чем с углами.
e.       и т.д. и т.п. все в любом случае упрется в деньги и желание человека, некоторые себе купольные дома строят и рады в них жить. Как-то был в таком… самому захотелось, очень необычное ощущение.

3.       Автоматическое производство и роботы. Рекомендую ознакомиться с возможностями программы Allplan, ее возможностями проектировать различные криволинейные объекты и, в частности, одним из ее модулей – precast, позволяющим реализовать задуманное в виде ЖБ панелей с завязкой на производство.

4.       По поводу сложности расчетов. Это всегда так, если Вы специалист в одно деле, и вы досконально знаете, что нужно делать и видите сложность, то в работе обувщика все кажется простым, что там делать то, тут клеем намазал и прибил... а вот когда сами в руки возьмете молоток и клей и попробуете починить обувь, вот тут-то вся сложность и всплывет. Так и Ваше сравнение финансовой математики, как очень сложной штуки и «примитивных» строительных расчетов.

5.       По поводу Ваших архитектурных изысков, плиты в разных уровнях, отсутствие части плиты перекрытия и прочее. Все это делали, делают и будут делать. Отсутствие части плиты – «второй свет» архитектурный прием, используемый довольно часто, странно что вы его не видели. Залитие плит в разных уровнях, часто используется в торговых и офисных зданиях, но чаще в многоярусных парковках. Все эти приемы используют по необходимости, к месту.


Вы опытный программист и мне нравятся Ваши подкасты и ролики про программирование и мне бы не очень хотелось бы, что бы Вы выставляли себя в дурацком свете рассуждая про те темы, в которых не разбираетесь. Это как математик Фоменко, пишущий про историю, как математик он хороший специалист, все таки профессор, а вот как историк… историки с его сочинений только что не плачут от смеха. И теперь уже никто не помнит этого Фоменко, как математика, но потешаются как над историком…

Так же Вы напрасно считаете мои слова «указанием, что делать», скорее дружеский совет, впрочем , судя по Вашей реакции, Вы и сами разберетесь что делать.

вторник, 12 февраля 2019 г.

Потуги в Лисп

На dwg.ru задали вопрос : 
Как оптимизировать оцифровку точек и полилиний с координатой Z
 ( http://forum.dwg.ru/showthread.php?t=151302 )

Я от Лисп бесконечно далек, но решил выхватить шашку и потратить десяток минут на разбор...

(defun c:addpointz (/ ent z_coord pt)
  (while (progn (initget "Выход")
                (vl-cmdf "_.POINT" (getpoint "\nРисовать точку <Выход>: "))
                (setq ent (entlast))
                (setq z_coord(getreal "Координата Z: ")) ;Z
                (setq pt (cdr(assoc 10 (entget ent))))
                ((lambda (ent-list)
                    (entmod (subst
                        (cons 10 (list (car pt) (cadr pt) z_coord))
                        (assoc 10 ent-list)
                    ent-list)))
                (entget ent))
         )
     (while (not (zerop (getvar "cmdactive"))) (vl-cmdf pause))
  )
  (princ)
)

Вроде работает и делает то, что нужно... но там е на форуме есть и более простое решение:
*^C^C_point;\_change;_l;;_p;_el;\;

четверг, 6 сентября 2018 г.

Ethereum Smart Contracts in C# - введение в EthSharp

Перевод. Черновик.
Ссылка на оригинал: https://hackernoon.com/ethereum-smart-contracts-in-c-introducing-ethsharp-12c7a5db0b5



Экосистема Ethereum молода. Как результат, порог вхождения для начала строительства децентрализованных приложений на блокчейне Ethereum высок. Начинающий Ethereum разработчик вынужден использовать непривычный язык и среду разработки, и комманд-лайн инструменты почти для всего.

вторник, 26 июня 2018 г.

Что такое беда.

Беда - это когда в организации есть пять взаимонезависимых отделов и полностью отсутствует связь и средства коммуникации между ними, а большая беда - это когда руководство организации и руководителей отделов это полностью устраивает.

пятница, 8 июня 2018 г.

CustomEntity на .Net без использования ObjectARX

В продолжении темы, начатой тут: http://adn-cis.org/forum/index.php?topic=7771.0 , а еще ранее (в 2012 году) тут: https://habr.com/post/154591/
Давно вынашивал желание написать подобный объект для выполнения армирования, но все как то не складывалось...

вторник, 5 июня 2018 г.

PInvoke acdbEntUpd

В рамках исследования и создания псевдо объета,  в автокаде, довольно остро встал вопрос с обновлением отображения  отдельного объекта, а не всего чертежа, порывшись на GitHub нашел множество решений, в который используется PInvoke acdbEntUpd.
Однако такое решение делает код платформо зависимым, что не очень хорошо, стал искать дальше... и оказалось, вроде бы, что с 2016 версии автокада (возможно с 2014), разработчики таки сделали обертку на .NET для  acdbEntUpd: Acad.Utils.RegenEntity(ObjectId) .
 подробности тут
Так же подобное решение, в последствии, нашел тут: clsDirectionGrip.vb on github.com