ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/app/VMM/win32/transform.cpp
Revision: 5
Committed: Tue Jun 12 20:26:34 2007 UTC (18 years, 2 months ago)
Original Path: magic/app/VMM/VMM/win32/transform.cpp
File size: 6502 byte(s)
Log Message:

File Contents

# User Rev Content
1 5 //------------------------------------------------------------
2     //------------------------------------------------------------
3     // MAGiC
4     // Jean Christophe Cuillière et Vincent FRANCOIS
5     // Département de Génie Mécanique - UQTR
6     //------------------------------------------------------------
7     // Le projet MAGIC est un projet de recherche du département
8     // de génie mécanique de l'Université du Québec à
9     // Trois Rivières
10     // Les librairies ne peuvent être utilisées sans l'accord
11     // des auteurs (contact : francois@uqtr.ca)
12     //------------------------------------------------------------
13     //------------------------------------------------------------
14     //
15     // transform.cpp
16     //
17     //------------------------------------------------------------
18     //------------------------------------------------------------
19     // COPYRIGHT 2000
20     // Version du 02/03/2006 à 11H26
21     //------------------------------------------------------------
22     //------------------------------------------------------------
23    
24    
25     #include "gestionversion.h"
26    
27     #include <vcl.h>
28     #pragma hdrstop
29    
30    
31     #include "mg_gestionnaire.h"
32     #include "step_import.h"
33     #include "acis_import.h"
34     #include "sld_import.h"
35     #include "stl_import.h"
36     #include "main.h"
37     #include "transform.h"
38     //---------------------------------------------------------------------------
39     #pragma package(smart_init)
40     #pragma resource "*.dfm"
41     Twintransform *wintransform;
42     //---------------------------------------------------------------------------
43     __fastcall Twintransform::Twintransform(TComponent* Owner)
44     : TForm(Owner)
45     {
46     }
47     //---------------------------------------------------------------------------
48     void __fastcall Twintransform::FormClose(TObject *Sender,
49     TCloseAction &Action)
50     {
51     Action = caFree;
52     }
53     //---------------------------------------------------------------------------
54     void __fastcall Twintransform::Button1Click(TObject *Sender)
55     {
56     if (OpenDialog1->Execute())
57     {
58     Edit1->Text=OpenDialog1->FileName;
59     AnsiString temp=Edit1->Text;
60     int nb=temp.Length();
61     int i=nb;
62     int ok=0;
63     while (ok==0)
64     {
65     if (temp[i]=='.') ok=1;
66     if (i==0) ok=2;
67     i--;
68     }
69     if (ok==1) temp.Delete(i+1,nb);
70     Edit2->Text=temp+".magic";
71     }
72     }
73     //---------------------------------------------------------------------------
74     void __fastcall Twintransform::Button3Click(TObject *Sender)
75     {
76     CheckBox1->Checked=false;
77     CheckBox2->Checked=false;
78     ProgressBar1->Position=0;
79     MG_GESTIONNAIRE gest;
80     ProgressBar1->Position=2;
81     if (GroupBox1->Caption=="Fichier STEP")
82     {
83     STEP_IMPORT stepmagic;
84     ProgressBar1->Position=5;
85     stepmagic.importer(gest,Edit1->Text.c_str());
86     stat();
87     ListBox1->Items->Add("");
88     ListBox1->Items->Add("");
89     ListBox1->Items->Add("Entités non utilisées par l'importation");
90     ListBox1->Items->Add("-----------------------------------------------------------------");
91     int num=gest.get_gest_step().lst_entity.get_nb();
92     for (int i=0;i<num;i++)
93     {
94     ST_IDENTIFICATEUR* st=gest.get_gest_step().lst_entity.get(i);
95     if (st->get_util()==false)
96     {
97     char mess[255];
98     sprintf(mess," Entité step numero %lu",st->get_id());
99     ListBox1->Items->Add(mess);
100     }
101     }
102     }
103     if (GroupBox1->Caption=="Fichier SAT")
104     {
105     ACIS_IMPORT satmagic;
106     ProgressBar1->Position=5;
107     satmagic.importer(gest,Edit1->Text.c_str());
108     }
109     if (GroupBox1->Caption=="Fichier STL")
110     {
111     STL_IMPORT stlmagic;
112     ProgressBar1->Position=5;
113     stlmagic.importer(gest,Edit1->Text.c_str());
114     }
115     if (GroupBox1->Caption=="Fichier SolidWorks")
116     {
117     #ifdef BREP_SLD
118     SLD_IMPORT sldmagic;
119     ProgressBar1->Position=5;
120     sldmagic.importer(gest,Edit1->Text.c_str());
121     #endif
122     }
123     int nbgeo=gest.get_nb_mg_geometrie();
124     for (int i=0;i<nbgeo;i++)
125     {
126     MG_GEOMETRIE* geo=gest.get_mg_geometrie(i);
127     double coef;
128     if (RadioButton1->Checked) coef=1e-3;
129     if (RadioButton2->Checked) coef=1;
130     if (RadioButton3->Checked) coef=25.4e-3;
131     if (RadioButton4->Checked) coef=304.8e-3;
132     if (RadioButton5->Checked) coef=1e-2;
133     geo->change_valeur_unite(coef);
134     }
135     ProgressBar1->Position=47;
136     CheckBox1->Checked=true;
137     ProgressBar1->Position=57;
138     gest.enregistrer(Edit2->Text.c_str());
139     ProgressBar1->Position=95;
140     CheckBox2->Checked=true;
141     ProgressBar1->Position=100;
142    
143     }
144     //---------------------------------------------------------------------------
145     void __fastcall Twintransform::Button2Click(TObject *Sender)
146     {
147     Close();
148     }
149     //---------------------------------------------------------------------------
150    
151     void __fastcall Twintransform::Button4Click(TObject *Sender)
152     {
153     stat();
154     }
155     //---------------------------------------------------------------------------
156     void __fastcall Twintransform::stat(void)
157     {
158     if (GroupBox1->Caption=="Fichier STEP")
159     {
160    
161     GroupBox4->Caption="Verification du fichier step";
162     GroupBox4->Visible=true;
163     ST_GESTIONNAIRE fich(Edit1->Text.c_str());
164     fich.lire();
165     ListBox1->Clear();
166     ListBox1->Items->Add("Entités lues");
167     ListBox1->Items->Add("-----------------------------------------------------------------");
168     for (int i=0;i<25;i++)
169     {
170     char mess[255];
171     sprintf(mess,"%s %d",fich.entitenom[i].c_str(),fich.tabentite[i]);
172     if (fich.tabentite[i]>0) ListBox1->Items->Add(mess);
173     }
174     ListBox1->Items->Add("");
175     ListBox1->Items->Add("");
176     ListBox1->Items->Add("Entités non lues");
177     ListBox1->Items->Add("-----------------------------------------------------------------");
178     int num=fich.entitenontraite.size();
179     for (int i=0;i<num;i++)
180     ListBox1->Items->Add(fich.entitenontraite[i].c_str());
181    
182     }
183     }
184     //---------------------------------------------------------------------------
185    
186     void __fastcall Twintransform::ListBox1Click(TObject *Sender)
187     {
188     ListBox1->Hint=ListBox1->Items->Strings[ListBox1->ItemIndex];
189     }
190     //---------------------------------------------------------------------------
191    
192     void __fastcall Twintransform::Button5Click(TObject *Sender)
193     {
194     MainForm->CreateMDIChildVisu(Sender,Edit2->Text);
195     Close();
196     }
197     //---------------------------------------------------------------------------
198