2 votes

Panneau de ruban Revit avec bouton-poussoir et image bitmap sans RevitPythonShell ou C# (uniquement ironpython)?

Je suis un architecte (un vrai, pas un architecte logiciel :) ) qui expérimente un peu avec l'API Revit et se familiarise avec le monde de la programmation. J'ai fait une partie en C# mais je suis passé à Python en espérant que les premières étapes iront plus vite de cette façon. Pour en revenir au sujet, j'ai créé une application et déployé un DLL avec RevitPythonShell. J'ai créé un bouton poussoir à l'intérieur d'un ruban mais j'aimerais créer une image Bitmap pour que ça ait l'air joli. Existe-t-il un moyen d'ajouter une image Bitmap à une application pour que je puisse l'utiliser dans une instance de Revit sans avoir RPS installé ?

Précédemment, j'ai créé la même application en utilisant C# et tout s'est bien passé. Mais en utilisant Python, il y a un problème. Lorsque vous créez un contrôle sur un panneau de ruban Revit, vous devez passer le chemin d'un DLL et le nom complet (y compris les espaces de noms) d'une classe à l'intérieur de ce DLL qui implémente IExternalCommand. Cependant, lorsque vous utilisez Python, cela n'est pas possible, du moins je ne sais pas comment faire.

Daren Thomas a de bonnes instructions lors de l'utilisation de RPS en tant que script de démarrage (https://github.com/daren-thomas/scripting-autodesk-revit-with-revitpythonshell/blob/master/more_control_over_the_ribbonpanel.md) mais existe-t-il un moyen d'éviter cela, simplement de déployer un nouveau script ou de "traduire" le nom de la classe du constructeur PushButtonData de l'API Revit ?

Cette image montre ce que j'aimerais réaliser. Elle montre mon application en C# vs Python.

example

2voto

Daren Thomas Points 26812

@darkhitect - comment utilisez-vous python pour déployer vos scripts? Si vous utilisez le mécanisme DeployRpsAddin de RevitPythonShell, vous devriez pouvoir utiliser les attributs largeImage et smallImage dans la balise . Définissez-les sur les chemins de l'image et tout devrait bien se passer?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X