Você está na página 1de 4

Dica da Semana I Famlia Studio I Junho 2016

Create Isosurfaces via Script

Lucas Batista Fernandes


Matemtico Computacional
APRESENTAO

Nessa dica da semana mostraremos como podemos criar isosurfaces a partir de um campo de um
modelo de blocos. Isosurfaces so superfcies geradas com os contornos dos valores de atributos
escolhidos pelo usurio a partir de um modelo de blocos.

TRABALHANDO COM A CRIAO DE ISOSURFACES

Como a maioria dos usurios j devem ter visto, o principal objeto para acessar a API do Studio3 a
varivel oDmApp. Atravs dessa varivel alm de chamarmos processos existentes no Studio3
conseguimos tambm acessar os arquivos em nosso projeto.

No nosso exemplo foi criado um modelo de blocos que possui um campo numrico ORE que assume
dois valores possveis, 1(Minrio) e 2(Estril). Iremos utilizar a API do Studio3 para gerar o slido que
representa os limites do modelo quanto aos valores que possuem com o campo citado. Como primeiro
passo, semelhante a outros exemplos de manipulao de arquivos na tela carregamos nosso modelo de
blocos.

var modelObj = oDmApp.ActiveProject.Data.LoadFromProject("__mod_teste");

O mais importante na linha acima instanciar uma referncia para o modelo de blocos na memria. No
necessrio que criemos um arquivo de tringulos e pontos para receber o resultado da gerao das
isosurfaces pois no momento da chamada da funcionalidade retornado um objeto com o resultado.

O uso da funcionalidade semelhante ao processo feito na interface grfica do Studio. Devemos


estabelecer os seguintes parmetros:

Coluna do modelo de onde viro os atributos


Valores da coluna escolhida com os quais as superfcies devem ser elaboradas
Quantas subclulas sero usadas (1 por padro)
Quantos passos de suavizao a serem usados (0 por padro)
Configurao do mtodo de gerao.

Com o modelo de blocos carregado (modelObj) acessamos a funcionalidade da criao de isosurfaces


atravs do cdigo:

var surfObj = modelObj.CreateIsoSurfaces("ORE","1;2",1,0,2);

Os parmetros passados para a funo so os mesmos j citados, porm com um formato diferente. Em
ordem que aparecem esto o nome da coluna de referncia (ORE), os valores a serem considerados
(1;2), no caso ORE=1 ou 2, nmero de subclulas a serem examinadas quando existir(1), nmero de
passos de suavizao na gerao das superfcies(0) e a configurao do padro em que as superfcies
devem ser criadas
A varivel surfObj guarda a superfcie obtida do processo como podemos ver abaixo.

Figura 1: Resultado da isosurface.

O ltimo passo, como j feito em outras operaes que manipulam objetos na tela, salvar nosso
objeto gerado em arquivos .dm.

surfObj.SaveAsDatamineFile("isosurf_",true, true,"");

O primeiro parmetro da funo SaveAsDatamineFile o nome do arquivo a ser salvo, o segundo, um


valor logico para informar que caso um arquivo com mesmo nome exista, o mesmo seja substitudo. O
terceiro parmetro um valor booleano para informar se o arquivo de preciso dupla ou no. Por fim,
as aspas vazias no ltimo parmetro informam que no utilizaremos configuraes adicionais. Na
verdade, so gerados dois arquivos, um com o nome isosurftr e outros isosurfpt por ser um wireframe.
Datamine Software Brasil

Alameda Oscar Niemeyer 360 7 Andar

Nova Lima MG CEP 34000-000

Tel: +55/31 32649377

Fax: +55/31 32649377

www.dataminesoftware.com

Você também pode gostar