J'aurais besoin d'aide pour créer une macro sur Solidworks:
Voici ce que j'aimerai obtenir.
J'ai un cylindre jaune.
J'ai un second cylindre bleu.
Ce que je souhaiterai faire, c'est un enlèvement de matière dans le cylindre jaune en fonction du cylindre bleu avec différentes coordonnées et paramètres. J'ai le cylindre jaune qui doit être paramètré en fonction d'un angle C. Et ensuite j'ai le cylindre bleu qui doit être paramétré sur X. Il me faudrait ensuite la combinaison des deux: je fais xC rotation du cylindre jaune, je me déplace de yX axialement du bleu jaune, je fais un enlèvement de matière. Ensuite je fais de nouveau xC rotation du cylindre jaune, je me déplace de zX axialement, je fais un enlèvement de matière. Et ça X fois.
Ma table de paramètre pourrait être dans un tableau excel ou autre. Veuillez trouver ci dessous une schématisation de ce que je voudrais avec un excel de tableau des paramètre que je pourrais avoir.
En réalité, J'ai 1.57° qui équivaut à une avance axiale de 0.042mm.
Je souhaiterai faire minimum 3 tours soit 360° x 3 = 1080°. 1080/1.57 = 688. Donc il faudrait que la macro soit capable de gérer au moins 688 enlèvement de matière. J'espère que ça va pas être trop lourd.
Pensez vous que cela doit faisable? Je n'ai aucune connaissance en terme de macro sur Solidworks. Merci d'avance
Pour la curiosité auriez vous un visuel de ce que vous voulez au final, je pense que ca aidera ceux qui passeront par ici. mais je sent qu'avac d'aussi petit angle ca fait ramer pour générer tout ca.
En dehors du fait que ça peut faire ramer Solidworks, il y a une petite chose qui me turlupine, c'est la remarque "Je n'ai aucune connaissance en terme de macro sur Solidworks", à partir de là cela risque d'être un peu fastidieux ...
Merci pour ta réponse, mais non, je connais cette fonction et ce n'est pas ce que je recherche. C'est dans le cadre de mon travail pour simuler de l'usinage. La commande numérique, il faut voir ça comme des mouvements saccadés, et je n'obtiens pas un profil lisse sur ma pièce mais des facettes que je voudrais reproduire en 3D en faisant au plus juste ce que fais la machine; c'est à dire un mouvement de rotation donné en C pour une avance axial en X
Pour la question " Au moins, je voudrais savoir si c'est faisable ", à partir du moment ou la quasi totalité des fonctions de Solidworks sont accessibles par les API alors on peut, sans trop de risque, dire que oui c'est faisable. Tu peux déjà commencer par lister les fonctions que tu as besoin à l'aide de l'enregistreur de macro par exemple.
Comment paramètrer un assemblage sur excel. Donc je peux paramètrer mon angle C et ma position X. Ce que je ne sais pas faire, c'est retranscrire mon besoin qui est de lire la ligne N dans le fichier excel avec le paramètre X et le paramètre C, actualiser l'assemblage, effectuer un enlèvement de matière puis que la macro continue en lisant la ligne suivant N+1 avec le paramètre X et le paramètre C, actualise l'assemblage, effectuer un enlèvement de matière puis passe à la ligne N+2 etc... jusqu'à N+ oo, ou du moins, jusqu'a arriver à une ligne vide du tableau excel.
Si vous pouviez me donner le code VBA pour cette fonction svp..
Alors oui il y a l'enlèvement par corps volumique mais s'est continu et non saccadé comme il le souhaite, j'ai pu faire la même chose avec une spirale mais avec 1 enlèvement de matière simple sur x d'épaisseur et ensuite une répétition par courbe. Après vous avez juste a rentrer les différentes cotes dans le système d'équation de SW par exemple ou famille de pièce via tableau excel si vous voulez changer les tailles.
Par conte attention l'enlèvement de matière ne correspondra pas forcement à la réalité si l'outil reste en place et que vous tournez la pièce jaune (suppression des marches dû au mouvement) en revanche si l'outil recule, puis rotation du jaune et ré-usinage puis recule et ainsi de suite , là oui le visuel que j'ai mie en pièce jointe sera proche de la réalité.
En espérant avoir été clair^^
Forcement l'enlèvement de matière x688 ca prend du temps faut pas rêver, mais une fois fait ca prend moins de temps de changer les valeurs.
Sous quel SW êtes vous??
Je joint la pièce en SW 2019 pour ceux qui peuvent.
De mémoire je crois qu'il est possible de faire ne VBA une petite interface pour saisir tous les côtes / diamètres et par exemple utiliser les équations de SW pour faire le ratio entre longueur de la spirale / nombre de tour / pas.... tout dépend comme elle sera configurée en fait.
Si vous êtes en SW 2019 il n'y aura plus qu'a changer les valeurs à vôtre gout^^, en tout cas merci ca permis de se creuser la cervelle, ca fait du bien ^^
FUZ3D, tu vas peut être pouvoir m'aider pour un autre problème, qui est similaire.
J'ai un autre outil, qui est du taillage par fraise mère. Voir ci dessous
Il faut imaginer que la fraise mère, l'outil, est une vis sans fin à laquelle tu as fait des gougures, c'est à dire des découpes axiales pour créer des dents. Pour la simulation, je n'ai pas besoin d'avoir ces gougures. Est il possible de faire la même chose que ce que tu as fait précédemment, c'est à dire que si je fais tourner mon outils de X degré, cela fait tourner ma pièce de Y degré, et à chaque degré de rotation, je voudrais faire un enlèvement de matière. Ma vis à des flancs droits. La multitude d'enlèvement de matière avec les deux rotations synchronisées devraient ressembler à cela:
Ainsi, avec une vis avec des flancs droits, je vais pouvoir avoir des dents en développante de cercle. Je te remercie d'avance.
Et pour que ca donne des dents droite, l'outil n'est pas sensé monter et descendre? Sinon l'engrenage aurait des dents en arc de cercle et non droite si je ne me trompe pas, sans compter l'avance entre l'outil et l'engrenage pour la profondeur des dents.
FUZ3D, non c'est bien ce que je veux, des dents en développante de cercle, ou un arc de cercle comme tu dis.
D'ailleurs, voici un aperçu de ce que j'ai pu faire sur ma pièce avec ta méthode. C'est exactement ce que je cherchais. Pour des soucis de confidence, je ne pourrais pas donner le fichier solidworks ni dézoomer sur la pièce entière.