Comments 4
Небольшой вопрос.
В чем смысл ограничивать в приложении для разработчиков доступ из под скриптового языка к OS? Требования ФСБ, личные соображения по безопасности?
Просто огромное количество софта прекрасно живет с питоном на борту, и возможность использовать доступ к ос наоборот является плюсом (ты и кастомный экспорт написать можешь, и данные выплевывать в сторонние обработчики, например плюсовые приложения)
На память (лет пять назад последний раз ковырял), Dynamo в Revit имело встроенный питон, что позволяло делать весьма веселые кульбиты
Есть плагины — там у разработчика есть права равные правам запущенного приложения. Приведенные вами примеры касаются функциональности плагинов.
Здесь же скрипт с поведением нужно воспринимать как часть переносимого контента проекта, поэтому нет и не должно быть задач "обратиться к ОС". Поведение скрипта должно быть полностью детерминировано тем проектом, в рамках которого он выполняется, тогда на другой машине этот скрипт будет давать такой же результат.
Т.е. первое — не должно быть возможности выйти из "песочницы" проекта.
Второе — отдельный вопрос про безопасность с точки зрения какого-то вреда пользователю, когда, открыв скачанный проект, вы можете получить очищенный диск C. Все-таки при запуске скачанного из сети исполняемого файла (плагина) для человека более явно, что, запуская его, можно получить неприятные последствия.
А почему нельзя было просто в сборках создавать нужное оборудование, ввести в сборку точки трассировки и все. При появлении этой сборки в трассировке Ренга бы ее уже рассматривала, как часть системы и она везде бы появляясь (чертежи, спецификации и т.д). Зачем из проектировщика делать программиста?
Давайте начнем с конца. Делать из проектировщика программиста цели нет. Этот инструмент рассчитан на тех, кто уже умеет программировать, внедренцев, автоматизаторов.
Сборка — это сборочная единица, она не подразумевает параметризации, в ней нет условного обозначения, получить там сложное тело сложнее, чем скриптом.
Если же разрабатывать специальный моделлер с возможностью параметризации и назначения портов, то, во-первых, за возможную лёгкость вхождения теряется гибкость, во-вторых, вопрос, кто будет делать новые категории объектов, остаётся, а в-третьих, стоимость и время разработки увеличиваются, что в итоге негативно сказывается на конечном пользователе, так как он не получает нужные ему объекты.
Renga STDL: краткий обзор языка для расширения функциональности программы Renga