Я архитектор (настоящий, а не архитектор программного обеспечения :)), немного экспериментирую с Revit API и знакомлюсь с миром программирования. Я сделал часть работы с C #, но переключился на Python с надеждой, что начальные шаги так пойдут быстрее. Чтобы вернуться к сути, я создал приложение и развернул DLL с RevitPythonShell. Я создал кнопку внутри ленточной панели, но хотел бы создать растровое изображение, чтобы оно выглядело красиво. Есть ли способ добавить растровое изображение в приложение, чтобы я мог использовать его в экземпляре Revit без установки RPS?
Раньше я создавал такое же приложение на C #, и все прошло гладко. Но при использовании Python возникает проблема. Когда вы создаете элемент управления на панели ленты Revit, вам необходимо передать путь к DLL и полное имя (включая пространства имен) класса внутри этой DLL, который реализует IExternalCommand. Однако при использовании Python это невозможно, по крайней мере, я не знаю, как это сделать.
У Дарена Томаса есть хорошая инструкция по использованию RPS в качестве Stratup Script (https://github.com/daren-thomas/scripting-autodesk-revit-with-revitpythonshell/blob/master/more_control_over_the_ribbonpanel.md), но есть ли способ избежать этого, просто развернуть новый скрипт или «перевести» имя класса PushButtonData Constructor в Revit API?
Это изображение показывает, чего я хотел бы достичь. Он показывает мое приложение C # vs Python.