Trabalho com arquivos externos no MCG

O Max Creation Graph inclui uma série de nós para ler e salvar dados em arquivos externos. Siga estas diretrizes para obter os melhores resultados e desempenho.

Leitura de dados de arquivos

A primeira etapa para ler um arquivo é utilizar um nó Parâmetro: recurso. Isso fornece um botão na implementação da ferramenta que abre um navegador para permitir que os usuários especifiquem um arquivo.

O arquivo selecionado é tratado como qualquer outro recurso em uma cena. Por exemplo, ele aparece na caixa de diálogo Rastreamento de recursos e é incluído durante o arquivamento.

No gráfico, o nó Parâmetro: recurso retorna o caminho de arquivo como uma sequência. Ele deve ser conectado a outro nó para ler e processar os dados, dependendo do tipo de arquivo. Há várias opções:
  • CSV (valores separados por vírgulas). Esse é um formato comum para importação e exportação de dados das planilhas e outros aplicativos. Conecte a saída do nó Parâmetro: recurso a um nó ReadCSVData e conecte também uma sequência para especificar o separador (ele não precisa ser uma vírgula). A saída é uma matriz de matrizes de sequência. Dependendo da estrutura do arquivo de dados, talvez seja necessário descartar algumas linhas de cabeçalho e rodapé. Depois disso, será possível utilizar os nós das categorias Matriz e Tipo para converter as matrizes de sequências em outros tipos de valor, como inteiros ou únicos. Por exemplo, é possível observar o gráfico da CFDImportData.maxtool instalada.
  • Bitmaps. Utilize LoadBitmapFromFile para ler um bitmap no formato BMP, GIF, JPG, PNG ou TIFF. Depois disso, conecte a saída Bitmap aos nós na categoria Mapas/bitmaps, como GetPixels, BitmapHeight e BitmapWidth para trabalhar com os dados.
  • VDB. Utilize os nós na categoria OpenVDB para extrair os dados do arquivo. Por exemplo, é possível usar GetGridNames para obter uma matriz de nomes de grade e, em seguida, usar um dos nomes para obter os valores ou os vértices da grade.

Na maioria dos casos, você deseja evitar a releitura dos arquivos sempre que a ferramenta é avaliada. Uma forma de fazer isso é colocar os dados em cache (depois de qualquer processamento, se apropriado) com CacheValueUntilControlChanged usando a sequência file-name como a entrada do controle para que o cache seja atualizado somente quando o nome de arquivo for modificado. Como alternativa, é possível tentar utilizar CreateStaticCache, junto com Parâmetro: sinal para permitir que os usuários cliquem em um botão para forçar a atualização do cache.

Gravação de dados em arquivos

É possível salvar arquivos de bitmap e OpenVDB de ferramentas baseadas em MCG.