поиск как в экселе

Главная Форумы Задать вопрос поиск как в экселе

Просмотр 7 сообщений - с 31 по 37 (из 37 всего)
  • Автор
    Сообщения
  • #6654 Score: 0
    Аноним
    Неактивированный
    10 pts

    Олег, спасибо! Твой ответ прямо вишенка на торте из всех сегодняшних ответов от других уважаемых коллег по сообществу. В голове крутилась мысль как бы прикрутить конвертеры единиц в виде функций (проблемой было то что я пока так толком и не освоил функции) для дальнейшего использования. Теперь удастся совместить приятное с полезным – и с функциями наконец-то разберусь на реальном примере под из своих задач и ноду окончательную фукнциональность обеспечу.

    #6663 Score: 0
    Аноним
    Неактивированный
    10 pts

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

    Текущая бета-версия выглядит как на скриншотах. Я скомпилировал подсказанные ходы от Oleg и txt, добавил немного отсебятины, в меру своих скромных знаний попытался кое-что оптимизировать. Что получилось на выходе можно скачать по вчерашней ссылке. Я заменил в папке все файлы на актуальные. В свойствах пространств стёр все значения, чтобы можно было наглядно увидеть что нод стал в первом приближении рабочим. В ноде до сих пор есть отдельные блоки, которые пока видятся мне неоптимальными. В частности, хочется запихать в код питона и передачу параметров в ревит + добавить логический блок проверки для отдельных типов параметров, например, мне не нравится что в случае отсутствия значения температуры в экселевском столбце с температурами помещений в параметр передаётся значение температуры -546°С и в случае отсутствия значения расхода воздуха в столбце с расходами в ревит передаётся значение 102 м3/ч. Можно конечно в исходной таблице эксель принудительно заставить тех кто будет потом этим пользоваться заполнять все ячейки, но можно ведь и поднастроить логический блок на более интеллектуальное поведение. Видимо для этих параметров стоит поменять логический подход и в случае отсутствия значений в таблице эксель просто пропускать обработку пространств для текущего типа параметра и текущего номера помещений. Пугает то что придется вообще переписывать весь текущий логический подход, либо ветвить логику на 2 сценария обработки пространств в зависимости от типа рассматриваемого параметра, а это усложняет внутреннее наполнение нода. .

     

    #6666 Score: 1
    Oleg
    Участник
    28 pts

    С нодой ReadExcel из пакета BumbleBee получилось вот так:


    и сам код, не очень красивый вышел, правда:

    #6667 Score: 0
    txt
    Модератор
    84 pts

    Еще вариант с тем же нодом , код тоже не айс :

    потестите , найдете ошибки – пишите я детально не проверял…

    p.s. по мне дак основная возня с конверторами единиц… может стоит конвертацию делать в экселе (т.е. лист1 оставляете как есть, создаете лист2 копируете туда все с листа1 (ссылками) и затем ссылками-формулами конвертируете. Далее в динамо подгружаете этот лист2 – в итоге запись либо числа, либо строки). Я б еще через VBA кнопочку сделал по нажатию на которую происходила бы конвертация, хотя это не обязательно.

    #6670 Score: 0
    txt
    Модератор
    84 pts

    Вопрос:

    Например, что то в этом духе:

    list_display_type=UnwrapElement(IN[0]) xxx DisplayUnitType()

    OUT=list_display_type >>  DUT_CUBIC_METERS

    #6671 Score: 0
    txt
    Модератор
    84 pts

    В конечном счете хотелось бы вот к чему прийти, примерный алгоритм:

    1.) проверяем список на наличие в нем чисел (строки игнорим) , запоминаем индексы

    2.) из этого списка чисел получаем DisplayUnitType и пользуясь методом, примененным ваше Oleg ‘ом, сконвертировать существующие для определенного элемента единицы в единицы проекта, то есть эти:

    Чтобы не приходилось для каждого типа единиц прописывать свой кусок кода, а все делалось автоматически…

    p.s. есть нод – конвертор единиц, но там всего по-моему штуки 4 типа единиц

    #6672 Score: 0
    Oleg
    Участник
    28 pts

    Это все можно сделать с помощью UnitUtils. Там есть
    ConvertFromInternalUnits
    ConvertToInternalUnits.

    А проверять условие можно
    if DisplayUnitType.DUT_METERS:

    Вот тут можно подробнее почитать

    http://thebuildingcoder.typepad.com/blog/2011/12/unit-conversion-and-display-string-formatting.html

Просмотр 7 сообщений - с 31 по 37 (из 37 всего)
  • Для ответа в этой теме необходимо авторизоваться.