ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magicsld/EnregistrementProp.vb
Revision: 40
Committed: Mon Aug 20 21:30:28 2007 UTC (18 years ago) by bournival
File size: 16218 byte(s)
Log Message:
Projet de these de Sylvain Bournival. Attention projet VB.

File Contents

# Content
1 Imports SldWorks
2 Imports SWPublished
3 Imports SwConst
4
5 ' la classe des propriétés
6
7 Namespace Enregistrement
8 Public Class Enregistrement
9 Dim iSwApp As SldWorks.SldWorks
10 Dim userAddin As MAGIC.Magic
11 Dim handler As EnregistrementPageHandler
12 Dim ppage As PropertyManagerPage2
13
14 #Region "Déclaration des controles"
15 'Groupes
16
17 ' les groupes pour l'enregistrement sont ici. On fait (pour l'instant) 2 groupes, le premier demande si l'on veut
18 ' voir la fenêtre originale lors de la sauvegarde et/ou la fenêtre modifiée.
19 ' le deuxième groupe sert à la pré-optimisation de maillage
20
21
22 Private group1 As PropertyManagerPageGroup
23 Private group2 As PropertyManagerPageGroup
24 Private group3 As PropertyManagerPageGroup
25
26 ''Controles
27
28 Private check1 As PropertyManagerPageCheckbox
29 Private Label1 As PropertyManagerPageLabel
30 Private Label2 As PropertyManagerPageLabel
31 Private Numberbox1 As PropertyManagerPageNumberbox
32 Private Numberbox2 As PropertyManagerPageNumberbox
33
34
35 Private checkOriginal As PropertyManagerPageCheckbox
36 Private checkModifie As PropertyManagerPageCheckbox
37 Private checkMultimodele As PropertyManagerPageCheckbox
38
39 Private checkArrondi As PropertyManagerPageCheckbox
40 Private checkRentrant As PropertyManagerPageCheckbox
41 Private checkMatiere As PropertyManagerPageCheckbox
42
43 Private NumberArrondi As PropertyManagerPageNumberbox
44 Private NumberRentrant As PropertyManagerPageNumberbox
45 Private NumberMatiere As PropertyManagerPageNumberbox
46
47
48 ''Controles
49
50 Private label11 As PropertyManagerPageLabel
51 Private checkentite As PropertyManagerPageCheckbox
52 Private CheckEnt As PropertyManagerPageCheckbox
53
54 Private Gilles1 As PropertyManagerPageCheckbox
55 Private Gilles2 As PropertyManagerPageCheckbox
56
57 #End Region
58
59 Function Init(ByVal sw As SldWorks.SldWorks, ByVal addin As MAGIC.Magic) As Object
60 iSwApp = sw
61 userAddin = addin
62 CreatePage()
63 AddControls()
64 Return Nothing
65 End Function
66
67 Sub Show()
68 ppage.Show()
69 End Sub
70
71 Sub CreatePage()
72 handler = New EnregistrementPageHandler
73 handler.Init(iSwApp, userAddin)
74 Dim options As Integer
75 Dim errors As Integer
76 options = swPropertyManagerPageOptions_e.swPropertyManagerOptions_OkayButton + swPropertyManagerPageOptions_e.swPropertyManagerOptions_CancelButton
77 ppage = iSwApp.CreatePropertyManagerPage("Enregistrement", options, handler, errors)
78 End Sub
79
80 Sub AddControls()
81 Dim options As Integer
82 Dim leftAlign As Integer
83 Dim controlType As Integer
84
85
86 ' premier groupe
87 options = swAddGroupBoxOptions_e.swGroupBoxOptions_Visible + swAddGroupBoxOptions_e.swGroupBoxOptions_Expanded
88 group1 = ppage.AddGroupBox(0, "Exportation vers MAGiC", options)
89
90 ' checkOriginal
91 controlType = swPropertyManagerPageControlType_e.swControlType_Checkbox
92 leftAlign = swPropertyManagerPageControlLeftAlign_e.swControlAlign_LeftEdge
93 options = swAddControlOptions_e.swControlOptions_Enabled + swAddControlOptions_e.swControlOptions_Visible
94 checkOriginal = group1.AddControl(1, controlType, "Afficher le modèle original", leftAlign, options, "Conserve la fenêtre du modèle original (non modifié)")
95 checkOriginal.Checked = True
96 EnregistrementCode.checkboxOriginal = checkOriginal
97
98
99 ' checkmodifie
100 controlType = swPropertyManagerPageControlType_e.swControlType_Checkbox
101 leftAlign = swPropertyManagerPageControlLeftAlign_e.swControlAlign_LeftEdge
102 options = swAddControlOptions_e.swControlOptions_Enabled + swAddControlOptions_e.swControlOptions_Visible
103 checkModifie = group1.AddControl(2, controlType, "Afficher le modèle exporté", leftAlign, options, "Conserve la fenêtre du modèle ayant subit des modifications")
104 checkModifie.Checked = True
105 EnregistrementCode.checkboxModifie = checkModifie
106
107 '' premier check de Gilles
108 'controlType = swPropertyManagerPageControlType_e.swControlType_Checkbox
109 'leftAlign = swPropertyManagerPageControlLeftAlign_e.swControlAlign_LeftEdge
110 'options = swAddControlOptions_e.swControlOptions_Enabled + swAddControlOptions_e.swControlOptions_Visible
111 'Gilles1 = group1.AddControl(100, controlType, "CAD Feature Simplification", leftAlign, options, "Adds simplification features in the feature tree")
112 'Gilles1.Checked = False
113 'EnregistrementCode.Gilles1 = Gilles1
114
115 '' second check de Gilles
116 'controlType = swPropertyManagerPageControlType_e.swControlType_Checkbox
117 'leftAlign = swPropertyManagerPageControlLeftAlign_e.swControlAlign_LeftEdge
118 'options = swAddControlOptions_e.swControlOptions_Enabled + swAddControlOptions_e.swControlOptions_Visible
119 'Gilles2 = group1.AddControl(101, controlType, "MCT + Meshing", leftAlign, options, "MC Topology adaptation and meshing")
120 'Gilles2.Checked = False
121 'EnregistrementCode.Gilles2 = Gilles2
122
123
124
125 ' deuxième groupe, pré-optimisation. par défaut cliqué...
126 options = swAddGroupBoxOptions_e.swGroupBoxOptions_Visible + swAddGroupBoxOptions_e.swGroupBoxOptions_Checkbox ' + swAddGroupBoxOptions_e.swGroupBoxOptions_Checked
127 group2 = ppage.AddGroupBox(3, "Pre-optimisation en fonction des caractéristiques de forme", options)
128 EnregistrementCode.Groupe2 = group2
129
130 ' le label
131 Label2 = group2.AddControl(4, swPropertyManagerPageControlType_e.swControlType_Label, "Donnez l'Écart Nodal Global", swPropertyManagerPageControlLeftAlign_e.swControlAlign_LeftEdge, swAddControlOptions_e.swControlOptions_Visible + swAddControlOptions_e.swControlOptions_Enabled, "Il faut spécifier l'Écart Nodal Global à utiliser")
132
133 'Numberbox2
134 controlType = swPropertyManagerPageControlType_e.swControlType_Numberbox
135 leftAlign = swPropertyManagerPageControlLeftAlign_e.swControlAlign_LeftEdge
136 options = swAddControlOptions_e.swControlOptions_Enabled + swAddControlOptions_e.swControlOptions_Visible + swAddControlOptions_e.swControlOptions_SmallGapAbove
137 Numberbox2 = group2.AddControl(5, controlType, "Écart Nodal Global", leftAlign, options, "Entrez la valeur de l'Écart Nodal Global")
138 Numberbox2.Value = 0.015
139 Numberbox2.SetRange(SwConst.swNumberboxUnitType_e.swNumberBox_Length, 0.000000001, 100000000, 0.001, True)
140 EnregistrementCode.NumberENG = Numberbox2
141
142 ' le label
143 Label1 = group2.AddControl(6, swPropertyManagerPageControlType_e.swControlType_Label, "Creer des points dans le volume : Donnez la valeur de la zone de transition", swPropertyManagerPageControlLeftAlign_e.swControlAlign_LeftEdge, swAddControlOptions_e.swControlOptions_Visible + swAddControlOptions_e.swControlOptions_Enabled, "Cette option permet de faire varier le coefficient de raffinement de maillage dans le volume")
144
145 'Numberbox1
146 controlType = swPropertyManagerPageControlType_e.swControlType_Numberbox
147 leftAlign = swPropertyManagerPageControlLeftAlign_e.swControlAlign_LeftEdge
148 options = swAddControlOptions_e.swControlOptions_Enabled + swAddControlOptions_e.swControlOptions_Visible + swAddControlOptions_e.swControlOptions_SmallGapAbove
149 Numberbox1 = group2.AddControl(7, controlType, "zone de transition", leftAlign, options, "Entrez la valeur de la zone de transition")
150 Numberbox1.Value = 0
151 Numberbox1.SetRange(2, 0, 10, 1, True)
152 EnregistrementCode.numberbox1 = Numberbox1
153
154 ' le premier checkbox, valeurs au points pour arrondis
155 controlType = swPropertyManagerPageControlType_e.swControlType_Checkbox
156 leftAlign = swPropertyManagerPageControlLeftAlign_e.swControlAlign_LeftEdge
157 options = swAddControlOptions_e.swControlOptions_Enabled + swAddControlOptions_e.swControlOptions_Visible
158 checkArrondi = group2.AddControl(8, controlType, "Coefficient de raffinement pour les arrondis", leftAlign, options, "Trouver les congés du modèle")
159 EnregistrementCode.checkArrondi = checkArrondi
160
161 ' le numberbox pour les arrondis
162 controlType = swPropertyManagerPageControlType_e.swControlType_Numberbox
163 leftAlign = swPropertyManagerPageControlLeftAlign_e.swControlAlign_LeftEdge
164 options = swAddControlOptions_e.swControlOptions_Enabled + swAddControlOptions_e.swControlOptions_Visible + swAddControlOptions_e.swControlOptions_SmallGapAbove
165 NumberArrondi = group2.AddControl(9, controlType, "Coefficient de raffinement sur les arrondis", leftAlign, options, "Entrez la valeur du coefficient de raffinement de maillage aux points d'échantillonnage pour les arrondis")
166 NumberArrondi.Value = 0.2
167 NumberArrondi.SetRange(2, 0.000000000001, 0.999999999999, 0.1, True)
168 EnregistrementCode.NumberArrondi = NumberArrondi
169
170
171 ' le second checkbox, valeurs pour les arêtes rentrantes
172 controlType = swPropertyManagerPageControlType_e.swControlType_Checkbox
173 leftAlign = swPropertyManagerPageControlLeftAlign_e.swControlAlign_LeftEdge
174 options = swAddControlOptions_e.swControlOptions_Enabled + swAddControlOptions_e.swControlOptions_Visible
175 checkRentrant = group2.AddControl(10, controlType, "Coefficient de raffinement pour les arêtes rentrantes", leftAlign, options, "trouver les arêtes rentrantes")
176 EnregistrementCode.checkRentrant = checkRentrant
177
178 ' le numberbox
179 controlType = swPropertyManagerPageControlType_e.swControlType_Numberbox
180 leftAlign = swPropertyManagerPageControlLeftAlign_e.swControlAlign_LeftEdge
181 options = swAddControlOptions_e.swControlOptions_Enabled + swAddControlOptions_e.swControlOptions_Visible + swAddControlOptions_e.swControlOptions_SmallGapAbove
182 NumberRentrant = group2.AddControl(11, controlType, "Coefficient de raffinement sur les arêtes rentrantes", leftAlign, options, "Entrez la valeur du coefficient de raffinement de maillage aux points d'échantillonnage pour les arêtes rentrantes")
183 NumberRentrant.Value = 0.1
184 NumberRentrant.SetRange(2, 0.000000000001, 0.9999999999999, 0.1, True)
185 EnregistrementCode.NumberRentrant = NumberRentrant
186
187 ' le troisième checkbox, valeurs pour les retrait matière
188 controlType = swPropertyManagerPageControlType_e.swControlType_Checkbox
189 leftAlign = swPropertyManagerPageControlLeftAlign_e.swControlAlign_LeftEdge
190 options = swAddControlOptions_e.swControlOptions_Enabled + swAddControlOptions_e.swControlOptions_Visible
191 checkMatiere = group2.AddControl(12, controlType, "Coefficient de raffinement pour les retraits matières", leftAlign, options, "Trouver les retraits matière")
192 EnregistrementCode.checkMatiere = checkMatiere
193
194 ' le numberbox pour les retrait matière
195 controlType = swPropertyManagerPageControlType_e.swControlType_Numberbox
196 leftAlign = swPropertyManagerPageControlLeftAlign_e.swControlAlign_LeftEdge
197 options = swAddControlOptions_e.swControlOptions_Enabled + swAddControlOptions_e.swControlOptions_Visible + swAddControlOptions_e.swControlOptions_SmallGapAbove
198 NumberMatiere = group2.AddControl(13, controlType, "Coefficient de raffinement pour les retraits matières", leftAlign, options, "Entrez la valeur du coefficient de raffinement de maillage aux points d'échantillonnage pour les retraits matière")
199 NumberMatiere.Value = 0.25
200 NumberMatiere.SetRange(2, 0.000000000001, 0.9999999999999, 0.1, True)
201 EnregistrementCode.NumberMatiere = NumberMatiere
202
203 'checkbox selectionner des entité a raffiner
204 controlType = swPropertyManagerPageControlType_e.swControlType_Checkbox
205 leftAlign = swPropertyManagerPageControlLeftAlign_e.swControlAlign_LeftEdge
206 options = swAddControlOptions_e.swControlOptions_Enabled + swAddControlOptions_e.swControlOptions_Visible
207 checkentite = group2.AddControl(14, controlType, "selectionner des entités à raffiner : ", leftAlign, options, "selectionner des entités")
208 EnregistrementCode.checkEntites = checkentite
209
210 'Selectionpog, qui contiendra les entités sélectionnées
211 controlType = swPropertyManagerPageControlType_e.swControlType_Selectionbox
212 leftAlign = swPropertyManagerPageControlLeftAlign_e.swControlAlign_LeftEdge
213 options = swAddControlOptions_e.swControlOptions_Enabled + swAddControlOptions_e.swControlOptions_Visible
214 selectionpog = group2.AddControl(15, controlType, "sélectionnées des entités", leftAlign, options, "Montre les entités qui ont été sélectionnées")
215 If Not selectionpog Is Nothing Then
216 Dim filter() As Integer = New Integer() {swSelectType_e.swSelVERTICES, swSelectType_e.swSelEDGES, swSelectType_e.swSelFACES} ' pour sélectionner juste les faces, aretes et sommets
217 selectionpog.Height = 50
218 selectionpog.SetSelectionFilters(filter)
219 End If
220 EnregistrementCode.selectionpog = selectionpog
221
222 'numberbox pour les entités
223 label11 = group2.AddControl(16, swPropertyManagerPageControlType_e.swControlType_Label, "Coefficient de raffinement des entités selectionnées", swPropertyManagerPageControlLeftAlign_e.swControlAlign_LeftEdge, swAddControlOptions_e.swControlOptions_Visible + swAddControlOptions_e.swControlOptions_Enabled, "Entrer la valeur aux points des entités selectionnées")
224 controlType = swPropertyManagerPageControlType_e.swControlType_Numberbox
225 leftAlign = swPropertyManagerPageControlLeftAlign_e.swControlAlign_LeftEdge
226 options = swAddControlOptions_e.swControlOptions_Enabled + swAddControlOptions_e.swControlOptions_Visible + swAddControlOptions_e.swControlOptions_SmallGapAbove
227 Numberentités = group2.AddControl(17, controlType, "Coefficient de raffinement global pour les entités selectionnées", leftAlign, options, "Entrer la valeur du coefficient de raffinement aux points d'échantillonnage pour les entités selectionnées")
228 Numberentités.Value = 0.25
229 Numberentités.SetRange(2, 0.000000000001, 0.9999999999999, 0.1, True)
230 EnregistrementCode.Numberentités = Numberentités
231
232 'raffinner individuellement les entité selectionnées
233 controlType = swPropertyManagerPageControlType_e.swControlType_Checkbox
234 leftAlign = swPropertyManagerPageControlLeftAlign_e.swControlAlign_LeftEdge
235 options = swAddControlOptions_e.swControlOptions_Enabled + swAddControlOptions_e.swControlOptions_Visible
236 CheckEnt = group2.AddControl(18, controlType, "raffiner les entités selectionnées individuellement", leftAlign, options, "selectionner des entités")
237 EnregistrementCode.CheckEnt = CheckEnt
238
239 ' le troisième groupe pour les études multi-dimensionnelles
240 options = swAddGroupBoxOptions_e.swGroupBoxOptions_Visible + swAddGroupBoxOptions_e.swGroupBoxOptions_Checkbox ' + swAddGroupBoxOptions_e.swGroupBoxOptions_Checked
241 group3 = ppage.AddGroupBox(19, "Étude multi-dimensionnelle", options)
242 EnregistrementCode.Groupe3 = group3
243
244
245 End Sub
246
247 End Class
248
249 End Namespace