11 |
|
Dim handler As EnregistrementPageHandler |
12 |
|
Dim ppage As sldworks.PropertyManagerPage2 |
13 |
|
|
14 |
– |
#Region "Déclaration des controles" |
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 |
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 |
+ |
Private LabelMiniSurCoques As sldworks.PropertyManagerPageLabel |
55 |
+ |
|
56 |
|
|
57 |
|
''Controles |
58 |
|
|
63 |
|
Private Gilles1 As sldworks.PropertyManagerPageCheckbox |
64 |
|
Private Gilles2 As sldworks.PropertyManagerPageCheckbox |
65 |
|
|
63 |
– |
#End Region |
66 |
|
|
67 |
< |
Function Init(ByVal sw As SldWorks.SldWorks, ByVal addin As MAGIC.Magic) As Object |
67 |
> |
Function Init(ByVal sw As sldworks.SldWorks, ByVal addin As MAGIC.Magic) As Object |
68 |
|
iSwApp = sw |
69 |
|
userAddin = addin |
70 |
|
CreatePage() |
74 |
|
|
75 |
|
Sub Show() |
76 |
|
ppage.Show() |
77 |
+ |
Me.EngDefaut() |
78 |
|
End Sub |
79 |
|
|
80 |
|
Sub CreatePage() |
92 |
|
Dim controlType As Integer |
93 |
|
|
94 |
|
|
95 |
+ |
|
96 |
|
' premier groupe |
97 |
|
options = swAddGroupBoxOptions_e.swGroupBoxOptions_Visible + swAddGroupBoxOptions_e.swGroupBoxOptions_Expanded |
98 |
|
group1 = ppage.AddGroupBox(0, "Exportation vers MAGiC", options) |
99 |
|
|
100 |
+ |
|
101 |
+ |
' le label |
102 |
+ |
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") |
103 |
+ |
|
104 |
+ |
'Numberbox2 |
105 |
+ |
controlType = swPropertyManagerPageControlType_e.swControlType_Numberbox |
106 |
+ |
leftAlign = swPropertyManagerPageControlLeftAlign_e.swControlAlign_LeftEdge |
107 |
+ |
options = swAddControlOptions_e.swControlOptions_Enabled + swAddControlOptions_e.swControlOptions_Visible + swAddControlOptions_e.swControlOptions_SmallGapAbove |
108 |
+ |
Numberbox2 = group1.AddControl(5, controlType, "Écart Nodal Global", leftAlign, options, "Entrez la valeur de l'Écart Nodal Global") |
109 |
+ |
Numberbox2.Value = 0.015 |
110 |
+ |
Numberbox2.SetRange(swconst.swNumberboxUnitType_e.swNumberBox_Length, 0.000000001, 100000000, 0.001, True) |
111 |
+ |
EnregistrementCode.NumberENG = Numberbox2 |
112 |
+ |
|
113 |
|
' checkOriginal |
114 |
|
controlType = swPropertyManagerPageControlType_e.swControlType_Checkbox |
115 |
|
leftAlign = swPropertyManagerPageControlLeftAlign_e.swControlAlign_LeftEdge |
131 |
|
|
132 |
|
|
133 |
|
|
134 |
< |
' deuxième groupe, pré-optimisation. par défaut cliqué... |
134 |
> |
' deuxième groupe, pré-optimisation. |
135 |
|
options = swAddGroupBoxOptions_e.swGroupBoxOptions_Visible + swAddGroupBoxOptions_e.swGroupBoxOptions_Checkbox ' + swAddGroupBoxOptions_e.swGroupBoxOptions_Checked |
136 |
|
group2 = ppage.AddGroupBox(3, "Pre-optimisation Manuelle", options) |
137 |
|
EnregistrementCode.Groupe2 = group2 |
138 |
|
|
122 |
– |
' le label |
123 |
– |
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") |
139 |
|
|
125 |
– |
'Numberbox2 |
126 |
– |
controlType = swPropertyManagerPageControlType_e.swControlType_Numberbox |
127 |
– |
leftAlign = swPropertyManagerPageControlLeftAlign_e.swControlAlign_LeftEdge |
128 |
– |
options = swAddControlOptions_e.swControlOptions_Enabled + swAddControlOptions_e.swControlOptions_Visible + swAddControlOptions_e.swControlOptions_SmallGapAbove |
129 |
– |
Numberbox2 = group2.AddControl(5, controlType, "Écart Nodal Global", leftAlign, options, "Entrez la valeur de l'Écart Nodal Global") |
130 |
– |
Numberbox2.Value = 0.015 |
131 |
– |
Numberbox2.SetRange(SwConst.swNumberboxUnitType_e.swNumberBox_Length, 0.000000001, 100000000, 0.001, True) |
132 |
– |
EnregistrementCode.NumberENG = Numberbox2 |
140 |
|
|
141 |
|
' le label |
142 |
|
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") |
244 |
|
|
245 |
|
' le label |
246 |
|
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") |
247 |
+ |
EnregistrementCode.labelRemi1 = labelRemi1 |
248 |
|
|
249 |
|
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") |
250 |
< |
curseur.setrange(1, 99) |
250 |
> |
curseur.SetRange(1, 99) |
251 |
|
curseur.Position = 95 |
252 |
|
curseur.Style = swPropMgrPageSliderStyle_e.swPropMgrPageSliderStyle_NotifyWhileTracking + swPropMgrPageSliderStyle_e.swPropMgrPageSliderStyle_AutoTicks |
253 |
|
curseur.TickFrequency = 5 |
257 |
|
' le label |
258 |
|
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") |
259 |
|
|
260 |
+ |
|
261 |
|
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") |
262 |
|
limiteur.Value = 0.25 |
263 |
< |
limiteur.SetRange(SwConst.swNumberboxUnitType_e.swNumberBox_UnitlessDouble, 0.01, 1, 0.05, True) |
263 |
> |
limiteur.SetRange(swconst.swNumberboxUnitType_e.swNumberBox_UnitlessDouble, 0.01, 1, 0.05, True) |
264 |
|
EnregistrementCode.limiteur = limiteur |
265 |
|
|
266 |
|
' le troisième groupe pour les études multi-dimensionnelles |
268 |
|
group3 = ppage.AddGroupBox(19, "Étude multi-dimensionnelle", options) |
269 |
|
EnregistrementCode.Groupe3 = group3 |
270 |
|
|
271 |
+ |
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") |
272 |
+ |
controlType = swPropertyManagerPageControlType_e.swControlType_Checkbox |
273 |
+ |
leftAlign = swPropertyManagerPageControlLeftAlign_e.swControlAlign_LeftEdge |
274 |
+ |
options = swAddControlOptions_e.swControlOptions_Enabled + swAddControlOptions_e.swControlOptions_Visible |
275 |
+ |
checkMiniSurCoques = group3.AddControl(32, controlType, "Mettre des mini-poutres dans les cas des intersections coque-coque", leftAlign, options, "") |
276 |
+ |
EnregistrementCode.checkboxMiniSurCoque = checkMiniSurCoques |
277 |
+ |
|
278 |
+ |
controlType = swPropertyManagerPageControlType_e.swControlType_Checkbox |
279 |
+ |
leftAlign = swPropertyManagerPageControlLeftAlign_e.swControlAlign_LeftEdge |
280 |
+ |
options = swAddControlOptions_e.swControlOptions_Enabled + swAddControlOptions_e.swControlOptions_Visible |
281 |
+ |
checkMultiDecoupage = group3.AddControl(33, controlType, "Faire un multidécoupage pour les intersection coques", leftAlign, options, "") |
282 |
+ |
EnregistrementCode.checkboxMultidecoupage = checkMultidecoupage |
283 |
|
|
284 |
|
End Sub |
285 |
|
|
286 |
+ |
Public Sub EngDefaut() |
287 |
+ |
Dim volume As Double |
288 |
+ |
Dim surface As Double |
289 |
+ |
Dim eng As Double |
290 |
+ |
Dim swMprop As sldworks.MassProperty |
291 |
+ |
swMprop = swModel.Extension.CreateMassProperty |
292 |
+ |
volume = swMprop.Volume |
293 |
+ |
surface = swMprop.SurfaceArea |
294 |
+ |
eng = (volume / surface) / 6 |
295 |
+ |
EnregistrementCode.NumberENG.Value = eng |
296 |
+ |
|
297 |
+ |
|
298 |
+ |
End Sub |
299 |
|
End Class |
300 |
|
|
301 |
|
End Namespace |