Como obter os nomes dos ficheiros e/ou subpastas de uma pasta com o Grasshopper? É possível fazê-lo com o componente C#. O James Ramsden demonstrou uma forma simples de obter os nomes das subpastas de um determinado caminho usando a classe DirectoryInfo. É possível fazer o mesmo para obter os nomes dos ficheiros usando a classe FileInfo. A melhor parte é que o método funciona nas versões do Rhino para macOs e Windows.
Use o código abaixo dentro de um componente C# com um input com o nome path que recebe objectos do tipo string.
private void RunScript(string path, ref object Dirs, ref object Files) { System.IO.DirectoryInfo dirInfo = new System.IO.DirectoryInfo(path); System.IO.FileInfo fileInfo = new System.IO.FileInfo(path); System.IO.DirectoryInfo[] dirInfos = dirInfo.GetDirectories("*.*"); System.IO.FileInfo[] fileInfos = dirInfo.GetFiles("*.*"); List<string> dirNames = new List<string>(); List<string> fileNames = new List<string>(); foreach(System.IO.DirectoryInfo d in dirInfos) { dirNames.Add(d.Name); } foreach(System.IO.FileInfo f in fileInfos) { fileNames.Add(f.Name); } Dirs = dirNames; Files = fileNames; }