Macro : dupliquer esquisse

Bonjour,
Je dessine régulièrement des gabarits de soudure, de perçage et de contrôle en tôle découpée. Les tôles sont maintenues entre elles par des tenons (écrou) et des mortaises (vis CHC).

Cependant, je dois placer manuellement chacune des mortaises sur ma tôle principale et, à chaque fois, les contraindre par rapport au tenon afin de les centrer (toujours 3 contraintes).

Pensez-vous qu’il est possible d’automatiser ce processus ? Le projet me semble assez complexe, surtout pour un débutant comme moi qui n’a jamais fait de macro, mais si l’on me dit que c’est réalisable alors je prendrai le temps qu’il faut pour y arriver.

Merci d’avance pour vos réponse

Bonjour @Nass_Tdj et bienvenue sur le Forum.

Avez vous un exemple à partager ? (illustration dans la conversation, fichier CAO)

Pourriez-vous également préciser ce qui varie d’un gabarit à un autre ?

Ceci afin de savoir vers quelles pistes vous orienter (oui il y en a plusieurs : macro, fonction de bibliothèque, bloc d’esquisse, composant intelligent, modèle (PDM pro uniquement)).

1 « J'aime »

Bonjour;
Je suis comme @Silver_Surfer, il me manque quelques visuels.
Ainsi que la version de Solidworks 'si on parle bien de Solidworks) utilisée.
Quels sont les esquisses que vous voulez dupliquer (et pourquoi seulement les esquisses et pas les fonctions?)
Vous travaillez avec des assemblages ou avec des composants dérivés?

D’ailleurs pour moi les assemblages tenon-mortaises ressemblent à cela:
image
et je ne vois pas très bien la notion de :


Pour finir, pourquoi avoir posté dans la section « Macro », c’est ce que vous attendez de nous ?

1 « J'aime »

Bonjour @Silver_Surfer, @Maclane,

Désolé pour ma réponse tardive, je n’avais pas accès à SolidWorks avant aujourd’hui.

Pour commencer, je vous joins rapidement un exemple de tenon-mortaise afin que vous puissiez visualiser à quoi cela ressemble.

Les mortaises (que j’importe depuis ma bibliothèque au format .sldblk) sont toujours contraintes par rapport aux tenons (également importés, mais au format .sldlfp). Les contraintes sont toujours les mêmes : un parallélisme et deux coïncidences « point milieu ». Le parallélisme permet de bloquer la rotation de la mortaise, tandis que les coïncidences servent à centrer la mortaise par rapport au tenon.

Les tenons et mortaises sont identiques d’un gabarit à l’autre. Ce qui peut varier, c’est leur orientation les unes par rapport aux autres, leur nombre, et leur « sens » : il y a les tenons des tôles supérieures (sur lesquelles les pièces seront posées), et ceux des tôles inférieures qui servent de support et rigidifient l’ensemble. J’utilise donc deux esquisses distinctes : l’une pour extruder toutes les mortaises associées aux tenons des tôles « inférieures », et l’autre pour celles des tôles « supérieures ». C’est surtout pour m’organiser, ce n’est pas indispensable.

Je travaillerai uniquement en assemblage car je ne contrains mes mortaises que par rapport aux tenons des différentes tôles.

Ma question reste la même : pensez-vous qu’il est possible d’automatiser l’insertion de chaque mortaise via une macro ?
Est-ce que le VBA sur SolidWorks le permet (je ne veux pas perdre de temps à essayer des choses si il n’y a aucune chance que ca aboutisse), et si oui, par où me conseilleriez-vous de commencer ?

Encore merci d’avance pour votre réponse !

exemple tenon mortaise.STEP (186,1 Ko)




exemple tenon mortaise.SLDASM (72,1 Ko)
tôle 1.SLDPRT (120,9 Ko)
tôle 2.SLDPRT (66,2 Ko)

Bonjour;

… pourquoi importer vos mortaises depuis un « block » alors que vos tenons sont eux sous forme de « Fonction de bibliothèque ».
Ne serait-t’il pas plus simple d’harmoniser vos formats d’imports sous la forme de composant de bibliothèque ?

Coté Macro. Je ne pense pas que cela soit réalisable (les tenons et les mortaises ne sont pas sur les même composants … je ne vois pas comment les identifier, ni orienter les mortaises dans le bon sens…
(une macro qui poserait autant de questions que la fonction qu’elle est censé remplacer n’a pas beaucoup de sens à mes yeux) mais peu-être me trompe-je…

En revanche, pourquoi ne travailleriez-vous pas directement dans l’assemblage (avec les tenons ET les mortaises sous forme de fonctions de bibliothèques).
Placez vos enlèvements de matières (toujours dans l’assemblage) et cochez la cellule « Propager la fonction au pièces ».Et pour finir (mais c’est facultatif) , brisez les références externes et les dérivations d’esquisses pour avoir des pièces « propre ». (je ne suis pas fan des références externes…

… Le plus simple serait tout de même d’utiliser les fonctions Tenon/Mortaises intégrées dans Solidworks mais est-il possible de créer des profils de découpes sur-mesures ? C’est pas sûr. (Question ouverte aux utilisateurs)…

… Une autre piste envisageable est :la Fonction « composants intelligents »:

PS: Pensez à indiquer la version de Solidworks utilisée pour vos fichier natifs partagés…'Solidworks n’est pas le spécialiste de la retro-compatibilité).

2 « J'aime »

Bonjour,

Je plussoie avec @Maclane : les composants intelligents semblent fait pour toi.

La répétition par esquisse peut aussi te faciliter la vie : il suffit de placer les points et SW répétera la fonction aux emplacements spécifiés. Et la répétition de répétition te permettra de rajouter toutes les vis / écrous en 1 clic.

Question très bête : dans la vraie vie les écrous sont juste tenus par le serrage de la vis et sont ce qui solidarise les tôles entre elles ? Si oui ça me parait osé comme design vu la surface réduite de contact écrou / tôle. Si c’est pour de la mise en place avant soudure de l’ensemble cette remarque s’auto détruit.

2 « J'aime »

Je ne connaissais pas la répétition par esquisse, le problème dans mon cas c’est de réussir à rapidement créer un point qui soit centré par rapport au tenon (peut-être encore une fois faire une macro qui m’a l’air d’un coup beaucoup plus simple?)

Au niveau des vis et écrou je ne les insère jamais dans mon assemblage final.

Enfin pour répondre à votre question sur la rigidité, à part pour de très petites tôles, la quasi-majorité des autres sont croisées l’une par rapport à l’autre à 90° et c’est souvent 4/5/6 + tôles qui s’entrecroisent ce qui avec une certaine quantité de vis/écrou rend le tout hyper solide.

On veut justement éviter toute soudure pour pouvoir facilement modifier / changer le gabarit si besoin.

Bonjour, merci pour votre réponse

Pour l’import de mortaise sous forme de block je ne vois pas comment faire autrement.

Et j’ai du mal à comprendre ce que vous voulez dire par « Placez vos enlèvements de matières (toujours dans l’assemblage) et cochez la cellule « Propager la fonction au pièces ».Et pour finir (mais c’est facultatif) , brisez les références externes et les dérivations d’esquisses pour avoir des pièces « propre ». (je ne suis pas fan des références externes… »

En fait je place d’abord mes tôles sur lesquelles il y a tous mes tenons et de la je viens placer mes mortaises mais faire l’inverse est impossible.

Pour la fonction tenon-mortaise de solidworks on m’a dis que ce n’était pas possible de créer des profils de découpe sur mesure mais je vais quand même y jeter un œil.

Concernant la fonction « composant intelligent » je ne la connaissais pas non plus donc je vais regarder ca.