Проигранный бой
Пришло наконец время выпустить статью о том как я изучаю STDL. Как вы можете понять из названия, дается это все мне ох как не просто) Поэтому, сегодняшнюю статью выпущу скорее как затравку к последующим, но если вы такой же нуб, как и я, то для вас здесь тоже будет кое-что полезное, что поможет набить чуть меньше шишек в попытках освоить "такую легкотню" (по мнению нашего барабанщика) как LUA .
Итак, бой №1, проигранный.
Кажется же все просто, я сейчас возьму то, что лежит в папке-установочнике с STDL, что-то там распакую, нажму установить, оно спросить пару стандартных вопросов и можно запускать. Но тут я столкнулась с тем, что открыв то, что лежало внутри той самой папки невозможно установить... Не то, чтобы я расстроилась, но тут начались звоночки, что мозг мой будет ломаться много раз на этом не простом пути. Ладно, подумала я, разберусь, что делать с непонятно устанавливаемой штукой тогда, когда надо будет ее запускать.
Бой №2, тоже проигранный.
Что-то в чатике писали про VisualCode, пойду его скачаю, решила я, наверное, тут будет проще. Скачала, установила (ура-ура!), дай, думаю, запущу файл примера, чтобы понять, что в нем написано и увидеть, что должно получиться на выходе. Пример по написанию task видела, все сделала, написала, жму Ctrl+Shift+B, ничего не происходит, только в нижнем окне вылезает сообщение о том, что никаких тасков не найдено, что вы там пытаетесь запустить. Ну как не найдено, вот же он, прямо в вижуал код написан и даже открыт, как не найден-то?! Пошла смотреть видео на канале Сергея Одегова, сделала все точь в точь по инструкции, сообщение вылезает точно такое же. Скопировала таск, выложенный у него на канале, жму эти Ctrl+Shift+B, опять он не запускается. Да божечки ты мой, что опять не так?
Зову на помощь отважного рыцаря Анатолия, согласившегося помочь мне в моем не простом пути. Анатолий дает мне свою утилиту, которая собирает таски и запускает, но все равно не работает. Да что ж такое-то, думаю, я? А Анатолий, тем временем, находит причину, оказывается, что помимо RstBuilder.exe надо было обязательно в папку скопировать файл с расширением .dll, кто б предупредил что ли...
Таск все еще не работает, ну и бог бы с ним, главное, с помощью утилиты теперь файл примера собирается.
Бой №3, наконец небольшая победа.
Утилита помогает, все классно, но червь внутри меня сидит и копает: "Таск-то не работает, значит что-то ты до конца не разобралась, девочка-нуб, иди разбирайся".
Ну я и пошла) В общем, записывайте:
1. Нажать на текст с ошибкой
2. Нажать "Создать таск-файл из шаблона"
3. Выбрать любой шаблон.
Если честно, я уже сама не помню, что я выбрала, но суть сего действия такова, что в этот момент создается папка .vscode в директории, в которой вы работаете, и вижуал код понимает, где ему искать ваши таски.
Бой №4. Мнимая победа
После успешного запуска примера (с 10-ой попытки) я приступила к своему самому простому заданию. Мне нужно было создать просто кубик каких-то габаритов с 4 портами: 2 входа отопления и 2 выхода. Имитирует этот кубик узел обвязки отопления. Повезло, наш специалист по ОВ не попросила делать всю массу конфигураций (а значит кучу геометрии и кучу УГО, про которые я пока даже думать боялась), а попросила просто кубик, которому она будет подписывать нужное наименование из каталога производителя, но зато трубы в модели будут смотреться прилично.
Я создала файл описания параметров и файл самого скрипта, запустила, сформировался файл rst, победа, думала я.
Но как можно догадаться, кубик мой не создался. В этот момент я уже начала думать, что я пытаюсь прыгнуть выше головы, в конце-то концов, кубик!!! и тот не получается, вылезает лишь ненавистный желтый треугольник с восклицательным знаком. Я посмотрела в несколько примеров примерно раз 100, выискивая новые способы создания геометрии. А потом мне подали гениальную идею засунуть только кусок кода, чтобы понять, что не работает. И тут я выяснила, что дело вообще не в кубике, а в портах 😂
Самая полезная часть статьи
Снова пришел мне на помощь рыцарь Анатолий и подсказал, что я ошиблась с регистром и в паре названий свойств опечаталась. И мой прекрасный выстраданный кубик наконец построился) А искал все это мой рыцарь не копируя код по строке и запуская файл, как это делала я, а указал мне путь истинный:
Если в процессе выполнения скрипта возникают ошибки, они записываются в файл localappdata%\Renga Software\Renga\AecApp.log
И наступило наконец счастье! В логе пишется в какой строке ошибка и почему! Теперь создание кода превратится в сказку, думала я, а потом пошла создавать светильник на 2 подвесах 😂 Но об этом в следующий раз.