4 déc. 2022

[Dynamo += Python] import ???

 




Parfois, on cherche quelle Assembly et/ou quel Espace de nom, il faut importer dans un nœud Python.

if this article is not in your language, use the Google Translate widget ⬈ (bottom of page for Mobile version )


En supposant que l'Assembly et la Méthode recherchée soit chargée dans l'environnement Dynamo (domaine), voici une petite aide avec un nœud Python.

Le nœud prend en entrée :
  • le nom de l'Espace (namespace)
  • le nom de la Méthode
ces 2 valeurs doivent être jointes par un point
namespace.method


import sys
import clr
import System
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *
def search_assemby_bymethod(methodName):
	result = []
	s_name_space, s_methodName = methodName.split(".")
	for assembly in System.AppDomain.CurrentDomain.GetAssemblies():
		try:
			name_spaces = assembly.GetTypes()
		except:
			name_spaces = []
		for name_space in name_spaces:
			if s_name_space in name_space.Name:
				try:
					methods = name_space.GetMethods()
				except:
					methods = []
				for m in methods:
					if s_methodName in m.Name :
						if [assembly, name_space] not in result:
							result.append([ assembly, name_space])
	return result

name_method = IN[0]
OUT = search_assemby_bymethod(name_method)




Pour les méthodes de l'API Dynamo, généralement, il suffira de copier le nom du nœud.







Related Posts:

  • [Dynamo+=Python] Copier les états des calques CAO A défaut de travailler qu'avec des maquettes en liens, travailler avec des liens CAO sous Revit peut poser quelques difficultés La difficulté n'étant pas dans l'importation du lien CAO ou dans le géo-référencement du DWG n… Read More
  • Légende Auto ou Légende Urbaine? Photo Légende de Vacances 😆 On ne pourra se mentir, la création de légende sous Revit n'est (à ce jour) pas la partie la plus développée. Vous aurez beau chercher dans les "namespaces" de l'API de REVIT&nbs… Read More
  • [Dynamo+=Python] Voyez le Changement! Au sommaire de la visibilité des changements entre 2 modèles et la gestion du changement de méthodes entre plusieurs versions de SDK (API Revit)  Ne travaillant essentiellement qu'avec des modèles liés et d… Read More
  • [Dynamo+=Python] Transfert de Légendes L'outil d'insertion  de vue à partir de fichier de Revit ne permet pas à ce jour de copier des Légendes, mais... Il existe quelques utilitaires qui permettent de réaliser cette tâche sans avoir à faire du "cop… Read More
  • [Revit] De l'Elec dans Revit 2021 ! Revit 2021 vient de sortir, voici quelques nouveautés intéressantes autour du domaine de l'électricité et plus. De l'ingénierie électrique au menu dans cette version ! L'utilisation de Revit ne se limite pas au… Read More

0 commentaires:

Enregistrer un commentaire