CATIA V5 | 3DEXPERIENCE
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le Deal du moment :
SAMSUNG Galaxy A14 5G Noir 64 Go à 98,49€
Voir le deal
96.99 €

recherche d'une entité par son nom (getitem)

2 participants

Aller en bas

recherche d'une entité par son nom (getitem) Empty recherche d'une entité par son nom (getitem)

Message par mike688 Mer 20 Jan 2016 - 9:48

bonjour a tous,
quelqu'un connaîtrait-il par hasard une méthode pour reccuperer un element 2D en fonction de son nom?
aujourd'hui, pour remplir le cartouche de mes plan, j'utilise une combinaison de fonction qui va rechercher sur tout le drawing un textdrawing, soit par son contenu, soir par ses coordonée lorsqu'il s'agit d'un tableau "a l'ancienne" des ligne et des texte, je combine les 2 methode, ce qui prend énormément de temps.

donc l'idée serait qu'une foi trouvé je le renome de text17980 a "cequilmefaut"
ce qui permettra(i) de le rechercher par son non a la prochaine execution.

le souci c'est que aujourd'hui je ne sais pas le trouver par son nom Sad

merci pour votre aide


mike688
mike688
actif
actif

Messages : 257
Date d'inscription : 23/12/2009
Age : 43
Localisation : Portieux (88)

Revenir en haut Aller en bas

recherche d'une entité par son nom (getitem) Empty Re: recherche d'une entité par son nom (getitem)

Message par Guss_ Mer 20 Jan 2016 - 10:58

pour une zone de texte c'est assez facile.

J'ai fait cette macro qui vient éditer une zone de texte avec une nom spécifique, d'un cartouche prédéfinie en y mettant le nom de la part associée à la vue sélectionnée
Code:

Sub CATMain()
   
    '---- Début du script de résolution de l'objet : vue_active
    Dim drawingDocument1 As Document
    Set drawingDocument1 = CATIA.ActiveDocument
    Dim drawingSheets1 As DrawingSheets
    Set drawingSheets1 = drawingDocument1.Sheets
    Dim drawingSheet1 As DrawingSheet
    Set drawingSheet1 = drawingSheets1.Item("Calque.1")
    Dim drawingViews1 As DrawingViews
    Set drawingViews1 = drawingSheet1.Views
    Dim vue_active As DrawingView
    Set vue_active = drawingViews1.ActiveView
    '---- Fin du script de résolution
   
    '---- Début du script de résolution de l'objet : zone_text_nom
    Dim drawingView1 As DrawingView
    Set drawingView1 = drawingViews1.Item("Main View")
    Dim drawingTexts1 As DrawingTexts
    Set drawingTexts1 = drawingView1.Texts
    Dim zone_text_nom As DrawingText
    Set zone_text_nom = drawingTexts1.GetItem("nom")
    '---- Fin du script de résolution
   
    '----Traitement
    Dim nom_piece_3D As String
    If vue_active.Name = "Main View" Then
        MsgBox ("veuilliez séléctioner une vue")
    Else
        nom_piece_3D = vue_active.GenerativeBehavior.Document.ReferenceProduct.Name
        zone_text_nom.Text = Replace(nom_piece_3D, "_", " ")
    End If

End Sub

Guss_
Admin
Admin

Messages : 530
Date d'inscription : 08/01/2010

Revenir en haut Aller en bas

recherche d'une entité par son nom (getitem) Empty Re: recherche d'une entité par son nom (getitem)

Message par mike688 Mer 20 Jan 2016 - 11:05

ok, donc d'apres ton code, il n'est pas possible de faire une recherche globale sans passer par toutes les vue et toutes les feuilles
le getitem ne fonctionne donc que dans la collection specifique
mike688
mike688
actif
actif

Messages : 257
Date d'inscription : 23/12/2009
Age : 43
Localisation : Portieux (88)

Revenir en haut Aller en bas

recherche d'une entité par son nom (getitem) Empty Re: recherche d'une entité par son nom (getitem)

Message par Guss_ Mer 20 Jan 2016 - 11:15

est ce que si tu ouvre ton plan et ensuite tu fais une recherche manuelle tu arrives à trouver ton élément ?

Si oui c'est que tu peux le faire via une macro avec search(), si non ça sera pas avec la fonction search()

Guss_
Admin
Admin

Messages : 530
Date d'inscription : 08/01/2010

Revenir en haut Aller en bas

recherche d'une entité par son nom (getitem) Empty Re: recherche d'une entité par son nom (getitem)

Message par mike688 Mer 20 Jan 2016 - 12:06

oui cela fonctionne
d'apres les premiers essaie, cela réduit de moitié les temps

merci
mike688
mike688
actif
actif

Messages : 257
Date d'inscription : 23/12/2009
Age : 43
Localisation : Portieux (88)

Revenir en haut Aller en bas

recherche d'une entité par son nom (getitem) Empty Re: recherche d'une entité par son nom (getitem)

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum