Escolar Documentos
Profissional Documentos
Cultura Documentos
ESCOLA DE ENGENHARIA
Uso de scripts para customização de softwares de mineração - Estudo de caso para definição
de realces planejados interceptados por furos de sondagem
Belo Horizonte,
Maio de 2021
1
Francisco Militão de Souza Silva
Uso de scripts para customização de softwares de mineração - Estudo de caso para definição
de realces planejados interceptados por furos de sondagem
Belo Horizonte,
Maio de 2021
2
UNIVERSIDADE FEDERAL DE MINAS GERAIS
ESCOLA DE ENGENHARIA
DEPARTAMENTO DE ENGENHARIA DE MINAS
3
DEDICATÓRIA
4
AGRADECIMENTOS
De ambos os autores:
Aos amigos e companheiros de jornada Beatriz Casagrande, João Victor Menezes, Maria Inêz
Oliveira e Mariana de Souza, pelo incentivo, apoio e risadas. Vocês tornaram a caminhada até
aqui muito mais leve e feliz.
À Datamine, que nos permitiu a utilização de um de seus produtos, o Studio RM, para o
desenvolvimento deste trabalho, num incentivo ao desenvolvimento da ciência e à integração
da academia com o mercado.
Ao Prof. Pedro Casagrande, nosso orientador, pela sua atenção e apoio durante a preparação
do trabalho.
Aos membros da Banca Examinadora, pela leitura do texto e pelas sugestões oferecidas ao
trabalho.
Aos amigos e amigas que não foram citados e que sempre estiveram conosco nos auxiliando.
De Maria Eduarda:
A Victor Filipe, por todo amor e suporte incondicional ao mostrar alegria quando tudo parecia
impossível e ser uma maravilhosa companhia nesta etapa da vida.
5
“Tem que saber ler.”
6
RESUMO
7
ABSTRACT
The goal of scripts is making recurring processes easier and faster through automation and the
creation of simple user interfaces. To analyze if these goals are being met, the present study
investigated the historic context of the use of scripts and created one to fulfill a real life need
of an underground mine: to find out which planned stopes have already been drilled. As this is
not a common demand, the software does not have a dedicated tool to do it, but it is possible
to reach the result wanted using a sequence of processes that has been automated by the script.
8
LISTA DE FIGURAS
9
SUMÁRIO
1. INTRODUÇÃO .................................................................................................................. 1
2. OBJETIVO ......................................................................................................................... 3
2.1 Objetivo geral: ......................................................................................................... 3
2.2 Objetivos específicos: .............................................................................................. 3
3. REVISÃO BIBLIOGRÁFICA ........................................................................................... 4
3.1 Histórico do uso de softwares na mineração, melhorias e impactos ........................... 4
3.2 Programação de softwares na mineração: customização ............................................ 6
3.3 Glue Codes, Scripts e linguagens aglutinativas .......................................................... 9
3.4 Component Object Model (COM) ............................................................................ 10
3.5 O Studio RM ............................................................................................................. 11
3.5.1 Arquivos em formato Datamine......................................................................... 14
3.6 Linguagem HTML .................................................................................................... 15
3.7 Linguagem Javascript ................................................................................................ 16
3.8 Realces ...................................................................................................................... 17
3.9 Furos de sondagem .................................................................................................... 18
4. ESTUDO DE CASO ........................................................................................................ 19
5. METODOLOGIA ............................................................................................................. 22
6. RESULTADOS ................................................................................................................ 30
7. DISCUSSÃO DOS RESULTADOS ................................................................................ 38
8. CONCLUSÕES ................................................................................................................ 40
9. SUGESTÕES PARA TRABALHOS FUTUROS ............................................................ 41
10. REFERÊNCIAS BIBLIOGRÁFICAS.......................................................................... 42
11. ANEXOS ...................................................................................................................... 45
10
1. INTRODUÇÃO
A mineração é uma atividade com demandas complexas e que lida com grandes
escalas de movimentação de material, mão de obra e recursos financeiros. Essas
características favoreceram que o setor mineral buscasse por soluções computacionais mesmo
quando os computadores ainda ocupavam todo o espaço de uma sala. Computadores podem
desenvolver cálculos complexos mais rapidamente que humanos e conseguem aumentar a
produtividade das equipes, o que resulta em aprimoramento dos trabalhos e retorno financeiro
positivo (SACHS, 2009).
O uso de softwares na mineração adentrou inicialmente os grandes empreendimentos,
em geral para uso na etapa de planejamento de lavra. Em seguida se espalhou para diversas
outras etapas da cadeia produtiva. Surgiram softwares para o gerenciamento de amostras em
laboratórios, para o gerenciamento de frotas, para a criação e simulação de planos de fogo,
dentre muitos outros. Com o barateamento da tecnologia, o acesso pôde se democratizar para
minas menores (PIES; FIGUEIREDO, 2015).
As aplicações voltadas para a atividade minerária comumente não são criadas sob
medida para uma empresa ou mina. Os softwares usualmente são produtos padronizados que
são comprados pelas mineradoras (em inglês são chamados de produtos off-the-shelf). Dessa
forma, por vezes os produtos não atendem da melhor forma possível algumas das demandas
específicas de uma mina, muitas vezes por serem aspectos intrínsecos àquela operação e não
utilizados por outras. Desse modo, a possibilidade de customizar os softwares torna-se uma
aliada para adaptar soluções para situações específicas.
A customização pode acontecer por meio da utilização de códigos de script, os quais
são um agrupamento de orientações para que uma atividade seja executada numa aplicação.
As orientações podem ser elaboradas por qualquer usuário e devem ser escritas em linguagem
de programação, sendo que a linguagem apropriada varia de acordo com o produto utilizado
(JavaScript e HTML para a linha Studio da empresa Datamine e Microsoft Visual Basic for
Applications nos produtos da antiga Gemcom, por exemplo) (HACK, 2003).
Além de aprimorar os produtos para atender às demandas específicas de uma mina, os
scripts também podem automatizar procedimentos repetitivos e garantir a geração de
relatórios padronizados. A utilização de scripts está diretamente ligada ao empoderamento do
usuário, lhe conferindo o papel de protagonista sobre a plataforma que utiliza. Ela permite
que o usuário ganhe velocidade sobre processos através da automação, além de poder gerar
resultados sempre dentro do mesmo padrão com consistência, o que auxilia na organização
1
da informação. Outro atrativo da customização de softwares através de scripts é que o usuário
se torna o autor da interface, podendo torná-la mais simples e intuitiva possível, inclusive
podendo escrever as informações nela contidas em qualquer idioma, diferentemente dos
softwares, que por vezes não possuem versão em português, por exemplo.
2
2. OBJETIVO
2.1 Objetivo geral:
3
3. REVISÃO BIBLIOGRÁFICA
3.1 Histórico do uso de softwares na mineração, melhorias e impactos
4
uma simulação em que era possível obter observações estatísticas de seu possível desempenho,
ou seja, a simulação é a ferramenta que permite responder a questionamentos como: “o que
ocorre se...” (GONÇALVES, 2019).
Como destaca Silva (2019), na perspectiva do planejamento de lavra,
independentemente do método utilizado para desenvolvimento da lavra, consiste num trabalho
extremamente exaustivo se executado de forma manual e por isso os métodos transpostos para
um desenvolvimento computacional tornam as estimativas mais rápidas e precisas, uma vez
que praticamente todos os procedimentos são realizados sem ação humana, apenas a inserção
de informações na interface. Ademais, os softwares proporcionam uma visualização mais
integrada da distribuição dos valores das variáveis de interesse e permitem ao usuário uma
interpretação mais próxima da realidade ao passo que podem ser fornecidas imagens, e modelos
3D, permitindo melhores decisões. Outro ganho expressivo com essa evolução é a flexibilidade
e a previsibilidade que os softwares propiciam às operações das minas, “permitindo a
simulação e análise de vários cenários antes de iniciarem-se as atividades reais” (PIES;
FIGUEIREDO, 2015).
De acordo com Silva (2006), à época da publicação, nota-se que a utilização de
softwares de modelagem e planejamento de lavra apresentam um estado já consolidado e já
permeiam as mineradoras no Brasil e no mundo. Além disso, houve uma ampliação da
aplicação para ações de suporte à qualidade dos minérios no curto prazo, com a comunicação
simultânea entre as operações de uma mina.
Sachs (2009) descreve a respeito dos diversos programas que podem auxiliar em
praticamente todas as etapas do processo produtivo atualmente, sendo que há um destaque, em
função do pioneirismo, para os de geologia e planejamento de lavra com os mais notáveis
desenvolvimentos e significativo potencial de armazenar e gerenciar enormes volumes de
dados, enquanto ainda estão em busca de melhorias como visualizações tridimensionais,
manipulação de sólidos, realidade virtual e complexos algoritmos para os diversos cálculos
dessa etapa. De mesma forma, os sistemas relacionados às operações unitárias procuram
incessantemente auxiliar na otimização dos processos a fim de reduzir os custos: ao que tange
as questões de manutenção, é esperado o apoio para obter o melhor desempenho, evitando
tempos ociosos e utilizando ao máximo a capacidade do ativo, ou seja, potencializar a
disponibilidade física (SACHS, 2009). Em consonância, os comumente utilizados sistemas de
despacho, controlam e otimizam a produtividade dos caminhões durante as atividades da mina,
bem como funções avançadas de qualidade, fluxo de produção, aderência ao planejamento de
lavra, e máxima utilização entre os diversos grupos de equipamentos (carregamento, transporte
5
e infraestrutura) através de GPS de alta precisão, interfaces gráficas em 3D, conexões wireless
e realidade virtual (SACHS, 2009). Quanto aos sistemas utilizados nas usinas, estes buscam
monitorar os diversos parâmetros físicos, químicos e metalúrgicos envolvidos no processo,
bem como armazenar em bancos de dados e auxiliar a controlar as variáveis operacionais que
amparam para que os produtos resultantes saiam conforme especificações (SACHS, 2009).
Atualmente, as empresas buscam melhorias que consigam otimizar os diversos sistemas
de maneira mais integradas a fim de que todos os setores que participem do processo de
produção possam ter acesso às informações, permitindo que haja flexibilidade no
gerenciamento dos dados e melhor visibilidade no âmbito corporativo (SILVA, 2006). Em
paralelo, “várias mineradoras, institutos de pesquisa e universidade estão conduzindo
pesquisas visando desenvolver novas tecnologias de modo a mudar o paradigma de operação
de uma mina” (Sachs, 2009), em que se objetiva retirar os colaboradores da mina e utilizar
maquinário autônomo, dessa forma diminuindo a exposição do homem na linha de frente das
atividades, acarretando menor risco e maior segurança, além de poder centralizar o controle
num único centro e de modo remoto.
Segundo Hack (2003), scripts existem há pelo menos sessenta anos. Trata-se de
linguagens de programação que são utilizadas para conectar ferramentas pré-existentes em um
sistema e por isso também são conhecidas como glue codes, segundo Ousterhout (1998). De
acordo com Hack (2003), scripts podem ser úteis para automatizar rotinas complexas e para
tornar os procedimentos mais intuitivos e simples. Com isso, são gerados ganhos de velocidade
e eficiência, o que resulta em benefícios econômicos.
6
empregadas em scripts, tem-se como a mais antiga utilizada a JCL – Job Control Language –
sendo datada na década de 60. Anos depois, em 1986, o AutoCAD incorporou a AutoLISP,
uma linguagem utilizada para fins de engenharia. A customização em softwares de mineração
se popularizou a partir da década de 1990.
Nos softwares de planejamento de lavra, desde o início dos anos 2000 estão disponíveis
diversas ferramentas para criação de scripts. Os fornecedores desses produtos optaram por
disponibilizar distintas linguagens de programação para scripts. Podem ser citados o software
Surpac, que utiliza em seu ambiente de desenvolvimento a linguagem SCL – Surpac Command
Language – que é baseada na TCL – Tool Command Language; o software MineMax, que
também adaptou a linguagem TCL; o MineSight, que utiliza a linguagem Python; Gemcom
Desktop Edition que permitia o uso da linguagem Visual Basic for Applications (VBA); e a
linha Studio da Datamine, que optou por utilizar a interface COM – Component Object Model
– disponibilizando os comandos e processos de seus programas para quaisquer linguagens
aplicadas para scripts que tenham suporte para COM (HACK, 2003)1. Exemplos de linguagens
com suporte para COM são JavaScript e VBScript, as quais podem ser incorporadas a
documentos em HTML (DATAMINE, [2019]).
1
Vale ressaltar que as informações se referem à época de escrita do artigo e que desde então
algumas alterações de produtos ocorreram, como pode-se citar a aquisição da empresa
responsável pelo Surpac pela Gemcom no ano de 2006, conforme é atestado por Corum
Mergers & Acquisitions (2006).
7
informações são compiladas e documentadas. Dessa maneira, poderia ser considerada como
melhor opção para lidar com programas do Windows, contudo em função de Python e TCL
possuírem seu código aberto, é esperado que a interface entre programas não seja mais um
limitante. O VBA possui vantagens como: é esperado que usuários dessa linguagem necessitem
de menos treinamento em função de sua similaridade com o funcionamento de programas do
Windows, também é esperado que o VBA possua um desempenho mais rápido que ferramentas
desenvolvidas autonomamente. Por fim, Hack (2003) diz que a Datamine, ao oferecer a
interface COM, deu flexibilidade e liberdade ao desenvolvedor para escolher a opção de
linguagem que mais lhe for conveniente conforme suas habilidades e preferências.
8
desenvolvimento web. Por fim, quanto a mercados menores, como de minerais industriais, há
grande possibilidade de os fornecedores oportunizarem seus softwares para atendê-los, sendo
estes os que potencialmente mais devem requerer customizações para se adequarem aos seus
negócios, contudo é necessário avaliar proposições como ferramentas, treinamentos e suporte
gratuitos para viabilizar a utilização do ponto de vista não só técnico, bem como econômico
também (HACK, 2003).
9
Linguagens de scripts são mais simples e fáceis de aprender, pois possuem sintaxe
simplificada. Por isso, elas ganharam popularidade com o aumento do número de
programadores casuais a partir do surgimento dos computadores pessoais. Para os
programadores casuais, a programação não é seu trabalho principal, mas sim uma ferramenta
auxiliar, portanto, para essas pessoas não faz sentido despender meses para aprender uma
linguagem complexa, mas elas estão dispostas a empregar algumas horas para estudo do tema,
o que é o bastante para iniciar a criação de scripts úteis (OUSTERHOUT, 1998).
Com base nessas características, Ousterhout (1998) afirma que as linguagens de script
são ideais para casos em que a velocidade de criação e teste da rotina são aspectos
importantes, mas que as linguagens de desenvolvimento de sistemas devem ser empregadas
sempre que algoritmos complexos forem desenvolvidos ou que a velocidade de execução seja
crucial.
Códigos de script podem ser inseridos em páginas web e executados por navegadores.
O script então pode invocar objetos COM, o que permite ao desenvolvedor web utilizar códigos
pré-existentes em seu script (GRAY et al., 1998). O Studio RM da empresa Datamine possui
Component Object Model completo publicado que pode ser acessado através de scripts usando
JavaScript, VBScript ou qualquer linguagem de script compatível com COM. Esses scripts
podem ser incorporados em um documento HTML e executados em navegador acoplado ao
10
software (janela Customization) para executar comandos ou processos do Studio RM
(DATAMINE, 2019).
3.5 O Studio RM
Para utilizar um script no Studio RM, deve-se abri-lo na janela Customization (Figura
1 e Figura 2), o que pode ser feito arrastando o arquivo do código até ela ou por meio do
caminho: Home | JScript | Run Script (DATAMINE, [201-?]).
11
Figura 2: Janela Customization.
O método mais simples para criar um script na linha Studio da Datamine é através da
ferramenta de gravação de processos que o software oferece. A partir da ferramenta Record
Script, todos os processos executados são registrados em um documento HTML. Esse
documento gera uma interface simples que contém apenas o nome com o qual o arquivo de
script foi salvo e um botão de execução (Figura 3). Quando o botão é pressionado, os processos
gravados são reproduzidos (DATAMINE, [201-?]).
Figura 3: Interface de script gerado automaticamente pela ferramenta Record Script. "Extra" é o nome com o
qual o script foi salvo.
12
O arquivo HTML pode ser posteriormente acessado e editado para gerar modificações
na interface do script, como adicionar botões, caixas de texto e check boxes (Figura 4). Também
é possível alterar valores padrão do script, como nomes dos arquivos de entrada e saída. Deve-
se ressaltar que no Studio RM existem processos (operações que manipulam arquivos
independentemente de estarem carregados em tela) e comandos (operações que manipulam
objetos carregados em tela) (DATAMINE, [201-?]). De acordo com Datamine ([2019]), ambos
podem ser utilizados em scripts, mas apenas os processos podem ser gravados. Para inserir
comandos em um código é possível buscar suas interfaces no documento de referência
chamado “Scripting COM Reference”, o qual é parte integrante do Studio RM e pode ser
acessado por meio do ícone exibido na Figura 5.
Figura 4: Exemplo de interface customizada a partir de manipulação do arquivo HTML gerado pela ferramenta
Record Scripting.
13
Figura 5: Caminho para o documento de referência que contém as interfaces dos comandos existentes no Studio
RM.
Para que se possa manipular os arquivos HTML de scripts voltados para o Studio RM,
Datamine ([2019]) recomenda que o programador tenha conhecimento prévio de linguagens de
script, como JavaScript; tenha conhecimento de comandos e processos comuns do Studio RM
e do modelo de objeto usado pelo software; e tenha um software para scripting apropriado
como Visual Studio Express®.
14
específicas. Existem diversos métodos para manipular tabelas de atributos (DATAMINE,
[2019]).
Figura 6: Parte da tabela de atributos de um arquivo de furos de sondagem em formato Datamine. BHID,
FROM, TO, X, Y e Z são exemplos de colunas com nomenclatura padronizada.
Diversas linguagens vêm sendo desenvolvidas ao longo dos anos a fim de solucionar
problemas ou para tornar mais simples e fluido a atividade de programar. Similarmente, a
linguagem de script JavaScript foi criada pela empresa Netscape Communications
Corporation, por Brendan Eich e recebeu primeiramente o nome de Mocha, que posteriormente
foi mudado para LiveScript e por fim, atualizado em JavaScript em 1995. Apesar de ter seu
nome costumeiramente confundido com a linguagem Java, elas possuem apenas similaridades
na sintaxe (GRILLO, FORTES, 2008).
Segundo Silva e Sobral (2017), o intuito do desenvolvimento da linguagem, na década
de 90, era focado para resolver problemas do usuário ao ter de lidar com o ambiente web, dado
que este não era muito responsivo. Dessa forma, JavaScript evoluiu rapidamente, ganhando
notoriedade e espaço em diversos navegadores, se tornando a principal opção para
16
desenvolvimento front-end de sistemas de softwares na Web. Enquanto Grillo e Fortes (2008),
ressaltam como JavaScript é uma linguagem de programação de propósito geral, que garante
dinamismo, dispõe de propriedades do paradigma de orientação a objetos e em função de ser
Client-side – que é passível de rodar no computador do usuário – é esperado que ela seja apta
a executar qualquer tipo de aplicação em seu host. O Google Inc. é um grande exemplo de
empresa que utiliza essa linguagem em suas aplicações e por conseguinte elas se tornam tão
interativas.
Grillo e Fortes (2008) define a linguagem como:
JavaScript permite criar pequenos programas embutidos no próprio código de uma
página HTML e capazes de gerar números, processar alguns dados, verificar
formulários, alterar valor de elementos HTML e criar elementos HTML. Tudo isso
diretamente no computador cliente, evitando a troca de informações com o servidor
e o tempo passa a depender somente do processamento local do cliente, não mais da
latência da rede. [...] JavaScript é uma linguagem completa e poderosa que possui
muitas das qualidades de diversas outras linguagens, como: listas associativas,
tipagem dinâmica e expressões regulares de Perl e a sintaxe similar a C/C++,
linguagens de grande reconhecimento tanto no mundo acadêmico quanto
comercialmente. Além disso, JavaScript é multiparadigma e entre eles destacam-se a
programação estrutural e orientada a objeto; possui funções de ordem superior; entre
outros.
Em consonância, Silva e Sobral (2017) definem que “JavaScript é uma linguagem de
script, interpretada, baseada em objetos e protótipos, multi-paradigma e dinâmica, suportando
além do estilo orientado a objeto, os estilos imperativo e funcional” (SILVA; SOBRAL, 2017,
p.9). Esta linguagem trouxe liberdade e flexibilidade e possibilitou a pessoas que não eram
programadores por formação, a utilização de seus recursos para desenvolvimento de
programas. Em tempo, a flexibilização da linguagem implica aos desenvolvedores uma certa
falta de referencial padrão de programação em JavaScript, ficando à mercê do conhecimento
do usuário, tornando a experiência do desenvolvedor um gargalo.
3.8 Realces
17
3.9 Furos de sondagem
18
4. ESTUDO DE CASO
19
Figura 8: Furos de sondagem considerados nos testes visto em perspectiva.
20
atributos também é conhecida popularmente como aplicação de carimbos ou como carimbar
um arquivo.
A fim de tornar o script ainda mais útil, os autores optaram por inserir a possibilidade
de o usuário optar por executar a cubagem dos realces carimbados. Esse acréscimo ao script
permite estudar a utilização dessa ferramenta para geração de relatórios padronizados. A
cubagem torna necessária a utilização de um modelo de blocos como arquivo de entrada para
o script.
21
5. METODOLOGIA
Foram utilizadas as linguagens HTML e JavaScript, sendo que a opção por JavaScript
se deu em decorrência de o processo de gravação automática de scripts do Studio RM entregar
seu produto final nessa linguagem. Para manipulação do código, utilizou-se o editor de textos
Sublime Text. Os arquivos de realces, furos de sondagem e modelo de blocos utilizados como
base para construção e teste do script são provenientes do tutorial da linha Studio da Datamine
e são instalados no computador automaticamente junto ao software Studio RM.
O primeiro passo para construção do código foi a gravação dos processos por meio da
ferramenta Record Script (Figura 10). Processos podem ser acessados digitando seus nomes na
Command Bar (Figura 11) do software e os nomes dos processos utilizados, assim como o
objetivo de empregá-los, são:
• SELWF para marcar quais furos estão no interior de realces.
• COUNT com o arquivo de saída do SELWF para gerar uma lista dos stopes que
possuem furos em seu interior.
• MGSORT no arquivo de saída do COUNT e no arquivo de triângulos dos realces para
que ambos estejam ordenados com base no atributo de discretização.
• RESTRI com os arquivos de saída do MGSORT para gerar um arquivo de triângulos
contendo apenas os realces que possuem furos em seu interior.
• APPEND com o produto do RESTRI e com o arquivo inicial de realces para gerar um
arquivo contendo todos os realces, mas no qual aqueles que possuem furos estão
duplicados.
• MGSORT e EXTRA aplicados ao resultado do APPEND para criar os atributos que
trazem a informação referente a quais realces contém sondagens, além de eliminar os
dados duplicados. Optou-se por criar dois atributos, denominados CONTEM_FURO e
CONTEM_FURO_NUM, sendo o primeiro alfanumérico e o segundo numérico, pois
alguns procedimentos exigem que se utilize um tipo específico de atributo, assim o
script gera um produto válido para qualquer processamento posterior.
Figura 10: Ícone de acesso à gravação de processos (Record Script) em destaque no menu Home do Studio RM.
22
Figura 11: Barra de Comandos (Command Bar).
2
https://www.base64-image.de/
23
Figura 12: Função AutoConnect().
A função RadioHabilita() (Figura 13) objetiva tornar mais intuitivo que a cubagem é
opcional, pois habilita o preenchimento das caixas de entrada para cubagem apenas quando se
decide por executá-la. A função Browser() (Figura 14) foi criada para que os botões localizados
ao lado das caixas de texto funcionem como browsers e também para popular a lista suspensa
com dados presentes no arquivo de wireframes inserido na caixa de texto “Relaces / Stopes
(tr)” do script.
24
Figura 14: Função Browser().
25
Figura 15: Função btnExecutar_onclick() - Avisos.
26
Figura 16: Função btnExecutar_onclick() - Criação de atributos.
27
Figura 17: Função btnExecutar_onclick() - Cubagem.
28
processamento do script terminou (Figura 20). Destaca-se que o texto da interface e dos avisos
foi escrito em língua portuguesa, enquanto o software não possui versão nesse idioma.
B C
Figura 19: Avisos inseridos no script para tornar sua utilização mais intuitiva. A) Informa da necessidade de
preenchimento de campos obrigatórios quando esses são deixados vazios. B) Demanda confirmação de
prosseguimento em uma etapa que opcionalmente poderia ser executada de outro modo. C) Orienta sobre o
correto preenchimento dos campos de entrada para obtenção do resultado esperado. D) Solicita a entrada de um
nome para o arquivo de saída quando esse não é informado.
Figura 20: Aviso inserido para garantir que o usuário saiba quando o processamento foi concluído.
29
6. RESULTADOS
A interface do script desenvolvido para o estudo de caso está apresentada na Figura 21.
A seção “Entrada” comporta os campos para inserção dos arquivos que serão processados,
enquanto a seção “Saída” abriga os campos para definição dos nomes dos produtos que serão
gerados pelo script. Após o preenchimento, deve-se pressionar o botão “Executar” para que o
processamento tenha início. Caso haja erros no preenchimento dos campos, os avisos descritos
anteriormente (Figura 19) serão exibidos.
Figura 21: Interface do script desenvolvido no estudo de caso com a nomenclatura dos tipos de elementos
existentes (botões, lista suspensa e caixas de texto).
As caixas de texto podem ser preenchidas digitando-se valores, mas é possível perceber
na Figura 21 que diversos campos do script possuem botões ao lado das caixas de texto. Esses
botões, cujo único texto são reticências, abrem uma janela browser quando são pressionados
(Figura 22). O objetivo é facilitar a entrada de dados, pois torna dispensável que o usuário se
atente para digitar corretamente o nome dos arquivos de entrada. Além disso, cada browser
está programado para mostrar apenas o tipo apropriado de arquivo (wireframes, modelos de
blocos ou arquivos de sondagem) quando aberto. Caso o usuário considere pertinente, ele pode
encontrar os demais arquivos utilizando a opção All tables, que está visível na parte superior
esquerda da Figura 22.
30
Figura 22: Janela browser aberta quando selecionado o botão do campo "Furos de sondagem".
31
Figura 23: Lista suspensa antes (esquerda) e depois (direita) da inserção de uma wireframe na caixa de entrada
para realces.
32
Figura 24: Interface do script quando se habilita a cubagem.
Os resultados gerados pelo script são uma cópia do arquivo de realces contendo
atributos que apontam quais realces contém ou não furos de sondagem e, opcionalmente, uma
tabela de cubagem. Os realces carimbados podem receber uma legenda para visualização
tridimensional e interativa dos resultados, como mostra a Figura 25, em que os realces que
contêm furos são exibidos na cor vermelha e os que não contêm são exibidos em verde. Para
validação visual mais detalhada é possível aplicar filtros para visualizar em tela apenas os
realces que contêm furos (Figura 26) ou somente aqueles que não contêm (Figura 27),
lembrando que a visualização tridimensional permite a rotação dos arquivos em tela ou a
aproximação para observação em detalhe. Uma terceira possibilidade de validação é através da
visualização em seções (Figura 28), mas nesse caso deve-se ter atenção ao fato de que um
realce pode não exibir um furo em seu interior em uma seção, mas ainda assim conter um furo
que somente seria visível em outra seção.
33
Figura 25: Realces gerados pelo script visualizados junto aos furos de sondagem. Para essa visualização foi
aplicada uma legenda baseada no atributo gerado pelo processamento do script para definir quais escavações
contêm sondagens em seu interior.
Figura 26: Visualização em tela apenas das escavações que contêm sondagem por meio da aplicação de filtro.
34
Figura 27: Visualização em tela apenas das escavações que não contêm sondagem por meio da aplicação de
filtro.
Figura 28: Validação visual dos resultados por meio de visualização em seção.
O último resultado gerado pelo script é a tabela de cubagem padronizada. Foi definido
que essa tabela deve ser gerada em formato Datamine (Figura 29) assim como em Excel (Figura
30) e deve processar apenas os campos de teor de ouro, cobre, cobalto e prata. Seu objetivo é
retornar a massa, volume, densidade e teores médios em cada um dos realces, além da
informação de quais deles possuem sondagens em seu interior. Essa mesma tabela também
deve informar massa e volume total do conjunto de realces e a densidade e teores médios do
material no interior deles.
35
Figura 29: Tabela de cubagem em formato Datamine. Perceba que a última linha traz um resultado totalizado
para o conjunto de realces.
36
Figura 30: Tabela de cubagem em formato Excel. Perceba que a última linha traz um resultado totalizado para o
conjunto de realces.
37
7. DISCUSSÃO DOS RESULTADOS
Primeiramente, ao observar a interface do script, nota-se o contraste de idiomas: o
Studio RM é um software fornecido tradicionalmente em inglês e atualmente não dispõe de
uma versão em português, mas o script está totalmente em língua portuguesa (Figura 31).
Ressalta-se também que, como mostrado na Figura 19 e na Figura 20, os avisos que o script
fornece também estão em português. Dessa forma, o script permite que um usuário com menor
qualificação em língua estrangeira entenda as demandas da interface do script com facilidade,
o que diminui a susceptibilidade ao erro humano de interpretação.
Figura 31: Tela inicial do Studio RM com script carregado na aba Customization.
Ao utilizar o script, uma pessoa precisará lidar apenas com sua interface e não precisa
entender quais comandos são utilizados para se atingir o objetivo final, nem conhecer como
seria o procedimento manual completo para atingir o mesmo fim. A interface do script foi
pensada para induzir o preenchimento correto dos campos e, além disso, ela está associada a
avisos que informam o usuário quando ele comete erros de preenchimento. Dessa forma, ela se
torna simples e intuitiva para usuários sem treinamento prévio do software, mas que conheçam
o objetivo do script, que saibam qual é o produto esperado.
Devido às características citadas, o uso de scripts minimiza o impacto da rotatividade
de profissionais para as empresas, pois torna as seleções de pessoal mais simples, dado que se
tornam secundários a competência em língua estrangeira e o conhecimento prévio em softwares
de mineração e diminui custos com treinamentos a cada nova admissão.
38
Outro ponto relevante para a utilização de scripts é o ganho de produtividade. No estudo
de caso, foi mensurada a necessidade de 30 segundos para execução da atividade completa
(aplicação de atributos e geração do relatório de cubagem) com base no script, enquanto a
geração dos mesmos resultados de forma manual demandou 07 minutos. Vale destacar que
ambos os casos foram medidos utilizando a mesma base de dados e o mesmo usuário, que já
possui treinamento e experiência com o software, o que minimiza o tempo e a possibilidade de
erro, que poderiam ser maiores com um usuário inexperiente. A diferença de 06 minutos e 30
segundos pode ser considerada como relativamente pequena, contudo, dado que scripts
usualmente são utilizados para automatizar processos realizados frequentemente, o tempo
poupado pode ser multiplicado pela frequência de execução do procedimento para análise mais
precisa do ganho de produtividade.
Com relação à tabela de cubagem, observa-se que, além da rapidez com que os
resultados são gerados, estes sempre são retornados dentro de um mesmo padrão. Com a
padronização há ganhos na gestão do conhecimento, uma vez que a rotina para criação dos
relatórios pode ser facilmente auditada e a confiança nos dados aumenta, pois a presença de
erros humanos é minimizada, já que é eliminada a chance da utilização incorreta de campos,
seja por meio da inserção de atributos equivocados ou pelo tratamento incorreto desses, que
pode ocorrer, por exemplo, quando um usuário define que um campo deve ser ponderado pelo
volume e não pela massa. A interpretação dos dados também se torna mais fácil, já que eles
serão sempre disponibilizados da mesma maneira.
39
8. CONCLUSÕES
Avaliando o histórico de scripts na mineração, percebe-se sua difusão nos anos 2000,
se adaptando tanto a grandes quanto a pequenos empreendimentos minerários. Nesse contexto,
cada software desenvolveu sua abordagem para a criação de scripts, adotando diferentes
linguagens de programação.
A metodologia utilizada no estudo de caso aponta que se requer que o usuário tenha
conhecimento prévio sobre programação e sobre o software utilizado para ser capaz de criar
um script, mas nenhum desses conhecimentos é necessário para as pessoas que irão utilizar o
script finalizado. Ressalta-se que as linguagens de script apresentam curva de aprendizado
curta por natureza, já que possuem sintaxe simplificada e trata-se de linguagens interpretadas,
ideais para programadores casuais.
40
9. SUGESTÕES PARA TRABALHOS FUTUROS
É válido entender melhor como as linguagens de script podem ser comparadas entre si,
procurando entender quais possuem ganhos em relação umas às outras. Além disso, é válido
comparar macros e scripts e apontar quando utilizar um método ou o outro.
Por fim, uma área relacionada a ser melhor explorada seria como a customização de
softwares pode ser incluída como objeto de estudo e por conseguinte de ensino nos cursos de
graduação, a fim de instigar e capacitar os alunos a desenvolverem suas próprias soluções.
41
10. REFERÊNCIAS BIBLIOGRÁFICAS
DATAMINE. Manual de Treinamento Básico Studio RM. Belo Horizonte, [2019]. 455 p.
DATAMINE. Studio RM: resource & reserve solution. 2021. Disponível em:
https://www.dataminesoftware.com/solutions/studio-rm-resource-modelling/. Acesso em: 19
fev. 2021.
GERMANI, Darcy José. A mineração no Brasil. 2. ed. Rio de Janeiro: Cgee, 2002. 60 p.
Disponível em: http://www.finep.gov.br/images/a-finep/fontes-de-orcamento/fundos-setoriais
/ct-mineral/a-mineracao-no-brasil.pdf. Acesso em: 05 maio 2021.
GRAY, David N. et al. Modern Languages and Microsoft's Component Object Model.
Communications of The Acm, [s. l], v. 41, n. 5, p. 55-65, maio 1998. Disponível em:
https://dl.acm.org/doi/10.1145/274946.274957. Acesso em: 18 fev. 2021.
42
Ciências da Computação, Centro de Ciências Exatas e Naturais, Universidade Regional de
Blumenau, Blumenau, 2002. Disponível em: http://www.inf.furb.br/departamento/arquivos/tcc
s/monografias/2002-2jeandersongripavf.pdf. Acesso em: 18 fev. 2021.
HACK, D.R.. Utilization of scripting languages for customization of mine planning packages
by specialized users. In: INTERNATIONAL SYMPOSIUM ON APPLICATION OF
COMPUTERS AND OPERATIONS RESEARCH IN THE MINERALS INDUSTRIES, 31.,
2003, Cape Town. Proceedings [...]. Cape Town: F. A. Camisani-Calzolari, 2003. p. 115-122.
Disponível em: http://www.saimm.co.za/Conferences/Apcom2003/115-Hack.pdf. Acesso em:
14 nov. 2020.
OUSTERHOUT, John K.. Scripting: higher level programming for the 21st century.
Computer, [s. l], v. 31, n. 3, p. 23-30, mar. 1998. Disponível em: https://ieeexplore-ieee-
org.ez27.periodicos.capes.gov.br/stamp/stamp.jsp?tp=&arnumber=660187. Acesso em: 17
fev. 2021.
PIES, Flavio Mac Knight; FIGUEIREDO, Guilherme Belotti Paes de. Análise de software e
algoritmos de planos de lavra. 2015. 63 f. TCC (Graduação) - Curso de Engenharia de
Produção, Escola Politécnica, Universidade Federal do Rio de Janeiro, Rio de Janeiro, 2015.
Disponível em: http://monografias.poli.ufrj.br/monografias/mono poli10013479.pdf. Acesso
em: 10 jan. 2021.
43
https://teses.usp.br/teses/disponiveis/3/3134/tde-11082010-154822/pt-br.php. Acesso em: 10
jan. 2021.
SILVA, Daniela Rocha; SOBRAL, Luis Felipe Bentin. Um Estudo em Larga Escala sobre a
Estrutura do Código-fonte de Pacotes JavaScript. 58 f. TCC (Graduação) - Curso de
Sistemas de Informação, Escola de Informática Aplicada, Universidade Federal do Estado do
Rio de Janeiro, Rio de Janeiro - RJ, 2017. Disponível em: https://bsi.uniriotec.br/wp-content/up
loads/sites/31/2020/05/201707DanielaRochaLuisSobral.pdf. Acesso em: 17 fev. 2021.
SILVA, Maurício Samy. HTML5: a linguagem de marcação que revolucionou a web. 2. ed.
São Paulo: Novatec Editora Ltda, 2019. 336 p.
44
11. ANEXOS
45
46
47
48
49
50
51
52
53
54
55
56
57