Importer propriétés aux parts d'un assemblage à partir d'un fichier excel BOMs

Voir le sujet précédent Voir le sujet suivant Aller en bas

Importer propriétés aux parts d'un assemblage à partir d'un fichier excel BOMs

Message par kevinlm72 le Mer 10 Mai 2017 - 19:50

Bonjour à tous,

Je me permets de créer un sujet qui semble en lien avec le sujet : http://catiav5.forumactif.org/t1407-macro-pour-ajout-suppression-propriete

J'ai besoin de créer un petit script Catia permettant de mettre à jour les propriétés des part d'un assemblage Catia, à partir d'un gros document excel qui est en fait le BOM. Je souhaite donc mettre à jour ces propriétés automatiquement et ne pas devoir ouvrir une a une les propriétés de toutes les pièces..! L'idée est d'identifier la pièce grâce à son nom CATIA et de faire le lien avec la ligne qui correspond dans Excel, puis finalement de mettre à jour les propriétés lorsque cette identification est effectuée.

J'ai essayé d'utiliser le code du sujet ci-dessus mais sans résultat..
Merci d'avance pour votre aide!

Kévin

kevinlm72
timide
timide

Messages : 5
Date d'inscription : 10/05/2017
Localisation : Oxford

Revenir en haut Aller en bas

Re: Importer propriétés aux parts d'un assemblage à partir d'un fichier excel BOMs

Message par kevinlm72 le Jeu 11 Mai 2017 - 4:52

J'ai trouvé une vidéo qui correspond exactement à ce que je recherche (de Excel vers CATIA), mais il n'y a malheureusement pas d'indication sur le script..

youtube.com/watch?v=IvG4U_6AcNg

kevinlm72
timide
timide

Messages : 5
Date d'inscription : 10/05/2017
Localisation : Oxford

Revenir en haut Aller en bas

Re: Importer propriétés aux parts d'un assemblage à partir d'un fichier excel BOMs

Message par kevinlm72 le Ven 19 Mai 2017 - 2:00

Bonjour,

Je me permets de faire une petite relance, je n'ai toujours pas regle mon probleme, je ne demande pas le code mais simplement quelques conseils ... Merci

kevinlm72
timide
timide

Messages : 5
Date d'inscription : 10/05/2017
Localisation : Oxford

Revenir en haut Aller en bas

Re: Importer propriétés aux parts d'un assemblage à partir d'un fichier excel BOMs

Message par cad00 le Ven 19 Mai 2017 - 22:58

Une petite réponse rapide, j’ai fait quelques macros de CATIA vers EXCEL, en reprenant ces macros tu pourras faire le chemin inverse, j’ai une autre macro qui n’est pas encore en ligne pour renommer un assemblage et toute les pièces de cet assemblage en partant d’un fichier EXCEL, je te donnerais le lien dès que je l’aurais re-tester.

Pour les macros : http://cao-3d-pro.com/catia-vba/

Si tu ne t’en sors pas, j’essaierais de t’aider.

cad00
actif
actif

Messages : 32
Date d'inscription : 17/03/2015
Localisation : PACA

Revenir en haut Aller en bas

Re: Importer propriétés aux parts d'un assemblage à partir d'un fichier excel BOMs

Message par kevinlm72 le Ven 19 Mai 2017 - 23:38

Merci pour cette reponse! Je vais essayer avec avec ton lien. Je n'y crois pas beaucoup sachant que j'ai deja pas mal essaye avec ce que je trouvais sur internet mais tes macros se rapprochent peut etre plus de mon cas.

Merci !

kevinlm72
timide
timide

Messages : 5
Date d'inscription : 10/05/2017
Localisation : Oxford

Revenir en haut Aller en bas

Re: Importer propriétés aux parts d'un assemblage à partir d'un fichier excel BOMs

Message par d.vincent567 le Sam 20 Mai 2017 - 7:07

Je n'ai pas de solution à ton problème, mais d'autre pourront probablement d'aider, il suffit d'attendre un peu Wink.
avatar
d.vincent567
actif
actif

Messages : 59
Date d'inscription : 06/11/2016
Localisation : Brest

Revenir en haut Aller en bas

Re: Importer propriétés aux parts d'un assemblage à partir d'un fichier excel BOMs

Message par cad00 le Dim 4 Juin 2017 - 0:28

Ci-dessous le script pour importer des paramètres depuis un fichier EXCEL, pour les explications et modifications à tes besoins c'est ici : http://cao-3d-pro.com/catia-vbs-parametres-de-excel-vers-parts

Le lien te permettra également de charger la macro.

Comme le dit si bien d.vincent567 "il suffit d'attendre un peu", Il y a beaucoup de monde prêt à aider sur ce FORUM, mais il faut laisser le temps pour que les personnes répondent,  d’autant que ce que tu veux faire est assez long à traiter, cela demande  pour une personne comme moi qui ne suis pas un professionnel de la programmation (et je pense que c’est le cas de beaucoup de personne sur ce forum) quelques heures de travail.
C’est sur les forums comme celui-ci que j’ai appris et que je continu à apprendre, mais il faut également y mettre du sien et de ne pas s’attendre à recevoir une réponse toute faite, la plupart d’entre nous  développons des macros dans le but de pouvoir travailler le plus efficacement possiblement, mais nous le faisons selon nos besoins ce qui demande parfois du temps pour les adapter pour une autre personne.

'--------------- MACRO -----------------------
'--------- Extrait Macro Paramètres ----------
'----- JP 2017 -- http://cao-3d-pro.com/------
'------------------------------------------------
Language="VBSCRIPT"
Sub CATMain()
Dim ODocument 'As Document
Dim NbLign 'As Integer
Dim numplan 'As String
Dim design 'As String
Dim fichier 'As String
Dim RefPart 'As String
Dim FichierPath 'As String
Dim LigneExcel 'As Integer
'
Dim OProduct 'As Product
Dim OParameters 'As Parameters
'
Dim NouveauDocCatia 'As Documents
Set NouveauDocCatia = CATIA.Documents
'
Dim ODocuments 'As Documents
Set ODocuments = CATIA.Documents
Dim OPartDocument 'As PartDocument
Dim OProductDocument 'As ProductDocument
'
Dim OstrParam 'As StrParam
Dim PartValue 'As Variant
Dim NbPartValue 'As Integer
Dim NameParam 'As String
'
Dim Bfichier 'As Boolean
Dim Bnumplan 'As Boolean
Dim Bdesign 'As Boolean
'
LigneExcel = 1
'
Set objExcel = CreateObject("Excel.Application")
Dim objSheet
'
FichierPath =objExcel.GetOpenFilename ("Fichiers Excel (*.xls*),*.xls*")
objExcel.Workbooks.open(FichierPath) 'bon
objExcel.Visible = True
Set objSheet = objExcel.ActiveWorkbook.Worksheets(1)
NbLign  = objExcel.Range("A1:X1").CurrentRegion.Rows.Count
For i = 1 To NbLign
 LigneExcel = i + 1
   fichier = objSheet.Cells(LigneExcel, 1)
   numplan = objSheet.Cells(LigneExcel, 2)
   design = objSheet.Cells(LigneExcel, 3)
For Each ODocument In ODocuments
           Bfichier = False
           Bnumplan = False
           Bdesign = False
           If (InStr(1, ODocument.Name, "CATProduct") > 0) Then
               If ODocument.Name = fichier Then
               End If
           End If
           If (InStr(1, ODocument.Name, "CATPart") > 0) Then
               If ODocument.Name = fichier Then
                   Set OPartDocument = NouveauDocCatia.Item(ODocument.Name)
                   RefPart = OPartDocument.Product.PartNumber
                   Set OProduct = OPartDocument.GetItem(RefPart)
                   Set OParameters = OProduct.UserRefProperties
                   '
                       For Each OstrParam In OParameters
                           PartValue = Split(OstrParam.Name, "\")
                           NbPartValue = 0
                           '
                           For Each Part In PartValue
                               NbPartValue = NbPartValue + 1
                           Next
                               NameParam = PartValue(NbPartValue - 1)
                           '
                           If NameParam = "fichier" Then
                               Bfichier = True
                                   If OstrParam.Value = fichier Then
                                   Else
                                       OstrParam.Value = fichier
                                   End If
                           End If
                           '
                           If NameParam = "num_plan" Then
                               Bnumplan = True
                                   If OstrParam.Value = numplan Then
                                   Else
                                       OstrParam.Value = numplan
                                   End If
                           End If
                           '
                           If NameParam = "design" Then
                               Bdesign = True
                                   If OstrParam.Value = design Then
                                   Else
                                       OstrParam.Value = design
                                   End If
                           End If
                       Next
                       '
                       If Bfichier = False Then
                           Set OstrParam = OParameters.CreateString("fichier", (objSheet.Cells(LigneExcel, 1)))
                       End If
                       '
                       If Bnumplan = False Then
                           Set OstrParam = OParameters.CreateString("num_plan", (objSheet.Cells(LigneExcel, 2)))
                       End If
                       '
                       If Bdesign = False Then
                           Set OstrParam = OParameters.CreateString("design", (objSheet.Cells(LigneExcel, 3)))
                       End If
               Else
               End If
           End If
next
next
End Sub

cad00
actif
actif

Messages : 32
Date d'inscription : 17/03/2015
Localisation : PACA

Revenir en haut Aller en bas

Re: Importer propriétés aux parts d'un assemblage à partir d'un fichier excel BOMs

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

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