Je cherche un moyen, une macro (ou quelqu'un capable de me la faire) pour insérer des pièces à un assemblage à partir d'un fichier excel qui comprend (entre autre) : le nom de la pièce (Colonne B) et le chemin d'accès (colonne F).
Concrètement cette question fait suite à un précédente que j'ai posé il y a quelques semaines : j'ai un assemblage de pièce qui compose les meubles d'un bateau. Je dois fournir à mon fournisseur un fichier de calepinage de ces pièces. La meilleure solution qu'on m'avait proposé pour mettre toutes les pièces à plat est de faire un nouvel assemblage avec toutes les pièces contraintes selon le plan de face. Oui mais voilà, il y a beaucoup de pièces aux quatres coins du serveur .... Donc j'aimerai pouvoir utiliser une macro qui m'importe toutes les pièces dans le fichier. Après je me débrouillerai pour les positionner comme je veux.
Le programme en pièce jointe est fait un peu à l'arrache mais fonctionne chez moi (Solidworks 2015 , version 4.5.2 du framework)
Tu commences par dézipper le fichier joint sur ton bureau puis :
1°) tu extraits tes 2 colonnes "nom de la pièce" et "chemin d'accès" de ton fichier Excel pour créer un fichier csv formatté comme l'exemple nommée "Liste-3D.csv" (à encoder en UTF-8 de préférence).
2°) tu nommes ce fichier csv "Liste-3D.csv" et tu le mets dans le dossier du programme à la place de celui existant..
3°) tu ouvres un nouvel assemblage dans Solidworks.
4°) tu lance le programme "Ajout-3D.exe".
5°) tu cliques sur le bouton "Ajout des composants".
6°) tu patientes jusqu'au message "Traitement terminé"
7°) tu quittes le programme.
reste plus qu'à positionner tes pièces et enregistrer ton assemblage.
Teste peut-être le programme sur un nombre restreint de pièces (lignes dans le fichier csv) pour voir si cela fonctionne comme tu veux.
Je viens de tester le programme qui a un petit bug sur la fin.
Tout semble bien aller, la liste des composants apparait dans le programme, mais après le message "traitement terminé", les composants se sont ouverts mais ne sont pas insérés dans l'assemblage. Ceci dit, une fois que tout est ouvert, je peux très facilement faire insérer, il me liste les fichiers ouverts, je sélectionne tout et roule ma poule =)
Petit Bug bon à savoir, cela signifie que j'aurais quelques modifs à effectuer sur mes programmes lors du passage à Solidworks 2016 ou plus probablement 2017 pour le prochain changement de version.
En lorsque j'execute le programme avec mon "gros" assemblage, il ouvre toutes les pièces de l'assemblage mais j'atteins rapidement la limite de documents ouvert que Solidworks sait gérer.
Est ce que tu penses qu'il serait possible de résoudre le problème d'insertion des pièces dans le modèle ?
Le problème est que je n'ai pas de SolidWorks 2016 sous la main.
Sur mon PC, chaque pièce est ouverte, insérée dans l'assemblage puis refermée donc pas de risque de limitation de documents ouvert. Peux-tu me dire de quelle taille sont tes fichiers pièces en moyenne ?
Peux-tu aussi vérifier que tu n'as pas plusieurs processus SLDWORKS.exe qui tournent ?
Je vais tenter quelques modifs, je te tiens au courant.
L'insertion fonctionne parfaitement, sauf qu'il ne referme pas le composant après. J'ai lancé le programme en séparant la liste en deux, ça fonctionne bien.