Récupérer coordonnées points équidistants spline Solidworks

Bonjour,

 

J'ai créé une pièce en 3D contenant une spline. Pour les besoins de l'usinage, il faudrait que je récupère les coordonnées 2D de points placés coïncidents sur cette spline à égale distance (interpolation). Et vous vous imaginez bien comme il est laborieux de placer ces points à la main avec un écart de 0.1mm puis de relever leurs coordonnées...

Je cherche donc une autre solution mais deux petits problèmes se posent donc à moi : 1_placer les points, et 2_récupérer ensuite leurs coordonnées.

J'ai pu trouver tout d’abord sur le net une macro permettant de récupérer les coodonnées de points d'esquisse (et pas des points de référence, attention). J'ai donc tenté plein de moyens pour placer des points à même distance sur cette spline :

- en utilisant une répétition linéaire, mais cela ne fonctionne pas pour une courbe

- avec "Outil>Outil d'esquisse>Segment", mais cela ne va pas non plus pour une spline

- avec une répétition linéaire de droite verticale et en créant leurs intersection avec la spline pour créer un point d'esquisse. Mais ces points d'intersection doivent être créés uns à uns, donc manuellement, ce qui me fait perdre tout autant de temps

-en utilisant la fonction "Géométrie de référence>Points>Distance le long de la courbe" pour créer des points que je convertissais ensuite en entité d'esquisse.

 

Ma solution finale est donc bel et bien de m’orienter vers une macro pour faire cela. J'en ai ensuite trouvé une autre plutôt efficace. Pour l'utiliser, il faut tracer la spline dans une esquisse, puis placer un point de référence sur celle-ci (mais pas coïncident avec le point de départ, dommage). Il faut ensuite enregistrer la part sous un nom puis sélectionner ce point et lancer la macro. La macro créée donc un fichier texte avec les coordonnées de ce point de référence, en le faisant bouger d'un certain incrément (stepSize) un certain nombre de fois (nPoints).

C'est donc quasiment parfait.

Mais j'aimerais bien remplacer le nPoints par une variable pour que la boucle « for » s'arrête au niveau du dernier point. C'est à dire que je récupère les coordonnées de tous les points de la courbe, avec un incrément de 0.1mm, jusqu'à la fin de celle-ci, mais sans aller plus loin, et sans s’arrêter avant la fin. L'idéal serait que le point initial et le point final soient les points initiaux et finaux de ma spline (ce qui n’est même pas possible pour l’instant pour le point initial car si l’on créé un point de référence sur le point initial de la spline, la macro ne renvoie pas les bonne valeurs). Il faudrait donc que cela se calcule tout seul (par rapport à la taille de la spline sélectionnée par exemple), et que je n'ai pas à jouer sur le nombre de points.

Quelqu'un pourrait-il me venir en aide? Sachant que cela pourra certainement servir à d'autres puisque Solidworks ne semble pas le faire automatiquement et ne permet pas de récupérer directement l’équation de la spline.

 

Merci par avance!

 

Sbier

 


coordonnees_points_spline.swp

Bonjour,

C'est possible d'avoir la macro dans un fichier texte ?

1 « J'aime »

Oui bien sûr!  :)


coordonnees_spline_solidworks.txt
1 « J'aime »

voir cette video

https://www.youtube.com/watch?v=1tyXfCxaf8U

il y a aussi ce tuto mais qui fait l'inverse ;-)

http://www.lynkoa.com/tutos/3d/video-tutorial-creating-curves-importing-point-data-text-file-solidworks

voir aussi ce fil de com

http://www.lynkoa.com/forum/solidworks/comment-exporter-coordonnees-points-partir-solidworks

@+

 macro pour recuperer les coordonnées de splines en X Y Z pour excel ou fichier texte

https://grabcad.com/questions/how-to-export-solidworks-spline-points-to-a-txt-file

Merci beaucoup gt22!

 

Malheureusement j'ai déjà vu et revu ces vidéos, qui ne m'ont pas aidées puisque la macro que j'ai jointe à mon message est plus performante pour ce que je veux. Il faudrait juste encore qu'elle puisse arrêter de placer le point dès que l'on arrive à la fin de la spline.

1 « J'aime »

et ce dernier point tu ne peux pas l'ignorer ?

la liste de point -1

En fait dans cette macro je peux seulement dire par exemple : je veux faire 600 points par incréments de 0.1mm.

 

Mais moi je n'aimerais pas devoir donner le nombre de points. J'aimerais bien que le nombre de points se calcule en fonction de la longueur de la spline. Pour avoir un nombre de points de coordonnées juste exact pour caratcériser ma spline. Je ne sais pas si j'ai été plus claire...

Je ne suis pas un pro de la macro, mais il doit être possible de mesurer la longueur "l" de la spline et donc d'en déduire "n" (n=l/0.1)

1 « J'aime »

C'est exactement ce que j'aimerais essayer de faire! :)

 

Plus qu'à trouver la commande pour obtenir la longueur de la spline et ça devrait jouer!