-
Compteur de contenus
304 -
Inscription
-
Dernière visite
Tout ce qui a été posté par marc54
-
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.
-
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
-
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.
-
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
-
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 ...
-
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
-
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.
-
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 ?
-
Essaie avec CATIA.SystemService.ExecuteScript je n'ai jamais utilisé,mais tu devrais trouver des exemples dans la doc ou sur le net.
-
Bonjour, Tu es en VBA ? Si c'est le cas tu peux essayer de changer la propriété ShowModal de ta userform.
-
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"
-
Bonjour, Tu pourrais essayer de faire un CATDUA pour nettoyer ton fichier. Dans outils/Utilitaires.
-
Dim Inertie1 As Double Inertie1 = InputBox("Entrez la valeur de Ixx", "Moments principaux d'inertie du moteur NI", "1")
-
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 ...
-
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.
-
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.
-
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 ...
-
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")
-
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 ?
-
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
-
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` ) ")
-
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).
-
question 1 : CATIA.DisplayFileAlerts = False
-
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 ?
-
Tu dois pouvoir utiliser la commande StartWorkBench(".....") que tu trouveras dans la doc Automation. par exemple : CATIA.StartWorkbench("ManufacturingProgramWorkbench")