Bonjour,
je vous explique ci dessous ce que je cherche à faire j'espère que je serai clair .... pour info je ne connais rien en VB
je veux automatiser la création de mes DXF
A partir du fichier excel ci joint,
variables : si valeur colonne X=" Nouveau" et valeur colonne Y=" Fabriquée" ou " Pièce/Opé Panoplie" alors ouvrir les 3d des pièces correspondantes (chemin d'accès = valeur celulle X6 & valeur colonne L & .sldprt) et les enregistrer au format ".DXF" à l'adresse suivante "\\10.3.0.145\common\DAO\Iges-fao" sous le nom correspondant en colonne M du tableau excel
et boucler cela sur toutes les lignes ou les variables X=" Nouveau" et valeur colonne Y=" Fabriquée" ou " Pièce/Opé Panoplie" seront trouvées
merci de votre aide
si quelqu'un pouvait arriver à me faire cela, cela m'aiderai beaucoup et si possible en même temps m'expliquer les lignes de la macro encore mieux....
j'espère avoir été clair
Merci de votre aide
template_bom_v2.xlsm
Voici le code pour ouvrir une pièce ou MEP depuis SW:
Sub EssaiSW()
Dim swApp As SldWorks.SldWorks
Dim swModelUn As SldWorks.ModelDoc2
Dim swModelDeux As SldWorks.ModelDoc2
If swApp Is Nothing Then
Set swApp = CreateObject("SLDWORKS.application")
swApp.Visible = True
Else
Set swApp = Application.SldWorks
End If
Set swDocSpecification = swApp.GetOpenDocSpec("C:\Temp\Pièce5.sldprt")
Set swModelUn = swApp.OpenDoc7(swDocSpecification)
MsgBox swModelUn.GetTitle
Set swDocSpecification = swApp.GetOpenDocSpec("C:\Temp\Pièce5.slddrw")
Set swModelUn = swApp.OpenDoc7(swDocSpecification)
MsgBox swModelUn.GetTitle
swApp.CloseDoc swModelUn.GetTitle
Set swModelUn = swApp.ActiveDoc
MsgBox swModelUn.GetTitle
Set swDocSpecification = swApp.GetOpenDocSpec("C:\Temp\Pièce6.sldprt")
Set swModelDeux = swApp.OpenDoc7(swDocSpecification)
swApp.CloseDoc swModelUn.GetTitle
MsgBox swModelDeux.GetTitle
swApp.CloseDoc swModelDeux.GetTitle
End Sub
Il faut aussi ajouter la réf suivante à ta macro Excel:
Par contre si tu ne connais rien en vba tu ferais mieux dans un onglet supplémentaire de récupérer ta liste de fichier à traiter avec des formules Excel .Il faut récupérer le chemin complet.
(si valeur colonne X=" Nouveau" et valeur colonne Y=" Fabriquée" ou " Pièce/Opé Panoplie" alors ouvrir les 3d des pièces correspondantes (chemin d'accès = valeur celulle X6 & valeur colonne L & .sldprt) et les enregistrer au format ".DXF" à l'adresse suivante "\\10.3.0.145\common\DAO\Iges-fao" sous le nom correspondant en colonne M du tableau excel...)
Et ensuite tu exporte cette liste en csv et tu te créer une règle dans Intégration (Gratuit pour les clients Mycadservice) pour exporter en lot tout les fichier de ta liste csv:
https://help.visiativ.com/mycadtools/2020/fr/Integration.html
Ce moyen via Intégration reste bien plus simple si tu n'a pas de connaissance en VBA.
Il te suffit de faire un tri automatisé via formule Excel puis exporter en csv.
Importer ta liste csv dans Intégration lui appliquer ta règle (export de ta pièce en dwg ou dxf)
Alors que pour le VBA il te reste à traiter le bouclage avec les conditions, l'export dxf et à implémenter tout cela dans Excel, sans connaissance cela risque d'être très compliqué.
1 « J'aime »