Desenvolvimento de um Sistema
Parametrizado de Projeto Assistido por
Computador
AGRADECIMENTOS
Ao Prof. Renato C. Mesquita, pela sua disposio, seu
incentivo, acompanhamento e amizade durante estes dois anos
e meio do Mestrado;
Aos Profs. Rodney R. Saldanha e Joo A. Vasconcelos,
por sua amizade e incentivo durante todo o curso de
Mestrado;
Aos demais professores e funcionrios do CPDEE, que
direta ou indiretamente me ajudaram a completar esta
misso.
iii
RESUMO
Neste trabalho apresentado um sistema parametrizado
para o projeto assistido por computador que compe, junto a
outros mdulos, o pr-processador de um sistema
computacional de clculo de campos eletromagnticos.
Este sistema possibilita maior facilidade e
automatizao no projeto de dispositivos eletromagnticos
porque parametriza pontos da geometria, criando expresses
matemticas para os mesmos. Alm disso, este sistema
proporciona ferramentas que podem ser utilizadas na
otimizao destes projetos.
O sistema parametrizado composto de trs
subsistemas: um avaliador de expresses, responsvel pelo
processamento e pelo armazenamento interno em tempo de
execuo das expresses e parmetros do sistema
parametrizado; o subsistema de interface, responsvel pela
interface com o usurio e o subsistema de armazenamento,
responsvel pelo armazenamento dos dados inseridos pelo
usurio.
O sistema parametrizado, em conjunto com os sistemas
de processamento, baseado no Mtodo de Elementos Finitos, e
otimizao constitui um sistema computacional completo para
o projeto de dispositivos eletromagnticos.
iv
ABSTRACT
This work presents a parametric system to be used in a
computer aided design process.
This system provides facilities to the design of
electromagnetic devices since points of geometry can be
parametrized with mathematic expressions. Moreover, it
provides tools that can be used to optimise the design.
The parametric system is composed of three subsystems.
The expression evaluator subsystem is responsible for the
evaluation and internal runtime storement of the system's
parameters. The interface subsystem makes a graphical
interface with the designer. Finally, the storement
subsystem records the data inserted by the designer.
The parametric system together with a processor system
based in the Finite Element Method and an optimisation
system constitute a complete computational system for the
design of electromagnetic devices.
v
SUMRIO
CAPTULO 1 - INTRODUO ............................. 1
CAPTULO 2 - O AUTOPAC .............................. 4
2.1 Especificao de Requisitos e Funcionalidade .. 4
2.1.1 Descrio Informal ........................ 4
2.2 Desenvolvimento da Anlise Orientada a Objetos 8
2.2.1 Identificao de Classes-&-Objetos ........ 8
2.2.2 Identificao de Estruturas ............... 9
2.2.3 Identificao de Assuntos ................ 10
2.2.4 Identificao de Atributos ............... 10
2.2.5 Identificao de Conexes de Ocorrncia .. 11
2.2.6 Identificao de Servios ................ 11
2.2.7 Identificao de Conexes de Mensagem .... 13
2.2.8 Viso Geral do Modelo Orientado a Objetos
Existente para o AutoPAC ............................ 14
2.3 Viso Geral do Sistema ....................... 14
CAPTULO 3 - O AVALIADOR DE EXPRESSES ............. 17
3.1 Descrio do problema ........................ 17
3.2 Dissecando uma Expresso ..................... 18
3.3 Especificaes de Projeto .................... 20
3.4 Projetando uma rvore de expresses .......... 20
3.5 Classes base ................................. 21
3.6 Operadores ................................... 23
3.7 Objetos finais ............................... 24
3.8 Unindo os ns da rvore de expresses ........ 26
3.9 Concluso .................................... 30
CAPTULO 4 - O SISTEMA PARAMETRIZADO ............... 32
4.1 Introduo ................................... 33
4.2 Caractersticas do Sistema Parametrizado ..... 34
4.3 Adaptando o avaliador de expresses .......... 35
4.4 O funcionamento interno do sistema parametrizado38
4.5 O subsistema de interface .................... 44
4.5.1 Criando parmetros ....................... 44
4.5.2 Criando parmetros relacionados a pontos da
geometria ........................................... 46
vi
CAPTULO 1 - INTRODUO
Mtodos de parametrizao surgiram em resposta
crescente demanda industrial por projeto e manufatura,
particularmente a necessidade de reduo do tempo de
desenvolvimento de produtos [Shah, 1995].
A introduo de ferramentas de controle computacional,
cerca de 40 anos atrs, criou a necessidade de uma
representao computacional das informaes de projeto e
manufatura empregados pelas indstrias. A introduo de
geraes posteriores de tecnologias de produo avanadas
como sistemas flexveis de manufatura, robs e plantas
automatizadas, aumentaram a necessidade por informaes
completas e precisas sobre os produtos [Shah, 1995].
Ao mesmo tempo, mudanas sociais e econmicas em
nossas sociedades e no comrcio internacional mudaram
significativamente o modo com que as tecnologias de
produo esto sendo usadas. Ao invs das at ento
dominantes fbricas organizadas funcionalmente, operando em
isolamento quase total em relao situao do mercado, os
sistemas de produo se tornaram mais orientados ao
produto, visando o decrscimo do tempo de resposta ao
mercado, a minimizao do trabalho em cada processo, fluxo
de material just-in-time, e alta eficincia e flexibilidade
na utilizao da capacidade de manufatura. O termo agile
manufacturing abrange todas estas caractersticas [Shah,
1995].
Para implementar a agile manufacturing, as funes de
projeto de produtos e engenharia de produo devem se
tornar o mais integradas possvel com a manufatura, e
todos os gargalos no fluxo de produto e engenharia de
informao dessas funes para a funo de manufatura devem
ser eliminados. A proximidade de integrao entre as
funes de projeto, planejamento e manufatura requer que
informaes suficientemente completas e precisas sobre
todos os aspectos dos produtos, processos de produo e
2
CAPTULO 2 - O AUTOPAC
Este captulo descreve o AutoPAC, modelador geomtrico
bidimensional para fins didticos e de pesquisa que est
sendo desenvolvido pelo GOPAC, Grupo de Otimizao e
Projeto Assistido por Computador, do Centro de Pesquisa em
Engenharia Eltrica da UFMG.
Esta parte do trabalho descreve como o modelador
bidimensional AutoPAC foi idealizado e est sendo
desenvolvido [Souza, 1997].
SUBSIST EMA DE
INT ERFACE COM USURIO
SUBSIST EMA
DE MODELAGEM
SUBSIST EMA
DE REPRE-
SENT AO
PROCESSOS
APLICAT IVOS
INT ERFACES
EXT ERNAS
MODELAGEM
I
N
T
E
R REPRESENTAO
F
A
C
E
VISUALIZAO
a=10-b
Fig. 3.1
Operador Prioridade
( ) 9
NOT 8
- (unrio) 7
* / 6
+ - 5
< <= > >= 4
= <> 3
AND 2
OR 1
Tabela 3.1
3.6 Operadores
class Symbol_Table
{
private:
struct entry { char name[25]; float value; entry *next; };
entry *head;
public:
Symbol_Table( void ) { head=NULL; };
~Symbol_Table( void )
{
entry *temp;
while (head!=NULL)
{
temp=head; head=head->next;
delete temp;
};
}
26
};
exp_str: x*(h+2.37)
Push_Tree(x) x
Get_Token(x , VARIABLE)
exp_str: *(h+2.37)
Push_Tree(* ) * x
Get_Token(* , MUL)
exp_str: (h+2.37)
Push_Tree(()
* x (
Get_Token((, OPEN_PAREN)
Push_Tree())
Get_Token(), CLOSE_PAREN) * x + h 2.37
exp_str:
28
Fig. 3.2
return tempData;
}
int Empty( void )
{
if (head==NULL)
return 1;
else
return 0;
}
};
3.9 Concluso
Fig. 4.1
33
4.1 Introduo
AND 2
OR 1
Tabela 4.1
}
}
Pascal_Like_Expression expr(buffer,FALSE);
SRGP_text(pos, out);
pos.x =(width+20);
40
pos.y-=70;
SRGP_text(pos, "Hit any key to continue");
delete out;
}
return 0;
}
canvasID dialogo;
inputDevice whois;
int width, height, descent;
char buffer[40]={""};
realPoint pt;
strcpy(buffer, var);
// Se a variavel j existe em Symbol_Table
if (sym.Is_In(buffer))
switch(sym.Get_Flag(buffer))
{
case VALUE: pt.x = sym.Get_Value(buffer);
ftoa(pt.x, coordx);
break;
case POINT: pt = sym.Get_Point(buffer);
ftoa(pt.x, coordx);
ftoa(pt.y, coordy);
break;
case POLAR: pt = sym.Get_Point(buffer);
pt = cartToPolar(pt);
ftoa(pt.x, coordx);
ftoa(pt.y, coordy);
break;
}
sym.Set(var, VALUE);
char cd[40]={""};
int position=0, type=START, error=VALID, error_flag=VALID;
int kk=0;
Pascal_Like_Expression expr(b, FALSE);
expr.GetToken(b, position, cd, type, error);
if (type==OPEN_COLCH) // variavel ponto
{
while (type!=CLOSE_COLCH && error_flag==VALID)
{
expr.GetToken(b, position, cd, type, error);
if (error!=VALID)
{
error_flag=error;
break;
}
if (type==LITERAL)
switch(kk)
42
{
case 0: strcpy(coordx, cd);
kk++;
break;
case 1: strcpy(coordy, cd);
kk++;
break;
default: break;
}
if (type==VARIABLE)
{
if(Get_Variable(cd))
switch(kk)
{
case 0: if (sym.Is_In(cd))
{
ftoa(sym.Get_Value(cd),coordx);
kk++;
}
break;
case 1: if (sym.Is_In(cd))
{
ftoa(sym.Get_Value(cd),coordy);
kk++;
}
break;
default: break;
}
}
if (type==SEPARATOR)
sym.Set(var, POINT);
if (type==ANG)
sym.Set(var, POLAR);
}
if ( sym.Get_Flag(var) == POINT )
{
pt.x = atof(coordx);
pt.y = atof(coordy);
sym.Set(var, pt);
}
if ( sym.Get_Flag(var) == POLAR )
{
pt.x = atof(coordx);
pt.y = atof(coordy);
pt = polarToCart(pt);
sym.Set(var, pt);
}
}
else // avaliar o valor da expressao e associar `a variavel
if (type == LITERAL)
{
sym.Set(var, VALUE);
sym.Set(var, (float)atof(cd));
}
}
delete coordx;
delete coordy;
return sym.Get_Flag(var);
}
{
public:
int tipo; // Tipo do dado (POINT ou VALUE)
realPoint pontoNo; // Coordenada no No (POINT) ou valor da
// expressao (VALUE)
char lside[20], // Lado esquerdo da equao
rside[40]; // Lado direito da equao
// Construtores
No_Node();
No_Node(realPoint pt);
// Destrutor
~No_Node();
// Atribui tipo
void atribui_tipo(int);
int retorna_tipo(void);
Fig. 4.2
Fig. 4.3
Fig. 4.4
Fig. 4.5
Fig. 4.6
Fig. 4.7
Fig. 4.8
4.7 Concluso
Exemplo 1
Fig. 5.4
d = Re - Rr [5.1]
Rr = Re - d [5.2]
180.0000000000 0.0000000000
1 1 0
none
(a) (b)
Fig. 5.5
Fig. 5.6
Exemplo 2
(a) (b)
(c) (d)
Fig. 5.7: As coordenadas dos centros dos crculos so parametrizadas
(a) (b)
CONCLUSO
O sistema parametrizado apresentado neste trabalho tem
por objetivo facilitar o projeto de dispositivos
eletromagnticos fornecendo ferramentas que podem elevar o
grau de automatizao deste processo.
Hoje o sistema paramtrico de parametrizao est
integrado a um pr-processador derivado de um modelador
geomtrico bidimensional. O objetivo final, no entanto,
adicionar outros blocos funcionais aos j existentes e
construir um sistema CAD parametrizado completo para ser
usado no projeto de dispositivos eletromagnticos. O
esquema mostrado na Fig. 4.1 descreve mais claramente esta
idia.
Para que este objetivo seja atingido, faltam ser
adicionados os mdulos processador e ps-processador. O
mdulo processador um algoritmo que implementa, por
exemplo, o Mtodo de Elementos Finitos para o clculo das
grandezas eletromagnticas de interesse. O outro mdulo a
ser adicionado, o ps-processador, deve apresentar
graficamente ao projetista os resultados fornecidos pelo
mdulo processador, possibilitando uma interveno deste na
geometria do problema em busca dos resultados desejados. A
incluso destes dois mdulos essencial para que o sistema
se torne completo.
importante ressaltar que um sistema CAD paramtrico
como este poderia ser aplicado ao projeto de dispositivos
diversos, no apenas a dispositivos eletromagnticos. Para
isso, o mtodo de clculo utilizado no mdulo processador
seria outro, assim como as grandezas de interesse
analisadas no mdulo ps-processador. Portanto, estes dois
ltimos mdulos so especficos, responsveis diretos pela
aplicao a que se destina o sistema. O sistema poderia ser
geral se fornecesse ao projetista a opo por diferentes
mdulos de processamento em tempo de execuo.
66
C [A.1]
Ndiv trunc
a b
2
2. /2 2 /3
Esta situao mostrada na Fig. A-12.
d S S3
1
6
2d S 2 S 2d S 3 S 4 d S 1 S 2 d S 4 S 5
3
[A.5]
REFERNCIAS BIBLIOGRFICAS