Aller au contenu

marc54

Membres
  • Compteur de contenus

    304
  • Inscription

  • Dernière visite

Tout ce qui a été posté par marc54

  1. marc54

    Fichiers 3D Rep

    Bonjour, Dans les options d'écriture en 3Dxml, je sais qu'il y a au moins deux formats possibles. L'un est 'binaire', l'autre 'texte'. Dans le premier cas, tu es obligé d'utiliser le viewer DS, dans l'autre, il existe un autre viewer 3Dxml que celui de DS, mais je ne me souviens plus de son nom.
  2. marc54

    colimaçon avec catia V5

    si tu veux j'ai une macro qui crée un escalier. Tu peux la télécharger sur mon site, le source est modifiable. http://3dsys.fr/8.html
  3. marc54

    License CATIA

    Bonjour, D'abord pourquoi cherches-tu une licence temporaire ? C'est pour un test avant achat ? Pour traiter une affaire pendant un temps donné ? Dans tous les cas, si tu souhaites passer par le circuit officiel il faut que tu contactes un revendeur CATIA (un VAR) qui est habilité à traiter ce type de demandes : au choix Kéonys, T-Systems, TATA Technologies, etc. Tu trouveras la liste sur le site 3DS.com. Mais le chemin risque d'être long ... Paradoxalement il y a des centaines de licences piratées de CATIA qui tournent et qui ne semblent pas poser de problème particulier à DS, mais ta demande risque de ne pas aboutir ou d'être trop compliquée.
  4. marc54

    vba Conversion Degrés Décimal en DMS

    essaie ceci. C'est peu mieux que ton truc, mais il y a surement plus simple. J'ai pas testé ... Dim Degres, Minutes, Secondes As Integer Dim pos as boolean ' positif pos = true Degres = (A(y)) if Degres < 0 then ' inversion du signe Degres = - Degres pos = false ' pour plus tard (c'est un drapeau) endif Degres = Int(Abs(A(y))) Minutes1 = Int((Abs(A(y)) - Degres1) * 60) Minutes = ((Abs(A(y)) - Degres1) * 60) Secondes = cstr(round((Minutes - Int(Minutes)) * 60,2)) DMS= Degres1 & "° " & Minutes1 & "' " & Secondes+ Chr(34) if pos = false then DMS = " -" & DMS ' c'était nég donc je rajoute le signe xl.cells(5 + y, x + 1).Value = DMS
  5. marc54

    vba Conversion Degrés Décimal en DMS

    tu peux tester si ton A est négatif. Si c'est le cas, tu le repasses en positif et tu poses une variable, que tu testeras en fin de programme pour rebasculer le signe. Je ne sais pas si je suis clair ...
  6. marc54

    VBA Renommer entité points

    dans ton hybridbody, tu as une collection de GeometricElements. C'est sur cette collection que tu dois faire une boucle, en testant si la propriété .Name contient la chaine "Point.". Si c'est le cas tu renommes : monPt.Name= "Point_" & i en gros c'est ça. autre solution : faire une sélection des points 3D avec un selection.search, et ensuite une boucle sur la selection
  7. marc54

    Exécuter CATScript via VBA

    bizarre... Essaie de simplifier ton programme en ne mettant qu'une seule ligne, c'est à dire en intégrant tous les parametres sans passer par variable, et en virant le test. Ou alors l'erreur serait dans le CATscript ? Je suppose que si tu exécutes le catscript il n'y a pas d'erreur. Sauf que là c'est VBA qui l'interprète, alors peut-être que c'est un Dim du catscript qui pose problème. As tu essayé de reprendre le contenu du catscript et de le mettre en VBA ? Faut éviter le CATScript. Le mieux c'est .Net, VBA ou vbscript au pire.
  8. marc54

    Exécuter CATScript via VBA

    c'est une erreur très classique qu'on retrouve très souvent en VBA. Une sorte de bug qui apparait sur certaines fonctions. Pour corriger, il suffit de mettre en commentaire le type de la variable sur laquelle l'erreur apparait. Un exemple bidon : tu as : Dim maVariable As xxxxx Et l'erreur apparait sur cette ligne : set machin = maVariable.méthode (am,stram,gram) La solution est d'enlever le type de maVariable : Dim maVariable 'As xxxxx Par contre, sur ton exemple je ne vois pas trop ce qu'il faut détyper. Ou est l'erreur ? As-tu typé la variable CATIA ?
  9. marc54

    Exécuter CATScript via VBA

    Essaie avec CATIA.SystemService.ExecuteScript je n'ai jamais utilisé,mais tu devrais trouver des exemples dans la doc ou sur le net.
  10. Bonjour, Tu es en VBA ? Si c'est le cas tu peux essayer de changer la propriété ShowModal de ta userform.
  11. marc54

    Macro catia vers excel

    D'abord il faut se connecter à Excel : 1- Ajout à tes références de Microsoft Excel object library 2- puis ce bout de code Dim oEXCEL As Excel.Application On Error Resume Next Set oEXCEL = GetObject(,"Excel.Application") If Err.Number <> 0 Then Set oEXCEL = CreateObject("Excel.Application") oEXCEL.Visible = True EndIf On Error Goto 0 3- Et enfin le kit de survie dans excel : Dim oWkBk As Excel.Workbook oWkBk = oExcel.Workbooks.Add() ' obligatoire sinon excel démarre pas Dim oSheet As Excel.Worksheet oSheet = oWkBk.ActiveSheet ' classeur courant Dim oCell As Excel.Range oCell = oSheet.Range("B3") ' et cellule B3 oCell.Value = "Hello World"
  12. marc54

    Problème ouverture d\'assemblage

    Bonjour, Tu pourrais essayer de faire un CATDUA pour nettoyer ton fichier. Dans outils/Utilitaires.
  13. marc54

    Macro catia, erreur sur inputBox

    Dim Inertie1 As Double Inertie1 = InputBox("Entrez la valeur de Ixx", "Moments principaux d'inertie du moteur NI", "1")
  14. marc54

    Probleme avec le indicate2D

    Bonjour Quieto, Je crois que j'ai eu le même problème il y a peu de temps : http://www.catiav5forum.de/wbb3/wbb/index.php?page=Thread&postID=27956&highlight=indicate2D#post27956 Que je n'ai pas résolu ... J'utilise indicate2D en drafting et je n'ai pas de souci. Par contre, dans un sketch c'est 0 ! Les coordonnées retournées doivent dépendre du facteur de zoom, du positionnement du sketch en 3D, ou de la température extérieure ...
  15. marc54

    CATIA.FileSelectionBox

    Pas possible, cette fonction est très simple à utiliser, mais hélas assez limitée en fonctionnalités. En VBA on doit pouvoir faire appel à des API pour faire ça. Faut chercher un peu sur développez.com Et en VB .Net il y a un contrôle prêt à utiliser.
  16. marc54

    Macro VBA qui ne fonctionne pas

    Bonjour, Essaie ceci : Dim myDoc As PartDocument Set myDoc = CATIA.ActiveDocument Dim myPart As Part Set myPart = myDoc.Part Dim myHSF As HybridShapeFactory Set myHSF = myPart.HybridShapeFactory Dim myBodies As Bodies Set myBodies = myPart.Bodies Dim myHBBody As HybridBody Set myHBBody = myPart.HybridBodies.Item(1) Dim mySelection Dim Status Dim InputObjectType(0) Set mySelection = myDoc.Selection 'We propose to the user that he select the first face InputObjectType(0) = "Face" Status = mySelection.SelectElement2(InputObjectType, "Select the first face", True) If (Status = "cancel") Then Exit Sub Set FirstFace = mySelection.Item(1).Value mySelection.Clear Dim myHSE As HybridShapeExtract Set myHSE = myHSF.AddNewExtract(FirstFace) myHSE.PropagationType = 1 myHBBody.AppendHybridShape myHSE myHSE.ComplementaryExtract = False myHSE.IsFederated = False 'myPart.InWorkObject = myBody myPart.Update Chaque fois que tu fais qqc dans un hybridbody, tu dois faire un AppendHybridShape pour le faire apparaitre.
  17. marc54

    Clefs de registre et CATEnv

    Bonjour, Tu n'as pas compris ma réponse parce que je n'ai pas dû comprendre ta question ... Si ton problème est de lire la base de registre, c'est assez facile à faire en .Net, et je pense beaucoup moins en VBA (faut sûrement chercher des API pour le faire). Mais de toute façon tu n'as pas les droits pour le faire, d'après ce que tu dis. Je ne vois pas trop en quoi ces 2 clés peuvent te servir. Mais bon, pour la première par exemple, tu peux récupérer la variable CATInstallPath de ton environnement et la compléter pour arriver au chemin complet Dans mon cas par exemple, la clé donne D:\CATIA V5\B18\intel_a\code\bin\..\..\startup\templates\empty.CATPart Dans ma variable CATInstallPath je récupère D:\CATIA V5\B19\intel_a car je suis en R19. Ensuite tu ajoutes "\code\bin\..\..\startup\templates\empty.CATPart" pour arriver au résultat. Pas sûr d'avoir compris ce que tu voulais ...
  18. marc54

    Clefs de registre et CATEnv

    Bonjour, Dans le fichier d'environnement, tu ne peux mettre que des variables du genre TOTO=5 ou MONCHEMIN=C:\truc A toi de mettre du contenu que tu pourras récupérer dans ton programme. Dans une macro CATIA par exemple, tu peux récupérer le contenu de ces variables avec CATIA.SystemService.Environ("TOTO")
  19. marc54

    Groupes de contraintes en VBA

    Et si tu récupères ce groupe de contraintes dans la sélection en tant que Object, et ensuite tu essaies de modifier la propriété .Name ?
  20. marc54

    Groupes de contraintes en VBA

    Salut 8_pool, Je n'ai jamais programmé sur ce sujet, mais as-tu pensé à utiliser CATIA.StartCommand "..." ? Elle permet de dépanner dans certains cas, lorsqu'il n'y a pas de fonction existante. Il m'arrive souvent de l'oublier celle-ci ... A+ et bonnes fêtes
  21. marc54

    creation de parametre avec formule

    Bonjour, As-tu essayé avec CreateFormula dans les Relations ? Dans la doc il y a quelques exemples. Il faut d'abord créer le paramètre, puis la formule. extrait doc : Set dimension1 = analysisManager1.Parameters.CreateDimension("Maximum value of VonMises criterion", "PRESSURE", 0.000000) Set formula1 = analysisManager1.Relations.CreateFormula("Maximum value of VonMises criterion","",dimension1,"misesmax(`Finite Element Model.1\Static Case Solution.1` ) ")
  22. marc54

    Liens dans un plan CATIAV5/ macro

    Bonjour, Lorsque je souhaite faire des liens entre un texte et une propriété (ou autre chose), je m'arrange pour renommer le texte avec un texte bien précis (propriété .Name). Par exemple tu décides que le texte correspondant à l'échelle s'appellera attr_scale au lieu de Texte.9. Ensuite lorsque tu souhaites faire une mise à jour, il faut que tu scannes la collection des textes jusqu'à ce que tu trouves attr_scale, et alors tu peux changer la valeur du texte pour y mettre ton échelle. Ce lien n'est pas dynamique, mais cela fonctionne. C'est ce que j'utilise pour certaines de mes applis (Easy Cartouche par ex).
  23. marc54

    macro CATIA - saveas sans prompt

    question 1 : CATIA.DisplayFileAlerts = False
  24. Bonjour, Tu peux faire un "df -k" dans un terminal (en étant root) et poster le résultat ? Et dans ton répertoire utilisateur il y a un fichier ".catia_environment", peux tu montrer son contenu avec la commande cat ou more. A partir d'un certain âge, il vaut mieux que les stations IBM ne prennent plus de congés. Tu éteins juste l'écran. Les machines s'habituent à une température en fonctionnement, et si tu les éteins trop longtemps, il doit y avoir des phénomènes de dilatation ou je ne sais quoi. Ou alors tu as éteint la machine de manière brutale , non ?
  25. Tu dois pouvoir utiliser la commande StartWorkBench(".....") que tu trouveras dans la doc Automation. par exemple : CATIA.StartWorkbench("ManufacturingProgramWorkbench")
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité