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

 


 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  229  230  231  232  233  234
Page Suivante
Auteur Sujet :

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

n°1179881
aureliie
Posté le 15-02-2017 à 22:23:16  profilanswer
 

Reprise du message précédent :
Bonjour,
 
J'aimerais créer un standard de taraudage dans la fonction perçage de Catia V5 en ajoutant des paramétrage sur les profondeurs de taraudage et les profondeurs de trous. Je me demande si c'est possible et si oui comment ? :)

mood
Publicité
Posté le 15-02-2017 à 22:23:16  profilanswer
 

n°1179883
Pims_UTT
Posté le 16-02-2017 à 11:36:00  profilanswer
 

Je ne sais pas si on peut paramétrer les taraudages dans Catia. Il y a les paramètres métriques de base, mais c'est pas exactement ce que tu veux.
 
C'est quoi ton projet? T'assurer que les utilisateurs respectent bien les règles de conception?

n°1179885
aureliie
Posté le 16-02-2017 à 13:04:12  profilanswer
 

Je voudrais faire (dans le même style que les paramétrage métrique de base) un standard pour implanter des filets rapportés suivant un standard défini dans mon entreprise. J'ai réutiliser le fichier .txt pour mettre mes nouvelles valeurs, pour tout ce qui est diamètre et pas, j'ai aucun soucis. Je voudrais juste rajouter "2 colonnes" pour paramétrer les longueurs, et là je bloque :)

n°1179917
grimms
Posté le 18-02-2017 à 17:29:31  profilanswer
 

faut modifier ou cree un fichier dans le repertoire "reffiles_standard"
 
j'ai cree unfichier gaz pour le profil gaz

Code :
  1. NominalDiam Pitch Minordiam G
  2. 7.723 0.907 6.561 G1/16
  3. 9.728 0.907 8.566 G1/8
  4. 13.157 1.337 11.445 G1/4
  5. 16.662 1.337 14.950 G3/8
  6. 20.955 1.814 18.631 G1/2
  7. 22.911 1.814 20.587 G5/8
  8. 26.441 1.814 24.117 G3/4
  9. 30.201 1.814 27.877 G7/8
  10. 33.249 2.309 30.291 G1
  11. 37.897 2.309 34.939 G1 1/8
  12. 41.910 2.309 38.952 G1 1/4
  13. 44.323 2.309 41.365 G1 3/8
  14. 47.803 2.309 44.845 G1 1/2
  15. 53.746 2.309 50.788 G1 3/4
  16. 59.614 2.309 56.656 G2


n°1179936
aureliie
Posté le 20-02-2017 à 17:18:48  profilanswer
 

Merci. Cette partie là j'avais réussi. Ce que je souhaiterais faire c'est ajouter (si c'est possible, et il est là le problème) des valeurs dans ce fichier pour paramétrer mes longueurs de profondeur de trous et de taraudage (les deux seules cases restant blanche dans la fonction trou sur l'onglet taraudage).  

n°1179951
grimms
Posté le 22-02-2017 à 06:35:11  profilanswer
 

excuse javait mal lu. pour cette partie j'ai pas trouver mais effectivement ca serait bien

n°1179971
lalan28200
╭∩╮(◣_◢)╭∩╮
Posté le 24-02-2017 à 13:49:54  profilanswer
 

Drap =)


---------------
Steam : lalan2820 / Pseudo LoL : lalan / 600 Bandit Bleu 2001 / Mon stream
n°1179980
gandilfleg​ras
Posté le 26-02-2017 à 12:38:16  profilanswer
 

Peau =)


---------------
                                                Faites plaisir à vos yeux
n°1180011
kujr
le troll des cimetières
Posté le 03-03-2017 à 12:07:36  profilanswer
 

bonjour, j'ai un problème dans les assemblage sur catia V5,  
j'ai paramétré une pièce de différentes façon quand je les mets dans un assemblage, si j'en change une sa change les autres, y a t'il un moyen comme sur SW que chaque pièce de même ref soit dans une config différentes ou pas , et je me dois d'avoir un nombre de part conséquent.
ex: tube, vis ...
 

n°1180014
jubeat
Mais pousse toi !
Posté le 03-03-2017 à 16:13:08  profilanswer
 

Non, dans un même assemblage, une même référence pointe sur la même pièce, on appelle ça des instances. Si tu modifies la part, toutes les instances sont modifiées en même temps. Je ne vois pas d'autre solution que de prendre une autre référence (copy-paste/break link) puis de changer ton ou tes paramètres.


---------------
War Thunder : Karamazoff
mood
Publicité
Posté le 03-03-2017 à 16:13:08  profilanswer
 

n°1180091
lalan28200
╭∩╮(◣_◢)╭∩╮
Posté le 08-03-2017 à 10:09:02  profilanswer
 

J'ai une petite question, si je modifie une piece et qu'un collegue a un assemblage ouvert avec cette piece. Est il possible de re-charger la piece que je viens de modifier dans l'assemblage sans devoir le fermer / ouvrir ?  
Je sais pas si c'est clair ce que je demande ^^


---------------
Steam : lalan2820 / Pseudo LoL : lalan / 600 Bandit Bleu 2001 / Mon stream
n°1180093
Pims_UTT
Posté le 08-03-2017 à 11:36:55  profilanswer
 

lalan28200 a écrit :

J'ai une petite question, si je modifie une piece et qu'un collegue a un assemblage ouvert avec cette piece. Est il possible de re-charger la piece que je viens de modifier dans l'assemblage sans devoir le fermer / ouvrir ?  
Je sais pas si c'est clair ce que je demande ^^


 
Tu travailles avec des fichiers partagés ou avec un PLM/PDM?
 
Si c'est en mode fichiers (exemple, les fichiers sont sur un partage Windows), il me semble qu'il y a un verrouillage au niveau de Windows pour dire que le fichier est utilisé. Du coup, je ne suis pas sûr que vous puissiez ouvrir en même temps le même fichier.
 
Si c'est avec un PLM, ça va dépendre du PLM.
Par exemple, sur Smarteam une bille rouge apparaitra chez ton collègue pour lui dire qu'il n'a pas la dernière version de la pièce (sous-entendu, fait une mise à jour pour récupérer la dernière version). Y'a une commande qui permet de switcher de version sans devoir tout recharger.

n°1180094
lalan28200
╭∩╮(◣_◢)╭∩╮
Posté le 08-03-2017 à 11:59:05  profilanswer
 

Pims_UTT a écrit :


 
Tu travailles avec des fichiers partagés ou avec un PLM/PDM?
 
Si c'est en mode fichiers (exemple, les fichiers sont sur un partage Windows), il me semble qu'il y a un verrouillage au niveau de Windows pour dire que le fichier est utilisé. Du coup, je ne suis pas sûr que vous puissiez ouvrir en même temps le même fichier.
 
Si c'est avec un PLM, ça va dépendre du PLM.
Par exemple, sur Smarteam une bille rouge apparaitra chez ton collègue pour lui dire qu'il n'a pas la dernière version de la pièce (sous-entendu, fait une mise à jour pour récupérer la dernière version). Y'a une commande qui permet de switcher de version sans devoir tout recharger.


 
Merci pour ta reponse pims_utt.


---------------
Steam : lalan2820 / Pseudo LoL : lalan / 600 Bandit Bleu 2001 / Mon stream
n°1180098
jubeat
Mais pousse toi !
Posté le 08-03-2017 à 21:23:56  profilanswer
 

Pour moi, sans PLM, sur un dossier partagé, 2 personnes peuvent ouvrir le même fichier et le modifier, le dernier qui enregistre a gagné (si les deux ont les droits d'écriture dans le dossier, bien sûr).
 
Par contre, si ton collègue a modifié et enregistré la pièce, tu peux utiliser la commande unload puis load, ça va recharger la pièce à jour. Mais quelques fois, je ne sais plus pourquoi, cette commande ne marche pas. Je crois que ça ne fonctionne pas si tu as modifié la pièce aussi, ou même seulement si tu l'as passée en design mode... A vérifier.
On utilisait aussi cette fonction avec un PLM Enovia.


---------------
War Thunder : Karamazoff
n°1180101
viivkowski
Posté le 09-03-2017 à 12:05:14  profilanswer
 

Bonjour,
 
Je ne sais pas si c'est le meilleur endroit pour poser ma question, mais n'ayant rien trouvé de mieux je tente ma chance.
 
Je recherche desesperement une option sur catia qui n'est semble-t-il pas activée par défaut.
 
Je crée une projection d'un solide 3D sur une autre pièce. J'aimerais que toute modification de ma pièce source se répercute automatiquement sur la vue projetée. Je n'ai pas trouvé de solution...
 
Merci à tous!

n°1180119
grimms
Posté le 12-03-2017 à 08:43:57  profilanswer
 

salut  
peu etre  dans outils/option/infrastructure/infrastructure part  
cochez la case "garder le lien avec l'objet selectionné"
 
j'en ai besoin sous delmia pour la representation des tyuaux mais en etude je le desactive c'est trop lourd.


Message édité par grimms le 12-03-2017 à 08:44:56
n°1180129
jubeat
Mais pousse toi !
Posté le 12-03-2017 à 22:43:39  profilanswer
 

Et pour moi, il faut publier le body avant de le copier dans la seconde pièce puis de le projeter. En tout cas, c'est comme ça qu'on fait pour les symétriques...


---------------
War Thunder : Karamazoff
n°1180212
ptittom
Posté le 22-03-2017 à 11:52:36  profilanswer
 

viivkowski a écrit :

Bonjour,
 
Je ne sais pas si c'est le meilleur endroit pour poser ma question, mais n'ayant rien trouvé de mieux je tente ma chance.
Je recherche desesperement une option sur catia qui n'est semble-t-il pas activée par défaut.
Je crée une projection d'un solide 3D sur une autre pièce. J'aimerais que toute modification de ma pièce source se répercute automatiquement sur la vue projetée. Je n'ai pas trouvé de solution...
Merci à tous!


 
Bonjour,
 
Désolé pour la réponse tardive, je ne passe pas souvent sur ce topic. Pour conserver un lien entre l'élément original et la copie, il faut effectuer un copier/coller un peu spécial:

  • copier le solide désiré
  • dans l'autre pièce, utiliser le menu contextuel pour faire un "Paste Special" et choisir "as result with link".


Il y a certaines options (Outils > Options) pour gérer un peu les liens: c'est dans la rubrique Infrastructure > infrastructure part puis dans l'onglet Général

  • Keep link with selected object: pour créer le lien automatiquement quand un object utilisé dasn une opération provient d'une autre part.
  • Confirm when creatinf a link with selected object: pour afficher une fenêtre de confirmation dans le cas précédent
  • Use root context in assembly (déconseillé): pour utiliser le produit principal comme contexte lorsque des liens sont crées. C'est sub-optimal quand on bosse avec des structures un peu complexe. Les contextes se perdent assez rapidement.
  • Restrict external selection with link to published elements: pour n'avoir le droit d'utiliser uniquement des éléments publiés en provenance d'autre pièce. C'est un peu lourd en pratique. Ca a l'avantage de publier systématiquement les éléments qui seront utilisé ailleurs.
  • allow publication of faces, edges, vertices and axes extremities: pour avoir le droit de publier des BREP. Je déconseille car ce genre d'éléments conduits souvent à des problèmes d'update en cas de modifications


Indépendemment des options, on peut toujours créer un lien comme expliqué plus haut avec "Paste special > as result with link".


Message édité par ptittom le 22-03-2017 à 11:55:05
n°1180221
getget
Il y en a qui ont essayé ...
Posté le 24-03-2017 à 13:42:31  profilanswer
 

Bonjour, je cherche un guide sur l’installation, la configuration et l'utilisation d'Enovia (c'est bien le PLM intégré à Catia ?)

 

J'ai des licences EX2 sur serveur de licence et le but est de pouvoir travailler en collaboratif sans tout casser à chaque fois qu'un étudiant modifie une pièce quelque part ...

 

Je suis en V5-6R2013


Message édité par getget le 24-03-2017 à 13:52:57

---------------
Gamertag : Getget94 - PSN : Getget1980 - Nintendo Network : Getget1980 - Uplau : Getget1980
n°1180589
getget
Il y en a qui ont essayé ...
Posté le 10-05-2017 à 10:22:17  profilanswer
 

Bonjour, j'ai un soucis, j'ai mon arbre qui a dézoomé au point de ne plus pouvoir le sélectionner pour zoomer, je ne trouve pas d'option pour lui remettre sa taille par défaut :(


---------------
Gamertag : Getget94 - PSN : Getget1980 - Nintendo Network : Getget1980 - Uplau : Getget1980
n°1180590
Pims_UTT
Posté le 10-05-2017 à 11:12:16  profilanswer
 

Clique sur le repère blanc en bas à droite de l'écran, le zoom se remettra sur l'arbre et tu pourras zoomer pour le remettre à une taille lisible.
Re-clique dessus pour repasser le zoom sur le 3D.
 
Sinon, tu peux supprimer les CATSettings mais c'est plus bourrin :o

n°1180592
getget
Il y en a qui ont essayé ...
Posté le 10-05-2017 à 17:04:16  profilanswer
 

Impeccable merci :)


---------------
Gamertag : Getget94 - PSN : Getget1980 - Nintendo Network : Getget1980 - Uplau : Getget1980
n°1180596
ptittom
Posté le 11-05-2017 à 09:51:47  profilanswer
 

Pims_UTT a écrit :

Clique sur le repère blanc en bas à droite de l'écran, le zoom se remettra sur l'arbre et tu pourras zoomer pour le remettre à une taille lisible.
Re-clique dessus pour repasser le zoom sur le 3D.


 
La fonction "Fit all in" fonctionne aussi dans ce mode là au fait: ca zoome pour voir l'ensemble de l'arbre de construction.
 
Sinon, pour zoomer sur l'arbre sans changer de mode (geométrie / arbre de construction): cliquer sur une branche de l'arbre de construction et maintenir enfoncer le bouton gauche de la souris puis faire un clic de la roulette: monter pour zoomer, descendre pour dézoomer.


Message édité par ptittom le 11-05-2017 à 09:55:10
n°1180624
Mr-blonde
Posté le 16-05-2017 à 11:05:54  profilanswer
 

Bonjour à tous,  
 
Voila, j'ai récupéré une macro en VBScript pour la création de texte 3D. Elle fonctionne correctement, mais il lui manque la gestion de taille de la polices... Ce qui est déjà bien, mais pas top :)  
 
Berfe, je m'y connais pas suffisamment en macro... Quelqu'un aurait une aide à donner pour completer cette macro?  
 
la dite macro :
 
' 3D text, (c) ema, lm:19.5.2010, V3
'
' path to the Part with fonts definitions 3DTEXT.CATPart
font_catpart_definition="D:\Mes Documents\CATIA\Macro CATIA V5\texte 3d catia\E3DTEXT.CATPart"
'
dbg=false
'
Language="VBSCRIPT"
Sub CATMain()
' *************************************************************************************
  On Error Resume Next
  test=1000*55.5+2345.678
  if(Err.Number<>0)then
    msgbox "Sorry, catia program overflow." & vbCrLf & "Restart catia and try again.", ,msgboxtext
    overflow=true
    Exit Sub
  else
    overflow=false
  end if
  On Error Goto 0
  CATIA.DisplayFileAlerts =false
' ******************************* variables *******************************************
  Set objNetwork = CreateObject("Wscript.Network" )
  msgboxtext="e3Dtext - V2"
  dim char_sur(99)
' ******************************* test if part is open ********************************
  If CATIA.Documents.Count = 0 Then
    MsgBox "There is no CATIA Part file open.  Open a Part file and run this script again.", ,msgboxtext
    Exit Sub
  End If
  If InStr(CATIA.ActiveDocument.Name, ".CATPart" ) < 1 Then
    MsgBox "Active CATIA Document is not a Part.  Open a Part file and run this script again.", ,msgboxtext
    Exit Sub
  End If
' ******************************* variables *******************************************
  set docs=CATIA.Documents
  set cad2=CATIA.ActiveDocument
  set sel2=cad2.Selection
  'Set hb2=cad2.Part.InWorkObject
  Set hsf2=cad2.Part.HybridShapeFactory
  Set vis2=cad2.Selection.VisProperties
  Set spa2=cad2.GetWorkbench("SPAWorkbench" )
  Set prt2=cad2.Part
  Set bodies1=prt2.Bodies
  Set axisSyst2=prt2.AxisSystems
  dim surOut(999),lnOut(999)
  demo=0
  On Error Goto 0
' ******************************* open 3DTEXT.CATPart *********************************
  On Error Resume Next
  Set cad1=docs.Open(font_catpart_definition)
  if(Err.Number<>0)then
    msgbox "Can't open the part with fonts definitions [" & font_catpart_definition & "]." & vbCrLf & _
           "Check the variable [font_catpart_definition] setting on 3th macro line and start macro again.", ,msgboxtext
    exit sub
  end if
  On Error Goto 0
  set sel1=cad1.Selection
  Set hsf1=cad1.Part.HybridShapeFactory
  Set prt1=cad1.Part
  set param1=prt1.Parameters
  cad2.activate()
' ******************************* load parameters *************************************
  text_spaces=0
  text_hight=0
  space_width=0
  For i = 1 to param1.Count
    if(InStrRev(param1.Item(i).Name,"text spaces" ))then text_spaces=param1.Item(i).value
    if(InStrRev(param1.Item(i).Name,"text hight" )) then text_hight =param1.Item(i).value
    if(InStrRev(param1.Item(i).Name,"space width" ))then space_width=param1.Item(i).value
'    if(InStrRev(param1.Item(i).Name,"text ratio" ))then text_ratio =param1.Item(i).value
'    if(InStrRev(param1.Item(i).Name,"text ratio" )) then set param_text_ratio =param1.Item(i)
  Next
  if(text_spaces=0)then
    msgbox "Parameter named [text spaces] not found." & vbCrLf & _
           "Can't define text spaces value." & vbCrLf & _
           "Check parameters in 3DTEXT.CATPart and start macro again.", ,msgboxtext
    exit sub
  end if
  if(text_hight=0)then
    msgbox "Parameter named [text hight] not found." & vbCrLf & _
           "Can't define text hight value." & vbCrLf & _
           "Check parameters in 3DTEXT.CATPart and start macro again.", ,msgboxtext
    exit sub
  end if
  if(space_width=0)then
    msgbox "Parameter named [space width] not found." & vbCrLf & _
           "Can't define text space width value." & vbCrLf & _
           "Check parameters in 3DTEXT.CATPart and start macro again.", ,msgboxtext
    exit sub
  end if
'  if(text_ratio=0)then
'    msgbox "Parameter named [text ratio] not found." & vbCrLf & _
'           "Can't define text space scale ratio value." & vbCrLf & _
'           "Check parameters in 3DTEXT.CATPart and start macro again.", ,msgboxtext
'    exit sub
'  end if
' ******************************* select curve/edge ***********************************
  sel2.Clear
  Dim InputObjectType(2)
  InputObjectType(0)="BiDimFeatEdge"
  InputObjectType(1)="TriDimFeatEdge"
  InputObjectType(2)="HybridShapeCurveExplicit"
  Status=sel2.SelectElement2(InputObjectType,">>>>>>>>>>>>>> Select a curve <<<<<<<<<<<<<<",false)
'  Status=sel2.Search("n:Curve.1,all" )
  if (Status = "Cancel" ) then Exit Sub
  Set crv = sel2.Item(1).Reference
' ******************************* select crv end point ********************************
if false then ' *** debug  ***
  n=2
  Set hb2 = prt2.HybridBodies.Add()
  prt2.Update
else
  Set hb2 = prt2.HybridBodies.Add()
  prt2.Update
  Set pt1= hsf2.AddNewPointOnCurveFromPercent(crv,0.0,true)
  hb2.AppendHybridShape pt1
  Set pt2= hsf2.AddNewPointOnCurveFromPercent(crv,1.0,true)
  hb2.AppendHybridShape pt2
  prt2.Update
  sel2.Clear
  sel2.Add pt1
  sel2.Add pt2
  vis2.SetSymbolType 4
  vis2.SetRealColor 0,255,0,1
  sel2.Clear
  Dim InputObjectType2(0)
  InputObjectType2(0)="ZeroDimFeatVertexOrWireBoundaryMonoDimFeatVertex"
  n=0
  msg = ">>>>>>>>>>>>>> Select the end of the curve - text starting point. <<<<<<<<<<<<<<"
  do
    Status=sel2.SelectElement2(InputObjectType2,msg,false)
    if (Status = "Cancel" ) then
      sel2.clear
      sel2.add hb2
      sel2.delete
      Exit Sub
    End If
    set pt=cad2.Part.FindObjectByName(sel2.Item(1).reference.parent.name)
    If (pt1.name = pt.name) Then n = 1
    If (pt2.name = pt.name) Then n = 2
    msg = ">>>>>>>>>>>>>> Invalid selection, Select the end of the curve to extract <<<<<<<<<<<<<<"
  loop while(n=0)
  hsf2.DeleteObjectForDatum pt1
  hsf2.DeleteObjectForDatum pt2
end if
' ******************************* select surface **************************************
  sel2.Clear
  Dim InputObjectType1(0)
  InputObjectType1(0)="BiDim"
  Status=sel2.SelectElement2(InputObjectType1,">>>>>>>>>>>>>> Select an surface <<<<<<<<<<<<<<",false)
'  Status=sel2.Search("n:Surface.37,all" )
  if (Status = "Cancel" ) then Exit Sub
  Set sur = sel2.Item(1).Reference
' ******************************* key 3D text *****************************************
'  str1 = "aBcD"
'  str1 = "pokusny text na psani slov"
  str1=InputBox("key 3D text ",msgboxtext,"" )
  if(str1 = "" )then
    msgbox "invalid text or empty !", ,msgboxtext
    exit sub
  end if
' ******************************* select tooling direction ****************************
  Dim InputObjectTypeDir(2)
  InputObjectTypeDir(0)="Line"
  InputObjectTypeDir(1)="RectilinearMonoDimFeatEdge"
  InputObjectTypeDir(2)="RectilinearTriDimFeatEdge"
  rc=msgbox("    Select tooling direction .......... YES" & vbCrLf & _
            "    Use normal direction .............. NO" & vbCrLf,vbYesNoCancel+vbDefaultButton1 ,msgboxtext)
  if(rc = vbCancel)then Exit Sub
  if(rc = vbYes)then
    Status=sel2.SelectElement2(InputObjectTypeDir,"Select an axis or line to set the tooling direction",false)
    if(Status = "Cancel" )then Exit Sub
    normalDir=false
    'On Error Resume Next
    set dir = sel2.Item(1).reference
    'Set dirX = hsf2.AddNewDirection(dir)
    'if(Err.Number<>0)then
    '  msgbox "invalid element for direction selected" & vbCrLf & "select line or axis", ,msgboxtext
    '  exit sub
    'end if
    'On Error Goto 0
  else
    normalDir=true
  end if
' ******************************* text prism height ***********************************
  do  
    parValue="5,5"
    parValue = InputBox("Key text prism height H1,H2:",msgboxtext, parValue)
      if(parValue = "" )then
        msgbox "escape or invalid height !", ,msgboxtext
        exit sub
      end if
    i=InStr(parValue,"," )
    if i=0 then
      H1=cdbl(parValue)
      H2=0
    else
      H1=cdbl(mid(parValue,1,i-1))
      H2=cdbl(mid(parValue,i+1))
    end if
    if H1+H2=0 then
        msgbox "invalid height values !" & vbCrLf & "H1=" & H1 & vbCrLf & "H2=" & H2 & vbCrLf & "sum H1+H2 must be <> 0", ,msgboxtext
    else
      exit do
    end if
  loop while true
' ******************************* load characters & numbers ***************************
  sel1.Clear
  sel1.Add prt1.HybridBodies.Item("fonts" )
  sel1.Copy  
  sel2.clear
  sel2.add prt2
  sel2.Paste()
  Status=sel2.Search("t:surface,sel" )
  nfonts=sel2.count
  if nfonts=0 then
    msgbox "Can't define character shape." & vbCrLf & _
           "Nubmer of surfaces-fonts defined in geometrical set [fonts] in 3DTEXT.CATPart is 0." & vbCrLf & _
           "Check 3DTEXT.CATPart and start macro again.", ,msgboxtext
    exit sub
  end if  
  for i=1 to nfonts
    set char_sur(i)=sel2.item(i).value
  next
''msgbox char_sur(1).name & " " & char_sur(2).name  & " " & nfonts
  cad1.close
' ******************************* get text & crv length *******************************
  if overflow then
    dist=len(str1)*5-1
  else
    dist=0
    for i=1 to len(str1)
      char1=ucase(mid(str1,i,1))
      k=0
      for j=1 to nfonts
        if(char1=left(char_sur(j).name,1))then k=j
      next
      if(k=0)then
        char_width=space_width
      else
        if demo=1 then k=1
        char_width=mid(char_sur(k).name,2)
      end if
      dist=dist+char_width+text_spaces
    next
    text_length=dist-text_spaces
    Set M0 = spa2.GetMeasurable(crv)
    crv_length = M0.Length
    text_ratio=crv_length/text_length
  end if
'msgbox text_length & " " & crv_length & " " &  text_ratio
'text_ratio=1
' ******************************* nhr *************************************************
  Set specsAndGeomWindow1 = CATIA.ActiveWindow
  Set viewer3D1 = specsAndGeomWindow1.ActiveViewer
  Set viewpoint3D1 = viewer3D1.Viewpoint3D
  viewer3D1.RenderingMode = catRenderWireFrame
' ******************************* go **************************************************
  Set axis1 = axisSyst2.Add()
  prt2.UpdateObject axis1
  AxisDirection=2
  num=0
  do while true
    if AxisDirection=2 then
      AxisDirection=0
    else
      AxisDirection=2
    end if
    dist=0
    if n=1 then
      if overflow then  
        dist=324
      else
        dist=crv_length
      end if
    end if  
    Set pt = hsf2.AddNewPointOnCurveFromDistance(crv,dist,False)
    hb2.AppendHybridShape pt
  '  prt2.Update  
    if n=1 then
      Set lnNormal=hsf2.AddNewLineNormal(sur,pt,0.0,-10.0,False)
    else
      Set lnNormal=hsf2.AddNewLineNormal(sur,pt,0.0,10.0,False)
    end if
    hb2.AppendHybridShape lnNormal
  '  prt2.Update  
  '  if n=1 then
  '    Set lnTangency = hsf2.AddNewLineTangency(crv,pt,0.0,-10.0,False)
  '  else
      Set lnTangency = hsf2.AddNewLineTangency(crv,pt,0.0,10.0,False)
  '  end if
    hb2.AppendHybridShape lnTangency
    prt2.Update  
    Set axis2 = axisSyst2.Add()
    axis2.OriginType = catAxisSystemOriginByPoint
    axis2.OriginPoint = pt
    if n=1 then
      axis2.XAxisType = 2
    else
      axis2.XAxisType = 0
    end if
  '  axis2.XAxisType = catAxisSystemAxisOppositeDirection
    axis2.XAxisDirection = lnTangency
    axis2.YAxisType = 0
    axis2.ZAxisType = AxisDirection
    axis2.ZAxisDirection = lnNormal
    prt2.UpdateObject axis2
    hsf2.GSMVisibility pt,0
    hsf2.GSMVisibility lnNormal,0
    hsf2.GSMVisibility lnTangency,0
    prt2.Update  
    sel2.clear
    sel2.add axis2
    vis2.SetShow 1
    'hsf2.GSMVisibility axis2,0
    for i=1 to len(str1)
      char1=ucase(mid(str1,i,1))
      k=0
      for j=1 to nfonts
        if(char1=left(char_sur(j).name,1))then k=j
      next
      if(k=0)then
        char_width=space_width
      else
        if demo=1 then k=1
        char_width=mid(char_sur(k).name,2)
      end if
      if overflow then
        if n=1 then
          dist=dist-2
        else
          dist=dist+2
        end if
      else
        if n=1 then
          dist=dist-text_ratio*char_width/2
        else
          dist=dist+text_ratio*char_width/2
        end if
      end if
      pt.Ratio.value=dist
      prt2.Update
      if(k>0)then
        Set reference1 = prt2.CreateReferenceFromObject(char_sur(k))
        Set reference2 = prt2.CreateReferenceFromObject(axis1)
        Set reference3 = prt2.CreateReferenceFromObject(axis2)
        Set AxisToAxis1 = hsf2.AddNewAxisToAxis(reference1,reference2,reference3)
        hb2.AppendHybridShape AxisToAxis1
        prt2.Update  
        num=num+1
        if num>999 then
          msgbox "Program limitation/error, number of characters overflow 999.", ,msgboxtext
          exit sub
        end if
        if overflow then
          Set surOut(num)=hsf2.AddNewSurfaceDatum(AxisToAxis1)
        else
          Set hybridShapeScaling1 = hsf2.AddNewHybridScaling(AxisToAxis1,pt,text_ratio)
          hb2.AppendHybridShape hybridShapeScaling1
          prt2.Update  
          Set surOut(num)=hsf2.AddNewSurfaceDatum(hybridShapeScaling1)
        end if
        Set lnOut(num)=hsf2.AddNewLineDatum(lnNormal)
        hb2.AppendHybridShape lnOut(num)
        hb2.AppendHybridShape surOut(num)
        prt2.Update  
        if not overflow then hsf2.DeleteObjectForDatum hybridShapeScaling1
        hsf2.DeleteObjectForDatum AxisToAxis1
      end if
      if overflow then
        if n=1 then
          dist=dist-3
        else
          dist=dist+3
        end if
      else
        if n=1 then
          dist=dist-text_ratio*char_width/2-text_ratio*text_spaces
        else
          dist=dist+text_ratio*char_width/2+text_ratio*text_spaces
        end if
      end if
    next
' ******************************* b o d y  ********************************************
    Set body1 = bodies1.Add()
    Set sf = prt2.ShapeFactory
    prt2.Update
    for i=1 to num
      Set bnd = hsf2.AddNewBoundaryOfSurface(surOut(i))
      hb2.AppendHybridShape bnd
      Set pad1 = sf.AddNewPadFromRef(bnd,H1)
      pad1.SetProfileElement bnd
      pad1.SecondLimit.Dimension.Value=H2
      if normalDir then  
        pad1.SetDirection lnOut(i)
      else
        pad1.SetDirection dir
      end if
    next
    prt2.Update
' ******************************* invert **********************************************
    rc=msgbox("Invert 3D text ?" & vbCrLf & "  YES ... invert" & vbCrLf & "  NO .... exit  ",vbYesNo,msgboxtext)
    sel2.clear
    if(rc = vbNo)then
      sel2.Add prt2.HybridBodies.Item("fonts" )
      sel2.add axis2
      sel2.add lnNormal
      sel2.add lnTangency
      sel2.add pt
      sel2.delete
      sel2.add hb2
      vis2.SetShow 1
      Exit Sub
    end if
    num=0
    sel2.add body1
    sel2.add hb2
    sel2.add axis2
    sel2.delete
    Set hb2 = prt2.HybridBodies.Add()
    prt2.Update
  loop
' *************************************************************************************
' ******************************* E  N  D *********************************************
' *************************************************************************************
End Sub
 
 
 
Voila, toute aide est la bienvenu :) et comme ca peut être utile à d'autre, je poste ca ici.
 
Merci

n°1180640
daniel-12
Posté le 17-05-2017 à 21:25:09  profilanswer
 

Bonsoir
j'utilise catia, et je voudrais, lors de l'utilisation de Word ouvrir une pièce sous catia.
 
j'ai donc fais une macro ne VBA qui me permet de recuperer une string
cette string est tout simplement l'arborescence du fichier
ex: \\monserveur\rep\piece1.CATpart
 
avec certains fichiers j'utilise un simple shell (c:/prog.exe monfichier.xxx)
 
 
mais avec catia cela ne marche pas
-je suis en fait obligé de lancer catia de façon spécifique pour activer les licences
 
Autre soucis, si Catia est ouvert, la méthode avec shell ne fonctionne pas non plus
si je le tente, catia s'ouvre a nouveau dans une nouvelle fenetre
 
Bref
quelle est la ligne de commande (ou méthode) en VBA pour ouvrir un CATpart avec le logiciel CATIA déjà ouvert
 

n°1180645
Pims_UTT
Posté le 17-05-2017 à 23:34:53  profilanswer
 

daniel-12 a écrit :


mais avec catia cela ne marche pas
-je suis en fait obligé de lancer catia de façon spécifique pour activer les licences


 
C'est du à la manière que Catia a de démarrer. Faut pas lancer l'exécutable de Catia (CNEXT.EXE) directement mais son launcher (CATSTART.EXE)  :pt1cable:  
La commande ressemble à ça (propriétés de mon raccourci Catia en install standard, je te laisse l'adapter pour ton environnement):

Code :
  1. "C:\Program Files\Dassault Systemes\B19\win_b64\code\bin\CATSTART.exe"  -run "CNEXT.exe" -env CATIA.V5R19.B19 -direnv "C:\ProgramData\DassaultSystemes\CATEnv" -nowindow


 
 

daniel-12 a écrit :


Autre soucis, si Catia est ouvert, la méthode avec shell ne fonctionne pas non plus
si je le tente, catia s'ouvre a nouveau dans une nouvelle fenetre
 
Bref
quelle est la ligne de commande (ou méthode) en VBA pour ouvrir un CATpart avec le logiciel CATIA déjà ouvert
 


 
Avec un Catia déjà ouvert, tu dois récupérer l'objet qui correspond à l'application Catia.
Puis tu vas lui donner l'ordre d'ouvrir ton fichier.
 
Le code va ressembler à ça (fait de tête, alors à vérifier)

Code :
  1. Dim CatiaApp as Object
  2. Set CatiaApp = GetObject(, "CATIA.Application" )
  3. CatiaApp.Documents.Open "c:\Toto\Piece1.CATPart"


n°1180646
Pims_UTT
Posté le 17-05-2017 à 23:40:47  profilanswer
 

Mr-blonde a écrit :

Bonjour à tous,  
 
Voila, j'ai récupéré une macro en VBScript pour la création de texte 3D. Elle fonctionne correctement, mais il lui manque la gestion de taille de la polices... Ce qui est déjà bien, mais pas top :)  
[...]


 
Ca a l'air sympa sur le papier. J'ai survolé ta macro, mais j'ai pas tout compris à son fonctionnement. En gros, elle parse le texte et importe les lettres déjà définies dans une CATPart "bibliothèque", c'est bien ça? Il ne manquerait pas la CATPart avec les lettres? J'aimerai bien voir à quoi ça ressemble  [:clooney2]  
 
Pour gérer la taille des lettres, tu peux pas te débrouiller avec une homothétie?

n°1180647
daniel-12
Posté le 18-05-2017 à 00:01:10  profilanswer
 

Merci
je testerai dès que possible

n°1180650
Mr-blonde
Posté le 18-05-2017 à 09:32:11  profilanswer
 

Pims_UTT a écrit :


 
Ca a l'air sympa sur le papier. J'ai survolé ta macro, mais j'ai pas tout compris à son fonctionnement. En gros, elle parse le texte et importe les lettres déjà définies dans une CATPart "bibliothèque", c'est bien ça? Il ne manquerait pas la CATPart avec les lettres? J'aimerai bien voir à quoi ça ressemble  [:clooney2]  
 
Pour gérer la taille des lettres, tu peux pas te débrouiller avec une homothétie?


 
 
Merci de t'as réponse  :jap:  
 
Tu viens de m'éclairer, effectivement il y une CatPart associée que je n'avais pas vu.. Apparemment ce sont des surfaces "morte" donc plus liées à leurs paramètres dimensionnel..  
Si tu veux je peux te l'envoyer Zippé (macro+catPart), fait moi signe en MP  
Pour le moment je n'y vois pas vraiment d'autre soluce que l’homothétie ...
 
Merci encore, je vous tiens au jus si j'avance dessus.

n°1180658
Cars_F
Posté le 19-05-2017 à 09:44:42  profilanswer
 

Bonjour, c'est possible de faire une coïncidence flottante dans un assemblage ?

 

C'est pour aligner la face d'une empreinte CHC avec un plan YZ par exemple. :jap:

Message cité 1 fois
Message édité par Cars_F le 19-05-2017 à 09:44:53

---------------
Steam | Uplay / Steam / Origin : RedempteurMan  | Rockstar Social Club : DriverCar | Chaîne YouTube
n°1180660
daniel-12
Posté le 19-05-2017 à 21:21:18  profilanswer
 

Pims_UTT a écrit :


 
Avec un Catia déjà ouvert, tu dois récupérer l'objet qui correspond à l'application Catia.
Puis tu vas lui donner l'ordre d'ouvrir ton fichier.
 
Le code va ressembler à ça (fait de tête, alors à vérifier)


Code :
  1. Dim CatiaApp as Object
  2. Set CatiaApp = GetObject(, "CATIA.Application";)
  3. CatiaApp.Documents.Open "c:TotoPiece1.CATPart"


c'était parfaitement ce que je voulais
simple et efficace
 
merci  ;)

n°1180671
ptittom
Posté le 22-05-2017 à 13:37:19  profilanswer
 

Mr-blonde a écrit :


 
Pour le moment je n'y vois pas vraiment d'autre soluce que l’homothétie ...


 
Il y a déjà le code dans la macro pour changer la taille du texte:

Code :
  1. if overflow then
  2.           Set surOut(num)=hsf2.AddNewSurfaceDatum(AxisToAxis1)
  3.         else
  4.           Set hybridShapeScaling1 = hsf2.AddNewHybridScaling(AxisToAxis1,pt,text_ratio)
  5.           hb2.AppendHybridShape hybridShapeScaling1
  6.           prt2.Update 
  7.           Set surOut(num)=hsf2.AddNewSurfaceDatum(hybridShapeScaling1)
  8.         end if

 
Par contre, c'est adapté en fonction de la longueur de la courbe et du texte. Pour avoir une taille prédéfinie, il faut modifier un peu le code. Il faudrait mesurer une des lettre de référence en hauteur et adapter la variable text_ratio en fonction de la hauteur de texte souhaitée. Attention que la longueur du texte ne dépasse pas la longueur de la courbe.

Message cité 1 fois
Message édité par ptittom le 22-05-2017 à 13:44:49
n°1180673
Mr-blonde
Posté le 22-05-2017 à 15:31:43  profilanswer
 

ptittom a écrit :


 
Il y a déjà le code dans la macro pour changer la taille du texte:

Code :
  1. if overflow then
  2.           Set surOut(num)=hsf2.AddNewSurfaceDatum(AxisToAxis1)
  3.         else
  4.           Set hybridShapeScaling1 = hsf2.AddNewHybridScaling(AxisToAxis1,pt,text_ratio)
  5.           hb2.AppendHybridShape hybridShapeScaling1
  6.           prt2.Update 
  7.           Set surOut(num)=hsf2.AddNewSurfaceDatum(hybridShapeScaling1)
  8.         end if

 
Par contre, c'est adapté en fonction de la longueur de la courbe et du texte. Pour avoir une taille prédéfinie, il faut modifier un peu le code. Il faudrait mesurer une des lettre de référence en hauteur et adapter la variable text_ratio en fonction de la hauteur de texte souhaitée. Attention que la longueur du texte ne dépasse pas la longueur de la courbe.


 
 
Merci!  
Je vais tester de modifier ca :)  
Si je trouve, je posterais  :jap:

n°1180674
Pims_UTT
Posté le 22-05-2017 à 18:11:41  profilanswer
 

Je reviens à la civilisation :o
 

Mr-blonde a écrit :


 
 
Merci de t'as réponse  :jap:  
 
Tu viens de m'éclairer, effectivement il y une CatPart associée que je n'avais pas vu.. Apparemment ce sont des surfaces "morte" donc plus liées à leurs paramètres dimensionnel..  
Si tu veux je peux te l'envoyer Zippé (macro+catPart), fait moi signe en MP  
Pour le moment je n'y vois pas vraiment d'autre soluce que l’homothétie ...
 
Merci encore, je vous tiens au jus si j'avance dessus.


 
C'est un vieux sujet au boulot et j'ai bien envie de me pencher dessus. Tu pourras me faire un MP quand tu auras fini tes modifs sur la macro?
 
 
 

Cars_F a écrit :

Bonjour, c'est possible de faire une coïncidence flottante dans un assemblage ?
 
C'est pour aligner la face d'une empreinte CHC avec un plan YZ par exemple. :jap:


 
Essaie de mettre une contrainte de contact entre tes deux plans, ça devrait le faire.

Message cité 1 fois
Message édité par Pims_UTT le 22-05-2017 à 18:12:41
n°1180678
Cars_F
Posté le 23-05-2017 à 09:09:31  profilanswer
 

Pims_UTT a écrit :

 

Essaie de mettre une contrainte de contact entre tes deux plans, ça devrait le faire.


Salut, je viens d'essayer mais il prend ça comme une coïncidence classique.

Message cité 1 fois
Message édité par Cars_F le 23-05-2017 à 09:09:40

---------------
Steam | Uplay / Steam / Origin : RedempteurMan  | Rockstar Social Club : DriverCar | Chaîne YouTube
n°1180679
ptittom
Posté le 23-05-2017 à 12:01:04  profilanswer
 

Cars_F a écrit :


Salut, je viens d'essayer mais il prend ça comme une coïncidence classique.


 
Qu'entends-tu par coincidence flottante ? Si tu souhaites juste définir que deux plans sont parallèles, il y a la contrainte d'angle.

n°1180681
Cars_F
Posté le 23-05-2017 à 16:45:15  profilanswer
 

Ah oui en effet, je vais essayer ça. Ça devrait marcher.


---------------
Steam | Uplay / Steam / Origin : RedempteurMan  | Rockstar Social Club : DriverCar | Chaîne YouTube
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  229  230  231  232  233  234
Page Suivante

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-2016 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR