Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2315 connectés 

 


 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  227  228  229  ..  233  234  235  236  237  238
Auteur Sujet :

[Support] Catia : trucs, astuces, conseils, aide

n°1170759
Guss_
Posté le 02-12-2014 à 16:09:00  profilanswer
 

Reprise du message précédent :
J'ai des soucis avec la mise en veille, lorsque ma session windows est verrouillée et se met en veille, la machine plante, BSOD et dans le log le code d'erreur du BSOD correspond à ce que la carte vidéo ne répondait plus, d' ou mon désire de mettre à jour les pilotes

mood
Publicité
Posté le 02-12-2014 à 16:09:00  profilanswer
 

n°1170760
shkyo30
Posté le 02-12-2014 à 16:48:21  profilanswer
 

ptittom a écrit :


 
Bonjour,
 
CATIA V5 ne gère les processeurs multicore que dans certains modules (FEM pour les calculs, entre autres). l'architecture du logiciel est assez ancienne.
Je bosse sur plusieurs machines:
- chez un client: Dell T3600: xeon E5-1620 à 3,6Ghz, 16GB de RAM et Quadro 2000
- Lenovo W530: i7 3720QM @ 2,6Ghz , 16Gb de RAM et quadro K2000M
Le dell marche plutôt pas mal, nous avons une variante avec 32GB de Ram pour les utilisateurs ayant des produit plus grands. Le lenovo s'en sort très bien pour un laptop.
 
Pour les performances, une fréquence CPU élévée est un plus, le nombre de coeurs n'influe que très peu. Sinon, minimum 16Gb de RAM. Un SSD apporte un vrai plus pour le chargement de CATIA. Pour la carte graphique, il n'y a pas d'énormes différence tant que les produits ne sont pas trop gros. J'ai une GTX 570 à la maison qui fait très bien son boulot. Les quadro ont l'avantage d'avoir des driver optimisés. Nos admin prennent en général des cartes graphiques et processeur grand public pour nos workstation: i7, GTx 770, GTX970... Ca marche bien aussi.
 
Si la machine est uniquement pour CATIA, je partirais sur les i7 4xxx (en socket 1150), 16GB de RAm mini, une carte graphique moyen/heut de gamme genre GTX 770/970 et un bon SSD.


 
J'avais remarqué qu'il n'avait pas l'air d'exploiter correctement les processeurs multi-core... Donc effectivement la fréquence la plus haute possible doit avoir plus d'influence, dans ce cas le dernier i7 4790K à 4.0GHz doit être intéressant!
Pareil pour la mémoire, 16Go mini me semble bien avec la vitesse la plus rapide que puisse gérer le processeur que l'on choisi.
Côté CG, peut-être plus du côté des modèles Geforce GTX xxx ti qui ont des fréquences plus élevées?
 
Intéressant tout ça quand même...


---------------
Ma (petite) chaîne Youtube: https://www.youtube.com/channel/UCy [...] UwOtLaYKw/
n°1170761
Mr-blonde
Posté le 02-12-2014 à 16:48:38  profilanswer
 

Guss_ a écrit :

J'ai des soucis avec la mise en veille, lorsque ma session windows est verrouillée et se met en veille, la machine plante, BSOD et dans le log le code d'erreur du BSOD correspond à ce que la carte vidéo ne répondait plus, d' ou mon désire de mettre à jour les pilotes


 
Ou de virer tas mise en veille  ;)  
(enfin, dans l'attente de résoudre correctement ton problème... surement les pilotes  :jap:  )

n°1170762
shkyo30
Posté le 02-12-2014 à 16:50:12  profilanswer
 

Perso, j'ai toujours désactivé les mises en veille de Windows, elles ont une fâcheuse tendance à faire planter un certain nombre d'applications...


---------------
Ma (petite) chaîne Youtube: https://www.youtube.com/channel/UCy [...] UwOtLaYKw/
n°1170766
jubeat
Mais pousse toi !
Posté le 03-12-2014 à 00:25:20  profilanswer
 


 

shkyo30 a écrit :


 
ça donne déjà un peu d'infos, un i7 a 4 core minimum, les modèles à 6 core sont sortis il y a environ 2 ans et les 8 core viennent juste de sortir (assez cher...), dommage que tu ne te souviennes pas de la CG mais merci quand même!


C'est pas que je ne m'en souviens pas, c'est que je n'ai pas regardé, mais les machines en question sont pas loin, je peux demander à un collègue si besoin.


---------------
War Thunder : Karamazoff
n°1170767
ptittom
Posté le 03-12-2014 à 08:10:40  profilanswer
 

shkyo30 a écrit :


 
J'avais remarqué qu'il n'avait pas l'air d'exploiter correctement les processeurs multi-core... Donc effectivement la fréquence la plus haute possible doit avoir plus d'influence, dans ce cas le dernier i7 4790K à 4.0GHz doit être intéressant!
Pareil pour la mémoire, 16Go mini me semble bien avec la vitesse la plus rapide que puisse gérer le processeur que l'on choisi.
Côté CG, peut-être plus du côté des modèles Geforce GTX xxx ti qui ont des fréquences plus élevées?
 
Intéressant tout ça quand même...


 
Cette histoire de fréquence n'est valable que pour le CPU. Pour les GPU, ca suit quand même la logique de la gamme au point de vue performance. Les quadro sont egalement basées sur des GPU "grand public", en insistant sur la stabilité (fréquence revue à la baisse, certaines fonctions débloquées et pilote modifés).

n°1170768
shkyo30
Posté le 03-12-2014 à 08:49:46  profilanswer
 

jubeat a écrit :


C'est pas que je ne m'en souviens pas, c'est que je n'ai pas regardé, mais les machines en question sont pas loin, je peux demander à un collègue si besoin.


 
Pourquoi pas, à l'occasion, ça donnera une idée!  :)


---------------
Ma (petite) chaîne Youtube: https://www.youtube.com/channel/UCy [...] UwOtLaYKw/
n°1171147
NeoSyriuS
Posté le 19-12-2014 à 09:41:47  profilanswer
 

bonjour tout le monde !
je craque un peu, je vais donc m'appuyer sur la communauté :
 
je suis en train de creer un "lifter" (un cric en francais) sur catia.
l'idée est évidement le rendre fonctionnel (donc l'animer). donc DMU kinematic. c'est d'ailleur cet atelier que je cherche à apprendre.
 
j'ai vu et lu pas mal d'aide sur cet atelier, et c'est donc plutot sure de moi que j'ai fait des essais sur des pieces très simple des différentes liaison, sans guère de soucis, avant de m'attaquer au lifter.
 
le lifter est constitué de deux ciseau, c'est assez classique.
http://imagik.fr/view-rl/139768
 
pour mettre en mouvement l'ensemble, voici les contraintes que j'ai posé (et je vois pas quoi ajouter)
http://imagik.fr/view-rl/139770
http://imagik.fr/view-rl/139771
 
seule la vis est évidement en "commande".
mais vu mon soucis, j'ai aussi essayé de mettre TOUTE les contraintes ci dessus en commande, avec toujours la meme sanction
 
j'ai donc deux soucis :
 
1) lorsque j'essaye de "commander" mon lifter, j'obtiens un magnifique "ce mécanisme ne peut etre simulé, pour le simuler, vous devez : - ajouter une ou plusieurs commandes à certaines liaisons (il n'y a pas suffisement de commande)" [je vois pas ce qu'il lui faut en plus. et y'a qu'une commande sur ce truc, c'est évidant : la vis. on commande pas un cric autrement !]
 
2) lorsque je déplace moi meme le charriot à la main (en utilisant la touche MAJ enfoncé), si je contraint toute les bielles (les deux paires) une des deux déconne TOUJOURS, sans raison, puisque un rafraichissement la remet en place.
le résultat :  
http://imagik.fr/view-rl/139773
 
hormis ce soucis, le lifter semble, ironie du sort, marcher plutot convenablement.
 
concernant les hierarchie :  
tout est déclarré dans un meme "product", sans le moindre sous produit. (donc que des catpart)
tout les axes de liberté sont déclaré dans le même mécanisme : "lifter"
la base fixe de référence est la taule basse ainsi que l'axe des bielle fixe de la tole basse
 
des idées ? je seche complet, la.
merci à toute aide apportée !
 
(ps : mon entreprise m'empeche de voir mes propres images, je ne suis donc pas sure du bon fonctionnement de l'hebergement, et le résultat visuel de l'ensemble. désolé, donc, si le resultat n'est pas agréable à l'oeil u_u
ps2 : testé sur un autre PC, en fait, ca marche pas. donc j'ai mis les images sous forme de lien)

Message cité 1 fois
Message édité par NeoSyriuS le 19-12-2014 à 09:48:08
n°1171179
marcosenim
Posté le 20-12-2014 à 20:13:57  profilanswer
 

Salut!! je fait parti d'un projet avec mes collegues de l'ecole, je voudrais savoir qui a été le dernier en modifier une piece mais je peut pas trouver l'outil pour savoir ça. Qq'un/e sait? Merci!!!

n°1171206
ptittom
Posté le 22-12-2014 à 10:27:12  profilanswer
 

NeoSyriuS a écrit :

bonjour tout le monde !


 
Bonjour,
 
Que dit l'outil Analyze > Contrainsts du worbench Assembly Design, notamment l'onglet Degrees of Freedom avec le produit principal actif.
Si tes contraintes sont bien définies, tu devrais avoir une liste vide.
 
As-tu créé des contraintes pour fixer les mouvements latéraux de toutes tes pièces ?
 
CATIA pourra simuler ton méchanisme uniquement si tu n'as aucun degré de liberté. Cette information est affichée également sur le noeud du méchanisme (DOF=...)
 
Sinon, un petit conseil: pour rendre la simulation plus stable est plus simple, j'évite les liaisons complexes du genre courbe sur courbe. Il y a peut être moyen d'utiliser un liaison glissière (prismatic joint) pour le gallet dans le rail. Ce n'est pas 100% la réalité mais ca facilite un peu en supprimer des degrés de libertés.


Message édité par ptittom le 22-12-2014 à 10:34:20
mood
Publicité
Posté le 22-12-2014 à 10:27:12  profilanswer
 

n°1171207
NeoSyriuS
Posté le 22-12-2014 à 11:22:30  profilanswer
 

je viens de regarder l'outil "analyse" / "contrainte" de l'atelier assembly.
la ou je pige pas : 0 degrès de liberté ? mais dans ce cas, comment l'ensemble peut etre "mobile" ? n'est il pas necessaire, a priori, que quelques un de degrès soient préservé ?
j'entends par la que si la piece DOIT etre mobile (déplacé par la mécanique) je dois bien voir ce degrès de liberté apparaitre dans la liste, non ?
 
il y a malgrès tout des axes "en trop" visiblement. pourtant si j'essaye de les contraindre en plus, j'ai un message d'erreur m'affichant que cette contrainte est redondante. c'est a y rien comprendre.
 
cordialement.

n°1171212
NeoSyriuS
Posté le 22-12-2014 à 12:02:47  profilanswer
 

j'ai forcé les messages d'erreur "contrainte redondante" et ... bingo. cette fois ci, ca marche.
maintenant, je vais essayer de voir comment imposer des limites à la plage mécanique :) (faut apprendre)
j'aimerais bien une "contrainte limite" mais je trouve pas une fonction de ce type. si je met une distance en contrainte elle devient "fixe" et non "limite".
 
en tout cas, merci pour le coup de pouce, l'outil d'analyse, que je connaissais pas (en tout cas utiliser celui de l'assemblage plutot que kinematic) m'as sorti de la panade.
 
il ne faut pas tomber à "0" comme tu le suggère, en tout cas :  
il faut réduire le nombre de degrès au nombre REEL de mouvement que la mécanique suppose.
 
une incohérence toutefois :  
l'axe central des deux ciseau. techniquement il y a un axe de rotation, mais cet axe se déplace aussi X et Y. inutuitivement, on pense donc qu'il faudrait 3 axes.
en réalité, chaque "degrès de liberté" listé n'est lié qu'à l'objet, hors de tout référenciel externe. et donc, effectivement, à ce régime là, les axes sont réduit au seul axe de rotation. j'ai mis du temps a comprendre pourquoi "1" et pas "3" sur celle ci.
 
merci pour tout.
 
cordialement.

n°1171216
perag
Posté le 22-12-2014 à 17:20:53  profilanswer
 

Bonjour,
 
Je bosse sur l'optimisation d'un bateau. J'ai un fichier igs avec l'ancienne coque et la nouvelles coque (plus grande). Mon but est de connaitre le volume ajouté. Mais pas possible de faire un remplissage volumique. Je dois avoir des tout petits bouts qui ne sont pas fermés...  
L'un d'entre vous aurait-il une astuce pour être sur que tout est fermé ?
 
J'espère être assez clair dans mes propos mais n'hésitez pas si vous souhaitez avoir plus de précisions.
 
Merci d'avance !

n°1171255
grimms
Posté le 26-12-2014 à 15:35:00  profilanswer
 

Bonjour
Voici une petite contribution
une macro que j'ai cree qui permet de synchroniser les noms de référence et les noms d'instance avec le nom de fichier, ainsi que de renommer les fichiers d'un catproduct en remplaçant une chaines de caractères.  
Attention  
la fonction annule ne marche pas.
il ne doit pas y avoir de fichier en mode visualisation.
après utilisation en mode renommage il y as intérêt a faire un envoyer vers car les fichiers avec les anciens noms ne sont pas supprimer.
faite une sauvegarde de vos fichier avant utilisation de la macro.
 
il faut cree une "listtbox" nommer "part_traite" dans une "userform" nommer "interface"
 
Merci de ne pas supprimer mon nom ni celui de la personne donc j'ai utiliser un bout de code pour crée la boucle.
si vous vouler le fichier catvba je peut le mettre a disposition
 

Code :
  1. '********************************************************
  2. '********************************************************
  3. 'By MarkAF, some code borrowed from forums
  4. 'add rename part and reference By salzard christophe
  5. '********************************************************
  6. Public Prefixe As String
  7. Public Remplacer As String
  8. Public oList As Variant
  9. Option Explicit
  10. Sub CATMain()
  11. On Error Resume Next
  12. 'Declarations
  13. Dim oTopDoc As Document
  14. Dim oTopProd As ProductDocument
  15. Dim oCurrentProd As Product
  16. Dim n As Integer
  17. 'Check if the active document is an assembly, else exit
  18. Set oTopDoc = CATIA.ActiveDocument
  19. If oTopDoc Is Nothing Then
  20.         MsgBox "Must have an assembly open"
  21.         Exit Sub
  22. End If
  23.    
  24.    
  25. If Right(oTopDoc.Name, 7) <> "Product" Then
  26.     MsgBox "Active document should be a product"
  27.     Exit Sub
  28. End If
  29. Set oCurrentProd = oTopDoc.Product
  30. Set oList = CreateObject("Scripting.dictionary" )
  31. CATIA.StatusBar = "Working On" & " " & oCurrentProd.Name
  32. 'ajout de la boite de dialog
  33. Dim message, title, defaultValue As String
  34. Dim msg As String
  35. ' Set prompt.
  36. message = "Entree un prefixe" & vbNewLine & "zero pas de prefixe" & vbNewLine & "Cree par salzard christophe"
  37. ' Set title.
  38. title = "Prefixe"
  39. defaultValue = "0"   ' Set default value.
  40. ' Display message, title, and default value.
  41. msg = InputBox(message, title, defaultValue)
  42. Prefixe = msg
  43. ' If user has clicked Cancel, set myValue to defaultValue
  44. If Prefixe = "0" Then Call RenameSingleLevel(oCurrentProd)
  45. If Prefixe <> 0 Then
  46. message = "Remplacer par" & vbNewLine & "zero pas de renommage" & vbNewLine & "Cree par salzard christophe"
  47. title = "Remplacer"
  48. defaultValue = "0"
  49. msg = InputBox(message, title, defaultValue)
  50. Remplacer = msg
  51. Call RenameSingleLevel(oCurrentProd)    'Call the subroutine, it is a recursive loop
  52. CATIA.StatusBar = "Done"
  53. End If
  54. End Sub
  55. Private Sub RenameSingleLevel(ByRef oCurrentProd As Product)
  56. On Error Resume Next
  57. 'More declarations
  58. Dim ItemToRename As Product
  59. Dim ToRenamePartNumber As String
  60. Dim ToRenamename As String
  61. Dim Tmp As String
  62. Dim NumberOfItems As Long
  63. Dim RenameArray(2000) As String
  64. Dim i As Integer
  65. Dim j As Integer
  66. Dim k As Integer
  67. Dim l As Integer
  68. Dim m As Integer
  69. Dim n As Integer
  70. Dim typ As Integer ' typ = 0 product typ = 1 part
  71. Dim statut As Integer '1 on traite 0 on ne traite pas
  72. Dim iPartDoc As Document
  73. 'Dim part_traite As ListBox
  74. interface.part_traite.Clear
  75. interface.part_traite.AddItem "test"
  76. Set oCurrentProd = oCurrentProd.ReferenceProduct    'You have to work with the "ReferenceProduct" object
  77. NumberOfItems = oCurrentProd.Products.Count
  78. 'Run through this loop once, to set everything to a dummy name, to avoid naming conflicts
  79. For i = 1 To NumberOfItems                             'Cycle through the assembly's children
  80.     Set ItemToRename = oCurrentProd.Products.Item(i)    'Declare which item we are working on
  81.    
  82.     ToRenamePartNumber = ItemToRename.PartNumber        'Get the Part Number
  83.    
  84.    
  85.     If InStr(ToRenamePartNumber, "-_" ) <> 0 Then         'Check for KT #'s, should exist only in CGRs
  86.         ToRenamePartNumber = Left(ToRenamePartNumber, (InStr(ToRenamePartNumber, "-_" ) - 1))
  87.     End If
  88.    
  89.     RenameArray(i) = ToRenamePartNumber                 'Building the list of part names for the numbering loop
  90.    
  91.         k = 0                                               'Numbering Loop
  92.         For j = 1 To i                                      'This loop checks and sets the instance number
  93.             If RenameArray(j) = ToRenamePartNumber Then
  94.             k = k + 1
  95.             End If
  96.         Next
  97.    
  98.     ' recuperation du nom de fichier
  99.     typ = 0
  100.     statut = 0
  101.         If Right(ItemToRename.ReferenceProduct.Parent.Name, 8) = ".CATPart" Then
  102.         ToRenamename = Left(ItemToRename.ReferenceProduct.Parent.Name, Len(ItemToRename.ReferenceProduct.Parent.Name) - 8)
  103.         typ = ".CATPart"
  104.         End If
  105.         If Right(ItemToRename.ReferenceProduct.Parent.Name, 11) = ".CATProduct" Then
  106.         ToRenamename = Left(ItemToRename.ReferenceProduct.Parent.Name, Len(ItemToRename.ReferenceProduct.Parent.Name) - 11)
  107.         typ = ".CATProduct"
  108.         End If
  109.    
  110.     ' simple  synchro
  111.         If Prefixe = "0" Then
  112.         ItemToRename.PartNumber = ToRenamename
  113.         statut = 1
  114.         GoTo synchro
  115.         End If
  116.         'on ne renomme pas un fichier deja fait
  117.         For n = 0 To (interface.part_traite.ListCount - 1)
  118.         If ItemToRename.PartNumber = interface.part_traite.List(n) Then GoTo synchro3
  119.         Next
  120.    
  121.         'detection du texte
  122.         m = Len(ToRenamename) - Len(Prefixe)
  123.             For l = 1 To (m + 1)
  124.                 'mode synchro avec filtrage
  125.                 If Prefixe = Mid(ToRenamename, (l), Len(Prefixe)) And Remplacer = "0" Then
  126.                 ItemToRename.PartNumber = ToRenamename
  127.                 statut = 1
  128.                 GoTo synchro1
  129.                 End If
  130.                 'mode remplacer
  131.                 If Prefixe = Mid(ToRenamename, (l), Len(Prefixe)) And Not Remplacer = "0" And Not Remplacer = Mid(ToRenamename, (l), Len(Remplacer)) Then
  132.                 statut = 1
  133.                 ToRenamename = Left(ToRenamename, (l - 1)) & Remplacer & Right(ToRenamename, (m))
  134.                
  135.                 'on renomme le fichier
  136.                 ItemToRename.PartNumber = ToRenamename
  137.                 CATIA.Application.DisplayFileAlerts = False
  138.                 Call CATIA.Documents.Item(ItemToRename.ReferenceProduct.Parent.Name).SaveAs(ItemToRename.ReferenceProduct.Parent.Path & "\" & ToRenamename)  '& typ
  139.                 Call CATIA.Documents.Item(ItemToRename.ReferenceProduct.Parent.Path & "\" & ToRenamename).Close
  140.                 CATIA.Application.DisplayFileAlerts = True
  141.                
  142.                
  143.                 interface.part_traite.AddItem (ItemToRename.PartNumber)
  144.                
  145.                 GoTo synchro2
  146.                 End If
  147.             Next
  148.             GoTo saut
  149.     'synchro
  150. synchro:
  151. synchro1:
  152. synchro2:
  153. synchro3:
  154.         If statut = 1 Then
  155.         CATIA.StatusBar = ItemToRename.Name & " > " & ToRenamePartNumber & "." & k
  156.         ToRenamePartNumber = ItemToRename.PartNumber
  157.         ItemToRename.Name = ToRenamePartNumber & "TEMP." & k    'Set the new instance name, to a TEMP dummy value
  158.         End If
  159. saut:
  160. Next
  161. 'Run through this loop to set the name finally, then the recursion call
  162. For i = 1 To NumberOfItems
  163.     Set ItemToRename = oCurrentProd.Products.Item(i)
  164.      
  165.     ToRenamePartNumber = ItemToRename.PartNumber        'Toggle these two lines for testing
  166.     'ToRenamePartNumber = ItemToRename.DescriptionRef
  167.    
  168.     RenameArray(i) = ToRenamePartNumber
  169.    
  170.     k = 0
  171.     For j = 1 To i
  172.         If RenameArray(j) = ToRenamePartNumber Then
  173.             k = k + 1
  174.         End If
  175.     Next
  176.    
  177.     CATIA.StatusBar = ItemToRename.Name & " > " & ToRenamePartNumber & "." & k
  178.     ItemToRename.PartNumber = ItemToRename.ReferenceProduct '
  179.    
  180.    
  181.     ItemToRename.Name = ToRenamePartNumber & "." & k    'Set the new instance name final
  182.    
  183.     If ItemToRename.Products.Count <> 0 Then        'Recursive Call
  184.         If oList.exists(ItemToRename.PartNumber) Then GoTo Finish
  185.         If ItemToRename.PartNumber = ItemToRename.ReferenceProduct.Parent.Product.PartNumber Then oList.Add ItemToRename.PartNumber, 1
  186.         Call RenameSingleLevel(ItemToRename)
  187.     End If
  188. Finish:
  189. Next
  190. End Sub

n°1171257
grimms
Posté le 26-12-2014 à 17:10:36  profilanswer
 

marcosenim a écrit :

Salut!! je fait parti d'un projet avec mes collegues de l'ecole, je voudrais savoir qui a été le dernier en modifier une piece mais je peut pas trouver l'outil pour savoir ça. Qq'un/e sait? Merci!!!


si ton serveur de fichier est sur windows tu doit pouvoir récupérer l'info en ajoutant un onglet "modifier par" (de memoire sous windwos xp et 7) dans les attributs qu'affiche l'explorateur de windows

n°1171349
arno894
Posté le 02-01-2015 à 14:47:49  profilanswer
 

Bonjour et bonne année à tous.
Je cherche à obtenir par macro le point milieu d'une droite ou les coordonnées d'un des 2 points d'extrémité. Si quelqu'un voit comment procéder ou si une fonction existe. Merci

n°1171357
jubeat
Mais pousse toi !
Posté le 03-01-2015 à 10:44:06  profilanswer
 

Le point milieu, c'est directement dans la fonction point ("on curve" > cocher l'option "middle point" ). Après, si tu as besoin d'une macro pour automatiser, là je ne sais pas faire, d'autres ici sauront te renseigner...


---------------
War Thunder : Karamazoff
n°1171364
arno894
Posté le 04-01-2015 à 09:39:07  profilanswer
 

Merci de ta réponse. Je connais la fonction mais c'est par macro que je souhaite l'obtenir

n°1171436
Guss_
Posté le 06-01-2015 à 14:15:20  profilanswer
 

NeoSyriuS a écrit :

je viens de regarder l'outil "analyse" / "contrainte" de l'atelier assembly.
la ou je pige pas : 0 degrès de liberté ? mais dans ce cas, comment l'ensemble peut etre "mobile" ? n'est il pas necessaire, a priori, que quelques un de degrès soient préservé ?
j'entends par la que si la piece DOIT etre mobile (déplacé par la mécanique) je dois bien voir ce degrès de liberté apparaitre dans la liste, non ?
 
il y a malgrès tout des axes "en trop" visiblement. pourtant si j'essaye de les contraindre en plus, j'ai un message d'erreur m'affichant que cette contrainte est redondante. c'est a y rien comprendre.
 
cordialement.


 
En fait 0 DDL dans catia veut dire que tu as assigné une contrainte à tous les degrés de liberté possible par ton ensemble.
Si tu as un chiffre >0 c'est que qu'il reste des mouvement entre pièces qui restent indéfinis du coup Catia ne sait pas comment les gérés.
 
Ensuite il faut commander au moins une des contrainte pour que le mécanisme soit simulable (c'est là que tu définiras les limites )

n°1171446
so_xyz
Posté le 07-01-2015 à 11:47:24  profilanswer
 

Salut tout le monde,
 
Voilà je cherche à exporter une image de ma pièce CATIA (fond blanc...) vers mon fichier Excel, le tout en langage VBA.
Ou plus "simplement" pour comprendre la méthodologie : exporter une image que j'ai dans un dossier quelconque dans mon fichier Excel.
 
Si quelqu'un a une idée, c'est avec plaisir  
 
Merci

n°1171455
ptittom
Posté le 07-01-2015 à 14:41:47  profilanswer
 

arno894 a écrit :

Bonjour et bonne année à tous.
Je cherche à obtenir par macro le point milieu d'une droite ou les coordonnées d'un des 2 points d'extrémité. Si quelqu'un voit comment procéder ou si une fonction existe. Merci

 

Bonjour,

 

Pour construire le point:

Sub CreateMiddlePoint(MyLine As HybridShape, oPart As Part)
    Dim HSF As HybridShapeFactory
    Set HSF = oPart.HybridShapeFactory
   
    Dim oRefLine As Reference
    Set oRefLine = oPart.CreateReferenceFromObject(MyLine)
   
    Dim oMiddlePoint As HybridShapePointOnCurve
    Set oMiddlePoint = HSF.AddNewPointOnCurveFromPercent(oRefLine, 0.5, True)
   
    Dim TargetGeoSet As HybridBody
    Set TargetGeoSet = MyLine.Parent.Parent

 

   TargetGeoSet.AppendHybridShape oMiddlePoint
    oMiddlePoint.Name = "Middle_Point"
    oPart.Update
End Sub

 

Pour obtenir les coordonnées des extrémités, il faut sans doute passer par l'étape "construire" les points puis lire les coordonnées.

Sub ReadCoordinates(MyPoint As Point, oPart As Part)
    Dim oMeasurable 'As Measurable
    Dim oSPwb As SPAWorkbench
    Dim oRef As Reference
   
    Set oSPwb = CATIA.ActiveDocument.GetWorkbench("SPAWorkbench" )
    Set oRef = oPart.CreateReferenceFromObject(MyPoint)
    Set oMeasurable = oSPwb.GetMeasurable(oRef)
   
    Dim Coordinates(2)
    oMeasurable.GetPoint Coordinates
   
    MsgBox "(" & Coordinates(0) & ";" & Coordinates(1) & ";" & Coordinates(2) & " )"
   
End Sub

 



Message édité par ptittom le 07-01-2015 à 14:43:01
n°1171729
grimms
Posté le 17-01-2015 à 12:09:35  profilanswer
 

Bonjour
j'aimerez cree une macro pour organiser automatiquement l'arboresence.
est ce que vous pouvez m'indiquer les commandes ou un document autre que celui de catia pour gerer l'arbre

n°1171770
arno894
Posté le 19-01-2015 à 11:42:50  profilanswer
 

Bonjour,
Je cherche à récupérer par macro le nom d'une part sur laquelle je me suis appuyé pour effectuer une réference externe. Si quelqu'un connait une fonction ou as une idée. Merci

n°1171771
ptittom
Posté le 19-01-2015 à 11:59:22  profilanswer
 

grimms a écrit :

Bonjour
j'aimerez cree une macro pour organiser automatiquement l'arboresence.
est ce que vous pouvez m'indiquer les commandes ou un document autre que celui de catia pour gerer l'arbre


 
Bonjour,
C'est vague comme demande...
Je peux donner un début de réponse: en VBA, ce ne sera pas facile. Le seul moyen de déplacer des élements est le "couper/coller" en passant par un objet Selection. Ca ne marche pas pour tout et il y a un risque non négligeable de perdre des liens.
Concernant "un document autre que celui de catia", il n'y a que l'arborescence proposée par CATVBA à disposition. Je parle des objets (Document, Part, Hybridbodies, Hybridshapes, etc) pas de l'arbre de construction.

n°1171772
ptittom
Posté le 19-01-2015 à 12:03:20  profilanswer
 

arno894 a écrit :

Bonjour,
Je cherche à récupérer par macro le nom d'une part sur laquelle je me suis appuyé pour effectuer une réference externe. Si quelqu'un connait une fonction ou as une idée. Merci


 
Bonjour,
 
Il n'est pas possible en VBA de suivre les liens d'une CATPart à l'autre. C'est une restriction de l'interface. Les références externe sont vues comme des éléments isolés. C'est pour quel genre d'application ?
Pour le faire, il faut passer par le CAA.

n°1171773
arno894
Posté le 19-01-2015 à 13:00:31  profilanswer
 

Merci de ta réponse. Je souhaite tout simplement récupérer le nom des parts sur lesquelles je me suis appuyé pour créer une part. Si l'utilsateur souhaite supprimer une part dans un product, je voudrais récupérer l'ensemble des références externes s'appuyant sur cette part et les supprimer dans chacune des parts. Je ne connais pas le CAA, c'est un autre langage de programmation?

n°1171775
ptittom
Posté le 19-01-2015 à 14:09:30  profilanswer
 

arno894 a écrit :

Merci de ta réponse. Je souhaite tout simplement récupérer le nom des parts sur lesquelles je me suis appuyé pour créer une part. Si l'utilsateur souhaite supprimer une part dans un product, je voudrais récupérer l'ensemble des références externes s'appuyant sur cette part et les supprimer dans chacune des parts. Je ne connais pas le CAA, c'est un autre langage de programmation?


 
Je confirme: pas possible en VBA.
CAA est une autre interface de programmation pour catia (basée sur le langage C++) offrant beaucoup plus de possibilités d'interactions. Problème: il faut être un programmeur confirmé et la licence est assez chère.

n°1171868
grimms
Posté le 22-01-2015 à 18:38:08  profilanswer
 

ptittom a écrit :


 
Bonjour,
C'est vague comme demande...
Je peux donner un début de réponse: en VBA, ce ne sera pas facile. Le seul moyen de déplacer des élements est le "couper/coller" en passant par un objet Selection. Ca ne marche pas pour tout et il y a un risque non négligeable de perdre des liens.
Concernant "un document autre que celui de catia", il n'y a que l'arborescence proposée par CATVBA à disposition. Je parle des objets (Document, Part, Hybridbodies, Hybridshapes, etc) pas de l'arbre de construction.


merci

n°1171898
NeoSyriuS
Posté le 24-01-2015 à 01:45:46  profilanswer
 

Re-bonsoir !
Toujours concernant mon "ciseau" : j'ai créé un catproduct avec mon élévateur fonctionnel. Avec une commande donc. Et une seule.
Maintenant je souhaite intégrer ce catproduct dans un autre représentant un meuble dans lequel cet élévateur est utilisé comme pièce mécanique.
La manivelle du cric (c'est un cric l'élevateur en ciseau) doit être rattaché à un axe et une manivelle pour le meuble. Et cette manivelle met en mouvement deux cric mis bout a bout.
Hors, je n'arrive pas a attacher un axe du catproduct "mère" sur la commande du "fils"
J'espère avoir bien explique mon soucis.
 
Cordialement

n°1171925
grimms
Posté le 25-01-2015 à 16:24:34  profilanswer
 

si j'ai bien compris ce que tu veut faire c'est mort tu ne pourra pas cree de contrainte direct entre les deux.
tu peut peut etre t'en sortir en creant un paramètre utiliser par ta manivelle et ton cric

n°1172124
NeoSyriuS
Posté le 02-02-2015 à 12:06:51  profilanswer
 

Curieux. Donc catia refuse la création de sous bloc simule ?
Pourtant en réalité le cric est indépendant du meuble, et cela signifie que quelque soit le concept a simuler nul autre choix que de simuler tout l'ensemble en une seule et unique passe, sans organiser d'arborescence fonctionnelle...
Bon ben ... Y'a plus qu'à alors ...

n°1172146
tinours027
Posté le 03-02-2015 à 10:13:16  profilanswer
 

Bonjour a tous !
j'ai commencé  a lire les post pour trouver une réponse a ma question  mais j'abandonne  je fini a 17h30 ce soir  lol :)  
 
Je dois récupéré la forme  d'une pièce de chaudro aéronautique afin de créé un montage a usiner  J'ai besoin de limiter le nombre d'arêtes de ma géométrie pour éviter de galéré lors de la programmation de l'usinage . Pour cela j'aimerais beaucoup pouvoir fusionner plusieurs faces adjacentes de façon à n'obtenir qu'une seule face sans les arêtes de jonction. Par exemple, imaginons 2 rectangles qui ont un coté commun, j'aimerais en faire un seul rectangle.
 
J'ai testé la fonction assemblage, j'obtiens bien une face mais les arêtes reste.
et avec la fonction remplissage  j'ai bien qu'une seule face mais la géométrie exact n'est pas respecter  même en  ajoutant un point de passage  ( ps c'est une pièce aéro elle fait 950 mm et comporte  une dizaine de face qui forment plusieurs courbure  
 
Si jamais vous avez des idées je vous remercie d'avance.
 
Bonne journée

n°1172154
jubeat
Mais pousse toi !
Posté le 03-02-2015 à 21:19:23  profilanswer
 

A part reconstruire toutes les surface en lissant les courbes de construction, je ne vois pas beaucoup d'autres solutions...


---------------
War Thunder : Karamazoff
n°1172170
tinours027
Posté le 04-02-2015 à 15:51:57  profilanswer
 

merci pour ta réponse
je n'ai jamais utilisé le lissage de courbe  je regarde en ce moment  et je jette un oeil du coté du FreeStyle Optimizer
mais pour le moment rien de satisfaisant
si vous avez d'autres solutions !  

n°1172217
grimms
Posté le 10-02-2015 à 18:52:27  profilanswer
 

tinours027 a écrit :

Bonjour a tous !
j'ai commencé  a lire les post pour trouver une réponse a ma question  mais j'abandonne  je fini a 17h30 ce soir  lol :)  
 
Je dois récupéré la forme  d'une pièce de chaudro aéronautique afin de créé un montage a usiner  J'ai besoin de limiter le nombre d'arêtes de ma géométrie pour éviter de galéré lors de la programmation de l'usinage . Pour cela j'aimerais beaucoup pouvoir fusionner plusieurs faces adjacentes de façon à n'obtenir qu'une seule face sans les arêtes de jonction. Par exemple, imaginons 2 rectangles qui ont un coté commun, j'aimerais en faire un seul rectangle.
 
J'ai testé la fonction assemblage, j'obtiens bien une face mais les arêtes reste.
et avec la fonction remplissage  j'ai bien qu'une seule face mais la géométrie exact n'est pas respecter  même en  ajoutant un point de passage  ( ps c'est une pièce aéro elle fait 950 mm et comporte  une dizaine de face qui forment plusieurs courbure  
 
Si jamais vous avez des idées je vous remercie d'avance.
 
Bonne journée


quand tu a utiliser la fonction assemblage tu a utiliser les option simplification et reduit la tolerance qui par default est a 0.001 (je suppose que tu a fait des assemblage de faces et non de solide)?
Ps selon tes réglages a l'ecran tu peut avoir des faces decaler a celle d'origine alors qu'il n'y as quasiment pas de difference


Message édité par grimms le 10-02-2015 à 19:49:40
n°1172251
so_xyz
Posté le 16-02-2015 à 09:43:38  profilanswer
 

Bonjour à tous,
 
Voilà j'ai une petite question. Je programme en VBA et je souhaiterais savoir la méthode qui me permette de récupérer la taille de mon fichier CATIA (size en Kb).
 
Si quelqu'un à une idée, je suis preneur
 
Merci d'avance.

n°1172255
ptittom
Posté le 17-02-2015 à 11:03:46  profilanswer
 

so_xyz a écrit :

Bonjour à tous,
 
Voilà j'ai une petite question. Je programme en VBA et je souhaiterais savoir la méthode qui me permette de récupérer la taille de mon fichier CATIA (size en Kb).
 
Si quelqu'un à une idée, je suis preneur
 
Merci d'avance.


 
Bonjour,
 
Je ne connais pas de méthode ou propriété permettant de récupérer directement cette information.
Cependant, il est possible de passer par la librairie FileSystemObject pour obtenir la Taille d'un fichier/dossier.
En gros, je ferais une fonction récursive pour récupérer la liste des parts/products contenus dans le document actif. On récupère pour chaque élément le chemin complet (C:\mondossier\MaPart.CATPart). On peut mettre la liste dans une collection par exemple.
 
Ensuite, je fais une boucle pour lire la taille des fichiers Avec une fonction de ce genre (fld est un objet Folder ou file provenant de la dll FileSystemObject )  
 

Code :
  1. Function GetSize(fld As Object) As Double
  2.     Dim LocalSize As Double
  3.     On Error Resume Next
  4.         LocalSize = fld.Size
  5.         If Err.Number <> 0 Then
  6.             LocalSize = 0
  7.         End If
  8.         On Error GoTo 0
  9.     LocalSize = LocalSize / 1024 'ko
  10.     LocalSize = Round(LocalSize / 1024, 1) 'Mo
  11.     GetSize = LocalSize
  12. End Function


 
J'essaye de jeter un oeil aujourd'hui.

n°1172256
ptittom
Posté le 17-02-2015 à 12:05:42  profilanswer
 

so_xyz a écrit :

Bonjour à tous,
 
Voilà j'ai une petite question. Je programme en VBA et je souhaiterais savoir la méthode qui me permette de récupérer la taille de mon fichier CATIA (size en Kb).
 
Si quelqu'un à une idée, je suis preneur
 
Merci d'avance.


 
Bonjour,
 
Ci-dessous une proposition (oui, j'avais un peu de temps à perdre):
 

Code :
  1. Sub CATMain()
  2.     Dim cSizes As New Collection
  3.     Dim oProd As Product
  4.    
  5.     Set oProd = CATIA.ActiveDocument.Product
  6.    
  7.     TraverseProduct oProd, cSizes
  8.     DisplayTotalSize cSizes
  9.    
  10. End Sub
  11. Sub TraverseProduct(oProd As Product, cSizes As Collection)
  12.     Dim I As Integer
  13.     Dim cSubProds As Products
  14.     Set cSubProds = oProd.Products
  15.    
  16.     cSizes.Add GetSize(oProd)
  17.     If cSubProds.Count >= 1 Then
  18.         For I = 1 To cSubProds.Count
  19.             TraverseProduct cSubProds.Item(I), cSizes
  20.         Next
  21.     End If
  22. End Sub
  23. Function GetSize(oProd As Product) As Double
  24.     Dim RefDoc As Document
  25.     Set RefDoc = oProd.ReferenceProduct.Parent
  26.    
  27.     Dim fso As Object 'FileSystemObject
  28.     Dim fl As Object 'File
  29.     Set fso = CreateObject("scripting.FileSystemObject" ) ' late binding
  30.     Set fl = fso.GetFile(RefDoc.Path & "\" & RefDoc.Name)
  31.    
  32.     Dim LocalSize As Double
  33.     On Error Resume Next
  34.         LocalSize = fl.Size
  35.         If Err.Number <> 0 Then
  36.             LocalSize = 0
  37.         End If
  38.         On Error GoTo 0
  39.     LocalSize = LocalSize / 1024 'ko
  40.     'LocalSize = Round(LocalSize / 1024, 1) 'Mo
  41.     GetSize = LocalSize
  42.    
  43. End Function
  44. Sub DisplayTotalSize(cSizes As Collection)
  45.     Dim I As Integer
  46.     Dim Total As Double
  47.     For I = 1 To cSizes.Count
  48.         Total = Total + cSizes.Item(I)
  49.     Next
  50.    
  51.     Debug.Print "Size:" & Round(Total, 2)
  52. End Sub

Message cité 1 fois
Message édité par ptittom le 17-02-2015 à 12:10:29
n°1172319
Bl@ckbird
Posté le 20-02-2015 à 17:43:49  profilanswer
 

Bonjour, une petite question comment récupérer le user name de windows dans catia pour renseigner un parametre ?
Merci d'avance.

n°1172320
Bl@ckbird
Posté le 20-02-2015 à 18:21:29  profilanswer
 

Eu j'abuse ,mais pour automatiser la création de texte à extruder.Il y a une routine ?

n°1172321
Arafat33
Posté le 20-02-2015 à 20:20:16  profilanswer
 

Bonjour à tous,
 
Désolé je me permet de vous soumettre encore une questions sur les macros.
Je souhaiterai créer une macro CATScript en lien avec des fichiers XML.  
 
Actuellement nous avons une application qui extrait les caractéristiques de tolérancement d'un Drawing dans un fichier au format xml.
Voilà à peu près comment se compose chaque bloc du fichier (1 bloc par cote).
 
[...]
<CADAnnotation>
   <blabla>xxxx</blabla>
   <blabla2>xxxx</blabla2>
   ...
   <Key>false</Key>
   ...
   <ValueString>10 #A#</ValueString>
   ...
   <blablaN>xxxx</blablaN>
</CADAnnotation>
[...]
 
 
C'est pas mal, mais je souhaiterai en plus avoir une macro qui :
- Parcours le fichier xml souhaité (chemin indiqué via l'explorateur windows?)
- Check s'il y a le champ #A# dans la ligne "ValueString" contenue dans chaque bloc
- Si c'est le cas, elle positionne la ligne "Key" à true.
 
Sauriez-vous comment pourrais-je me lancer?  
Merci à vous :) :)
 

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  227  228  229  ..  233  234  235  236  237  238

Aller à :
Ajouter une réponse
 

Sujets relatifs
Transfert de donnees 3D texturees entre Catia et 3DSMAX6[Blender] Besoin d'aide !
De l'aide sur une Recherche..:: Topic des Publivores ::..
[Toshop] Besoin d'aide pour faire un dégradéCatia - Commande pour masquer tous les plans?!!!
Conseils / remarques sur ma maquette (site geo expert)topic unique de l' acréatique-chronique
[REGLE][FLASH]Demande de conseils 
Plus de sujets relatifs à : [Support] Catia : trucs, astuces, conseils, aide


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR