1 |
Imports SolidWorks.Interop
|
2 |
Imports SolidWorks.Interop.swconst
|
3 |
Imports SolidWorks.Interop.swpublished
|
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 sldworks.PropertyManagerPage2
|
13 |
|
14 |
'Groupes
|
15 |
|
16 |
' les groupes pour l'enregistrement sont ici. On fait (pour l'instant) 2 groupes, le premier demande si l'on veut
|
17 |
' voir la fenêtre originale lors de la sauvegarde et/ou la fenêtre modifiée.
|
18 |
' le deuxième groupe sert à la pré-optimisation de maillage
|
19 |
|
20 |
|
21 |
Private group1 As sldworks.PropertyManagerPageGroup
|
22 |
Private group2 As sldworks.PropertyManagerPageGroup ' préoptimisation manuelle
|
23 |
Private group3 As sldworks.PropertyManagerPageGroup
|
24 |
Private group4 As sldworks.PropertyManagerPageGroup ' pre-optimisation automatique
|
25 |
|
26 |
''Controles
|
27 |
|
28 |
Private check1 As sldworks.PropertyManagerPageCheckbox
|
29 |
Private Label1 As sldworks.PropertyManagerPageLabel
|
30 |
Private Label2 As sldworks.PropertyManagerPageLabel
|
31 |
Private Numberbox1 As sldworks.PropertyManagerPageNumberbox
|
32 |
Private Numberbox2 As sldworks.PropertyManagerPageNumberbox
|
33 |
Private labelRemi1 As sldworks.PropertyManagerPageLabel
|
34 |
Private labelRemi2 As sldworks.PropertyManagerPageLabel
|
35 |
|
36 |
|
37 |
Private checkOriginal As sldworks.PropertyManagerPageCheckbox
|
38 |
Private checkModifie As sldworks.PropertyManagerPageCheckbox
|
39 |
Private checkMultimodele As sldworks.PropertyManagerPageCheckbox
|
40 |
|
41 |
Private checkArrondi As sldworks.PropertyManagerPageCheckbox
|
42 |
Private checkRentrant As sldworks.PropertyManagerPageCheckbox
|
43 |
Private checkMatiere As sldworks.PropertyManagerPageCheckbox
|
44 |
|
45 |
Private NumberArrondi As sldworks.PropertyManagerPageNumberbox
|
46 |
Private NumberRentrant As sldworks.PropertyManagerPageNumberbox
|
47 |
Private NumberMatiere As sldworks.PropertyManagerPageNumberbox
|
48 |
|
49 |
Private curseur As sldworks.PropertyManagerPageSlider
|
50 |
Private limiteur As sldworks.PropertyManagerPageNumberbox
|
51 |
|
52 |
Public checkMiniSurCoques As sldworks.PropertyManagerPageCheckbox
|
53 |
Public checkMultiDecoupage As sldworks.PropertyManagerPageCheckbox
|
54 |
Public checkSectionSimpleSurPoutre As sldworks.PropertyManagerPageCheckbox
|
55 |
Private LabelMiniSurCoques As sldworks.PropertyManagerPageLabel
|
56 |
|
57 |
|
58 |
''Controles
|
59 |
|
60 |
Private label11 As sldworks.PropertyManagerPageLabel
|
61 |
Private checkentite As sldworks.PropertyManagerPageCheckbox
|
62 |
Private CheckEnt As sldworks.PropertyManagerPageCheckbox
|
63 |
|
64 |
Private Gilles1 As sldworks.PropertyManagerPageCheckbox
|
65 |
Private Gilles2 As sldworks.PropertyManagerPageCheckbox
|
66 |
|
67 |
|
68 |
Function Init(ByVal sw As sldworks.SldWorks, ByVal addin As MAGIC.Magic) As Object
|
69 |
iSwApp = sw
|
70 |
userAddin = addin
|
71 |
CreatePage()
|
72 |
AddControls()
|
73 |
Return Nothing
|
74 |
End Function
|
75 |
|
76 |
Sub Show()
|
77 |
ppage.Show()
|
78 |
Me.EngDefaut()
|
79 |
End Sub
|
80 |
|
81 |
Sub CreatePage()
|
82 |
handler = New EnregistrementPageHandler
|
83 |
handler.Init(iSwApp, userAddin)
|
84 |
Dim options As Integer
|
85 |
Dim errors As Integer
|
86 |
options = swPropertyManagerPageOptions_e.swPropertyManagerOptions_OkayButton + swPropertyManagerPageOptions_e.swPropertyManagerOptions_CancelButton
|
87 |
ppage = iSwApp.CreatePropertyManagerPage("Enregistrement", options, handler, errors)
|
88 |
End Sub
|
89 |
|
90 |
Sub AddControls()
|
91 |
Dim options As Integer
|
92 |
Dim leftAlign As Integer
|
93 |
Dim controlType As Integer
|
94 |
|
95 |
|
96 |
|
97 |
' premier groupe
|
98 |
options = swAddGroupBoxOptions_e.swGroupBoxOptions_Visible + swAddGroupBoxOptions_e.swGroupBoxOptions_Expanded
|
99 |
group1 = ppage.AddGroupBox(0, "Exportation vers MAGiC", options)
|
100 |
|
101 |
|
102 |
' le label
|
103 |
Label2 = group1.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")
|
104 |
|
105 |
'Numberbox2
|
106 |
controlType = swPropertyManagerPageControlType_e.swControlType_Numberbox
|
107 |
leftAlign = swPropertyManagerPageControlLeftAlign_e.swControlAlign_LeftEdge
|
108 |
options = swAddControlOptions_e.swControlOptions_Enabled + swAddControlOptions_e.swControlOptions_Visible + swAddControlOptions_e.swControlOptions_SmallGapAbove
|
109 |
Numberbox2 = group1.AddControl(5, controlType, "Écart Nodal Global", leftAlign, options, "Entrez la valeur de l'Écart Nodal Global")
|
110 |
Numberbox2.Value = 0.015
|
111 |
Numberbox2.SetRange(swconst.swNumberboxUnitType_e.swNumberBox_Length, 0.000000001, 100000000, 0.001, True)
|
112 |
EnregistrementCode.NumberENG = Numberbox2
|
113 |
|
114 |
' checkOriginal
|
115 |
controlType = swPropertyManagerPageControlType_e.swControlType_Checkbox
|
116 |
leftAlign = swPropertyManagerPageControlLeftAlign_e.swControlAlign_LeftEdge
|
117 |
options = swAddControlOptions_e.swControlOptions_Enabled + swAddControlOptions_e.swControlOptions_Visible
|
118 |
checkOriginal = group1.AddControl(1, controlType, "Afficher le modèle original", leftAlign, options, "Conserve la fenêtre du modèle original (non modifié)")
|
119 |
checkOriginal.Checked = True
|
120 |
EnregistrementCode.checkboxOriginal = checkOriginal
|
121 |
|
122 |
|
123 |
' checkmodifie
|
124 |
controlType = swPropertyManagerPageControlType_e.swControlType_Checkbox
|
125 |
leftAlign = swPropertyManagerPageControlLeftAlign_e.swControlAlign_LeftEdge
|
126 |
options = swAddControlOptions_e.swControlOptions_Enabled + swAddControlOptions_e.swControlOptions_Visible
|
127 |
checkModifie = group1.AddControl(2, controlType, "Afficher le modèle exporté", leftAlign, options, "Conserve la fenêtre du modèle ayant subit des modifications")
|
128 |
checkModifie.Checked = True
|
129 |
EnregistrementCode.checkboxModifie = checkModifie
|
130 |
|
131 |
|
132 |
|
133 |
|
134 |
|
135 |
' deuxième groupe, pré-optimisation.
|
136 |
options = swAddGroupBoxOptions_e.swGroupBoxOptions_Visible + swAddGroupBoxOptions_e.swGroupBoxOptions_Checkbox ' + swAddGroupBoxOptions_e.swGroupBoxOptions_Checked
|
137 |
group2 = ppage.AddGroupBox(3, "Pre-optimisation Manuelle", options)
|
138 |
EnregistrementCode.Groupe2 = group2
|
139 |
|
140 |
|
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 |
|
240 |
|
241 |
options = swAddGroupBoxOptions_e.swGroupBoxOptions_Visible + swAddGroupBoxOptions_e.swGroupBoxOptions_Checkbox
|
242 |
group4 = ppage.AddGroupBox(40, "Pré-Optimisation Automatique", options)
|
243 |
EnregistrementCode.Groupe4 = group4
|
244 |
Dim labelCommentaire As sldworks.PropertyManagerPageLabel = group4.AddControl(47, swPropertyManagerPageControlType_e.swControlType_Label, "Valable uniquement pour les retraits de matière pour l'instant", swPropertyManagerPageControlLeftAlign_e.swControlAlign_LeftEdge, swAddControlOptions_e.swControlOptions_Enabled + swAddControlOptions_e.swControlOptions_Visible, "")
|
245 |
|
246 |
' le label
|
247 |
labelRemi1 = group4.AddControl(45, swPropertyManagerPageControlType_e.swControlType_Label, "Précision d'analyse", swPropertyManagerPageControlLeftAlign_e.swControlAlign_LeftEdge, swAddControlOptions_e.swControlOptions_Visible + swAddControlOptions_e.swControlOptions_Enabled, "Précision d'analyse souhaitée")
|
248 |
EnregistrementCode.labelRemi1 = labelRemi1
|
249 |
|
250 |
curseur = group4.AddControl(41, swPropertyManagerPageControlType_e.swControlType_Slider, "Précision d'analyse", swPropertyManagerPageControlLeftAlign_e.swControlAlign_LeftEdge, swAddControlOptions_e.swControlOptions_Enabled + swAddControlOptions_e.swControlOptions_Visible + swAddControlOptions_e.swControlOptions_SmallGapAbove, "Mettre du texte ici")
|
251 |
curseur.SetRange(1, 99)
|
252 |
curseur.Position = 95
|
253 |
curseur.Style = swPropMgrPageSliderStyle_e.swPropMgrPageSliderStyle_NotifyWhileTracking + swPropMgrPageSliderStyle_e.swPropMgrPageSliderStyle_AutoTicks
|
254 |
curseur.TickFrequency = 5
|
255 |
curseur.LineSize = 3
|
256 |
EnregistrementCode.curseur = curseur
|
257 |
|
258 |
' le label
|
259 |
labelRemi2 = group4.AddControl(46, swPropertyManagerPageControlType_e.swControlType_Label, "Limiteur de pente d'écart nodal", swPropertyManagerPageControlLeftAlign_e.swControlAlign_LeftEdge, swAddControlOptions_e.swControlOptions_Visible + swAddControlOptions_e.swControlOptions_Enabled, "Limiteur de pente d'évolution d'écart nodal")
|
260 |
|
261 |
|
262 |
limiteur = group4.AddControl(42, swPropertyManagerPageControlType_e.swControlType_Numberbox, "Limiteur de pente d'écart nodal", swPropertyManagerPageControlLeftAlign_e.swControlAlign_LeftEdge, swAddControlOptions_e.swControlOptions_Enabled + swAddControlOptions_e.swControlOptions_Visible + swAddControlOptions_e.swControlOptions_SmallGapAbove, "Encore du texte")
|
263 |
limiteur.Value = 0.25
|
264 |
limiteur.SetRange(swconst.swNumberboxUnitType_e.swNumberBox_UnitlessDouble, 0.01, 1, 0.05, True)
|
265 |
EnregistrementCode.limiteur = limiteur
|
266 |
|
267 |
' le troisième groupe pour les études multi-dimensionnelles
|
268 |
options = swAddGroupBoxOptions_e.swGroupBoxOptions_Visible + swAddGroupBoxOptions_e.swGroupBoxOptions_Checkbox ' + swAddGroupBoxOptions_e.swGroupBoxOptions_Checked
|
269 |
group3 = ppage.AddGroupBox(19, "Étude multi-dimensionnelle", options)
|
270 |
EnregistrementCode.Groupe3 = group3
|
271 |
|
272 |
LabelMiniSurCoques = group3.AddControl(31, swPropertyManagerPageControlType_e.swControlType_Label, "Mettre des mini-poutres dans les cas des intersections coque-coque", swPropertyManagerPageControlLeftAlign_e.swControlAlign_LeftEdge, swAddControlOptions_e.swControlOptions_Visible + swAddControlOptions_e.swControlOptions_Enabled, "Les mini-poutres sont facultatives dans le cas d'intersections coque-coque. Les utiliser est facultatif")
|
273 |
controlType = swPropertyManagerPageControlType_e.swControlType_Checkbox
|
274 |
leftAlign = swPropertyManagerPageControlLeftAlign_e.swControlAlign_LeftEdge
|
275 |
options = swAddControlOptions_e.swControlOptions_Enabled + swAddControlOptions_e.swControlOptions_Visible
|
276 |
checkMiniSurCoques = group3.AddControl(32, controlType, "Mettre des mini-poutres dans les cas des intersections coque-coque", leftAlign, options, "")
|
277 |
EnregistrementCode.checkboxMiniSurCoque = checkMiniSurCoques
|
278 |
|
279 |
|
280 |
|
281 |
controlType = swPropertyManagerPageControlType_e.swControlType_Checkbox
|
282 |
leftAlign = swPropertyManagerPageControlLeftAlign_e.swControlAlign_LeftEdge
|
283 |
options = swAddControlOptions_e.swControlOptions_Enabled + swAddControlOptions_e.swControlOptions_Visible
|
284 |
checkSectionSimpleSurPoutre = group3.AddControl(34, controlType, "Découpage simple pour les intersections de type poutre", leftAlign, options, "")
|
285 |
EnregistrementCode.checkboxSectionSimpleSurPoutre = checkSectionSimpleSurPoutre
|
286 |
|
287 |
controlType = swPropertyManagerPageControlType_e.swControlType_Checkbox
|
288 |
leftAlign = swPropertyManagerPageControlLeftAlign_e.swControlAlign_LeftEdge
|
289 |
options = swAddControlOptions_e.swControlOptions_Enabled + swAddControlOptions_e.swControlOptions_Visible
|
290 |
checkMultiDecoupage = group3.AddControl(33, controlType, "Faire un multidécoupage pour les intersection coques", leftAlign, options, "")
|
291 |
EnregistrementCode.checkboxMultidecoupage = checkMultiDecoupage
|
292 |
|
293 |
|
294 |
|
295 |
End Sub
|
296 |
|
297 |
Public Sub EngDefaut()
|
298 |
Dim volume As Double
|
299 |
Dim surface As Double
|
300 |
Dim eng As Double
|
301 |
Dim swMprop As sldworks.MassProperty
|
302 |
swMprop = swModel.Extension.CreateMassProperty
|
303 |
volume = swMprop.Volume
|
304 |
surface = swMprop.SurfaceArea
|
305 |
eng = (volume / surface) / 6
|
306 |
EnregistrementCode.NumberENG.Value = eng
|
307 |
|
308 |
|
309 |
End Sub
|
310 |
End Class
|
311 |
|
312 |
End Namespace |