Macro pour insérer des pièces à un assemblage

Bonjour,

 

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.

 

Quelqu'un serait-il capable de m'aider ?

Je vous remercie beaucoup =)

 

 

 

2 « J'aime »

Bonjour,

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.

Cordialement,


ajout-3d.zip
4 « J'aime »

Alors là, je te remercie énormément =D

J'essayerai la macro demain sur de petits assemblages et si tout va bien, Lundi je pourrai l'utiliser à plus grande échelle.

 

Encore un grand merci !!! je te tiens au courant rapidement =)

Bonjour d.roger

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 =)

Je suis sur Solidworks 2016.

 

Je te remercie beaucoup =)

 

Bonjour,

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.

Content d'avoir pu t'aider.

Cordialement,

Bonjour d.roger

 

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 ?

 

Je te remercie beaucoup,

 

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.

Cordialement,

1 « J'aime »

mes fichiers "pièces" font généralement moins de 100ko, certains montent à 6000ko mais ça reste très marginal

En tout cas je te remercie beaucoup de ton aide =D

 

Voici une version 2 à tester, c'est un peu à l'aveuglette (pas de SW2016) et un fonctionnement normal sur mon PC.

Ne touche pas à Solidworks pendant le traitement car cela peut le perturber dans les passages d'une fenêtre à l'autre.

Cordialement,


ajout-3d-v2.zip
1 « J'aime »

Yes !

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.

 

Je te remercie encore beaucoup =)

 

Bonjour,

Oups, j'avais modifié un paramètre au chargement du fichier mais j'ai oublié de le changer pour la fermeture.

C'est corrigé, cela devrait fonctionner comme il faut maintenant.

Cordialement,


ajout-3d-v3.zip