Précédent   Forum du club des développeurs et IT Pro > Autres langages > Général Visual Basic 6 et VBScript > Discussions diverses
Discussions diverses réservé, comme son nom l'indique, aux questions d'ordre général, qui n'entrent dans aucune des catégories des liens proposés plus haut.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 01/03/2012, 16h08   #1
Snoop92i
Invité de passage
 
Homme
Paramétreur de progiciels
Inscription : mars 2012
Messages : 1
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Paramétreur de progiciels
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : mars 2012
Messages : 1
Points : 0
Points : 0
Par défaut Script VBA deffectueux

Bonjour à tous,

Plus que débutant en Prog VBA, mais "expert" Catia V5, je cherche à automatiser des conceptions...
Pour ce faire, et m'entrainer sur quelque chose de "simple", j'ai créé un Product (luminaire) dans lequel se trouve une part (squelette) et une autre dans laquelle je vais construire l'objet (lampe) !


J'enregistre une macro :
- activation de la part (Lampe)
- un cercle qui s'appui sur le point de la part (squelette)
- puis un balayage qui s'appui sur la courbe de la part (squelette)

Voila le script sortant :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
Sub CATMain()
 
Dim documents1 As Documents
Set documents1 = CATIA.Documents
 
Dim partDocument1 As PartDocument
Set partDocument1 = documents1.Item("Lampe.CATPart")
 
Dim part1 As Part
Set part1 = partDocument1.Part
 
Dim hybridShapeFactory1 As HybridShapeFactory
Set hybridShapeFactory1 = part1.HybridShapeFactory
 
Dim parameters1 As Parameters
Set parameters1 = part1.Parameters
 
Dim hybridShapePointExplicit1 As HybridShapePointExplicit
Set hybridShapePointExplicit1 = parameters1.Item("Point.1")
 
Dim reference1 As Reference
Set reference1 = part1.CreateReferenceFromObject(hybridShapePointExplicit1)
 
Dim originElements1 As OriginElements
Set originElements1 = part1.OriginElements
 
Dim hybridShapePlaneExplicit1 As HybridShapePlaneExplicit
Set hybridShapePlaneExplicit1 = originElements1.PlaneXY
 
Dim reference2 As Reference
Set reference2 = part1.CreateReferenceFromObject(hybridShapePlaneExplicit1)
 
Dim hybridShapeCircleCtrRad1 As HybridShapeCircleCtrRad
Set hybridShapeCircleCtrRad1 = hybridShapeFactory1.AddNewCircleCtrRad(reference1, reference2, False, 20#)
 
hybridShapeCircleCtrRad1.DiameterMode = True
 
hybridShapeCircleCtrRad1.SetLimitation 1
 
Dim hybridBodies1 As HybridBodies
Set hybridBodies1 = part1.HybridBodies
 
Dim hybridBody1 As HybridBody
Set hybridBody1 = hybridBodies1.Item("Construction")
 
hybridBody1.AppendHybridShape hybridShapeCircleCtrRad1
 
part1.InWorkObject = hybridShapeCircleCtrRad1
 
part1.Update
 
Dim reference3 As Reference
Set reference3 = part1.CreateReferenceFromObject(hybridShapeCircleCtrRad1)
 
Dim parameters2 As Parameters
Set parameters2 = part1.Parameters
 
Dim hybridShapeCurveExplicit1 As HybridShapeCurveExplicit
Set hybridShapeCurveExplicit1 = parameters2.Item("Curve.1")
 
Dim reference4 As Reference
Set reference4 = part1.CreateReferenceFromObject(hybridShapeCurveExplicit1)
 
Dim hybridShapeSweepExplicit1 As HybridShapeSweepExplicit
Set hybridShapeSweepExplicit1 = hybridShapeFactory1.AddNewSweepExplicit(reference3, reference4)
 
hybridShapeSweepExplicit1.SubType = 1
 
hybridShapeSweepExplicit1.SetAngleRef 1, 0#
 
hybridShapeSweepExplicit1.SolutionNo = 0
 
hybridShapeSweepExplicit1.SmoothActivity = False
 
hybridShapeSweepExplicit1.GuideDeviationActivity = False
 
hybridShapeSweepExplicit1.SetbackValue = 0.02
 
hybridShapeSweepExplicit1.FillTwistedAreas = 1
 
hybridBody1.AppendHybridShape hybridShapeSweepExplicit1
 
part1.InWorkObject = hybridShapeSweepExplicit1
 
part1.Update
 
part1.Update
 
End Sub
Mais quand je le relance, il ne se rejoue pas et bloque ligne 19 !

Et je ne comprends pas pourquoi la macro créée des noms tel que "Part1" alors que j'ai renommé ces fameuse part (squelette, lampe,...) !?

En gros des que je veux m'appuyer sur un élément externe de la part dans laquelle je travaille, cela ne fonctionne pas !!!!!

Si l'un d'entre vous peux m'apporter son aide, je serais ravis....

Merci d'avance....
Snoop92i est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 19h14.


 
 
 
 
Partenaires

Hébergement Web