ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magicsld/EnregistrementProp.vb
(Generate patch)

Comparing magicsld/EnregistrementProp.vb (file contents):
Revision 40 by bournival, Mon Aug 20 21:30:28 2007 UTC vs.
Revision 130 by bournival, Wed Jul 30 21:26:03 2008 UTC

# Line 1 | Line 1
1 < Imports SldWorks
2 < Imports SWPublished
3 < Imports SwConst
1 > Imports SolidWorks.Interop
2 > Imports SolidWorks.Interop.swconst
3 > Imports SolidWorks.Interop.swpublished
4  
5   ' la classe des propriétés
6  
# Line 9 | Line 9 | Namespace Enregistrement
9          Dim iSwApp As SldWorks.SldWorks
10          Dim userAddin As MAGIC.Magic
11          Dim handler As EnregistrementPageHandler
12 <        Dim ppage As PropertyManagerPage2
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
# Line 19 | Line 18 | Namespace Enregistrement
18          ' le deuxième groupe sert à la pré-optimisation de maillage
19  
20  
21 <        Private group1 As PropertyManagerPageGroup
22 <        Private group2 As PropertyManagerPageGroup
23 <        Private group3 As PropertyManagerPageGroup
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 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
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 >        Private LabelMiniSurCoques As sldworks.PropertyManagerPageLabel
55  
56  
57          ''Controles
58  
59 <        Private label11 As PropertyManagerPageLabel
60 <        Private checkentite As PropertyManagerPageCheckbox
61 <        Private CheckEnt As PropertyManagerPageCheckbox
59 >        Private label11 As sldworks.PropertyManagerPageLabel
60 >        Private checkentite As sldworks.PropertyManagerPageCheckbox
61 >        Private CheckEnt As sldworks.PropertyManagerPageCheckbox
62  
63 <        Private Gilles1 As PropertyManagerPageCheckbox
64 <        Private Gilles2 As PropertyManagerPageCheckbox
63 >        Private Gilles1 As sldworks.PropertyManagerPageCheckbox
64 >        Private Gilles2 As sldworks.PropertyManagerPageCheckbox
65  
57 #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()
# Line 66 | Line 74 | Namespace Enregistrement
74  
75          Sub Show()
76              ppage.Show()
77 +            Me.EngDefaut()
78          End Sub
79  
80          Sub CreatePage()
# Line 83 | Line 92 | Namespace Enregistrement
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
# Line 104 | Line 127 | Namespace Enregistrement
127              checkModifie.Checked = True
128              EnregistrementCode.checkboxModifie = checkModifie
129  
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
130  
131  
132  
133 <            ' deuxième groupe, pré-optimisation.  par défaut  cliqué...
133 >
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 en fonction des caractéristiques de forme", options)
136 >            group2 = ppage.AddGroupBox(3, "Pre-optimisation Manuelle", options)
137              EnregistrementCode.Groupe2 = group2
138  
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")
139  
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
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")
# Line 236 | Line 235 | Namespace Enregistrement
235              CheckEnt = group2.AddControl(18, controlType, "raffiner les entités selectionnées individuellement", leftAlign, options, "selectionner des entités")
236              EnregistrementCode.CheckEnt = CheckEnt
237  
238 +
239 +
240 +            options = swAddGroupBoxOptions_e.swGroupBoxOptions_Visible + swAddGroupBoxOptions_e.swGroupBoxOptions_Checkbox
241 +            group4 = ppage.AddGroupBox(40, "Pré-Optimisation Automatique", options)
242 +            EnregistrementCode.Groupe4 = group4
243 +            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, "")
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)
251 +            curseur.Position = 95
252 +            curseur.Style = swPropMgrPageSliderStyle_e.swPropMgrPageSliderStyle_NotifyWhileTracking + swPropMgrPageSliderStyle_e.swPropMgrPageSliderStyle_AutoTicks
253 +            curseur.TickFrequency = 5
254 +            curseur.LineSize = 3
255 +            EnregistrementCode.curseur = curseur
256 +
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)
264 +            EnregistrementCode.limiteur = limiteur
265 +
266              ' le troisième groupe pour les études multi-dimensionnelles
267              options = swAddGroupBoxOptions_e.swGroupBoxOptions_Visible + swAddGroupBoxOptions_e.swGroupBoxOptions_Checkbox ' + swAddGroupBoxOptions_e.swGroupBoxOptions_Checked
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

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines