MDK Posté(e) le 22 février 2010 Posté(e) le 22 février 2010 Bonsoir, Étudiant en BTS CPI j'ai pour projet de crée un model générique pour modéliser tout type de visserie. Le tout sera piloter par Excel via des macros VB pour finalement avoir un model CATIA. Lors de nos TP le prof nous avait donné l'entête, et il ne nous restai plus qu'à taper nos lignes de code à l'intérieur. Pourriez vous me redonnez cette entête ? Merci d'avance.
marc54 Posté(e) le 23 février 2010 Posté(e) le 23 février 2010 ceci ? Dim CATIA As Object On Error Resume Next Set CATIA = GetObject(, "CATIA.Application") If Err.Number <> 0 Then Set CATIA = CreateObject("CATIA.Application") End If On error goto 0 Marc http://www.3dsys.fr
MDK Posté(e) le 23 février 2010 Auteur Posté(e) le 23 février 2010 Merci d'avoir répondu aussi vite ! Malheureusement ce n'est pas ça marc54 : ( Pour être plus précis pendant le cours on devait juste faire un copier coller d'une macro enregistré dans CATIA vers l'éditeur VB d'excel. Mais lorsque je réessaye maintenant, en faisant un copier coller du code, j'obtiens une erreur de compilation: Instruction incorrecte à l'extérieur d'une procédure. Le code que j'utilise comme test si ça peut aidé: Language="VBSCRIPT" Sub CATMain() Set partDocument1 = CATIA.ActiveDocument Set part1 = partDocument1.Part Set bodies1 = part1.Bodies Set body1 = bodies1.Item("Corps principal") Set sketches1 = body1.Sketches Set originElements1 = part1.OriginElements Set reference1 = originElements1.PlaneYZ Set sketch1 = sketches1.Add(reference1) Dim arrayOfVariantOfDouble1(8) arrayOfVariantOfDouble1(0) = 0.000000 arrayOfVariantOfDouble1(1) = 0.000000 arrayOfVariantOfDouble1(2) = 0.000000 arrayOfVariantOfDouble1(3) = 0.000000 arrayOfVariantOfDouble1(4) = 1.000000 arrayOfVariantOfDouble1(5) = 0.000000 arrayOfVariantOfDouble1(6) = 0.000000 arrayOfVariantOfDouble1(7) = 0.000000 arrayOfVariantOfDouble1(8) = 1.000000 sketch1.SetAbsoluteAxisData arrayOfVariantOfDouble1 part1.InWorkObject = sketch1 Set factory2D1 = sketch1.OpenEdition() Set geometricElements1 = sketch1.GeometricElements Set axis2D1 = geometricElements1.Item("Repère") Set line2D1 = axis2D1.GetItem("Axe horizontal") line2D1.ReportName = 1 Set line2D2 = axis2D1.GetItem("Axe vertical") line2D2.ReportName = 2 Set point2D1 = factory2D1.CreatePoint(23.577805, -27.199257) point2D1.ReportName = 3 Set point2D2 = factory2D1.CreatePoint(69.282471, 29.375193) point2D2.ReportName = 4 Set line2D3 = factory2D1.CreateLine(23.577805, -27.199257, 69.282471, 29.375193) line2D3.ReportName = 5 line2D3.StartPoint = point2D1 line2D3.EndPoint = point2D2 sketch1.CloseEdition part1.InWorkObject = sketch1 part1.Update End Sub
marc54 Posté(e) le 23 février 2010 Posté(e) le 23 février 2010 Si tu veux piloter CATIA depuis Excel, tu as besoin des quelques lignes que je t'ai donné. De plus, il faut que tu sélectionnes les bibliothèques CATIA dans ton VBA d'excel.Ensuite le copier/coller devrait fonctionner. Marc http://www.3dsys.fr
MDK Posté(e) le 24 février 2010 Auteur Posté(e) le 24 février 2010 Merci marc54 !! Ça marche ! Mon erreur était de laisser le "Language="VBSCRIPT"" en début de mon code ! Encore merci !
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant