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)
0 commentaires:
Enregistrer un commentaire