Macro / API, changement de Spline en Arc

Bonjour
J’aimerais créer une Macro pour automatiser un processus.
Apres l’importation des fichiers AI, j’ai une esquisse généré composé de Spline ou de lignes droites
J’aimerais une Macro qui crée une nouvelle esquisse et qui transforme toutes les splines en des arcs.
Pour qu’après je puisse utiliser l’habillage mécanosoudé qui fonctionne que sur des arcs et des segments de droite
Je peux pas refaire les arcs sur la même esquisse de spline parce que je peux pas sélectionner des segments lors de l’habillage mécanosoudé il faut que je cache l’esquisse Spline.


Merci de me guider pour pouvoir créer une Macro.

1 « J'aime »

Regarde ce lien (non testé):
https://www.cadforum.net/viewtopic.php?t=324
Edit ou autre méthode sans macro:

1 « J'aime »

Bonjour @Farouk

Pourquoi vouloir une macro ?
Vous pouvez en une seule opération créer une esquisse par dessus celle utilisant des splines.
Ainsi dans la nouvelle esquisse vous avez une ligne qui a la forme de la spline mais qui ne peut plus être modifiée.

Vous pouvez copier l’intégralité de cette courbe en forme et l’insérer dans n’importe quoi sans qu’elle ne puisse jamais bouger.
Vous pouvez même créer un bloc de cette esquisse ce qui vous permet d’utiliser la figure complète à de nombreuses reprises pour d’autres projets.

Durée de la manip 3 minutes en faisant couler le café

Cordialement

Voici un bloc à insérer n’importe où
Esquisse18.SLDBLK (23,0 Ko)

1 « J'aime »

Zozo_mp

Merci pour ta réponse j’ai téléchargé le fichier block mais malheureusement, l’esquisse reste une spline je peux pas faire l’habillage avec la fonction mécanosoudé.

Sbadenis
Merci pour ta réponse
j’ai téléchargé la macro mais j’arrive pas l’exécuté.

1

Je vais télécharger DS DraftSight et je vais l’essayer

@Farouk

Désolé de te contredire mais le block n’est pas un spline.

En plus si tu n’édite pas la spline du block rien ne bouge

Peuit-être que quelque chose m’échappe dans ton explication ou dans ce que tu veux faire.
Que veux tu dire [quote=« Farouk, post:4, topic:108806 »]
je peux pas faire l’habillage avec la fonction mécanosoudé.
[/quote]

Envoi le fichier complet je te ferais un exemple de ce que je te propose

Cordialement

1 « J'aime »

@Zozo_mp
Est ce que je dois changer certain paramètres pour que le block ne soit pas un spline ?
Je te joins le fichier Solidworks 2023


P1.SLDPRT (447,2 Ko)

@Farouk

Aie ! je n’ai que la version 2022.

Cdlt

Bonjour @Farouk ,

Les membres de ce forum sont peu nombreux aujourd’hui à disposer d’une version 2023…
Pouvez-vous produire le document dans une version précédente de SolidWorks ?
A défaut, pouvez-vous l’exporter au format IGES, en cochant les options concernant les entités d’esquisses et les courbes, de façon à permettre la récupération de splines « génériques ».

@m.blt @Zozo_mp

Voici une version SolidWorks 2022
Pièce1.SLDPRT (412,9 Ko)
Merci à vous
Est ce que vous pouvez m’aider à exécuter la Macro proposé par @sbadenis
splines2arcs.swp (266,0 Ko)

La macro ne fonctionne pas non plus chez moi, non plus le fichier est sûrement corrompu (impossible de l’éditer)
Il va falloir la retrouver ailleurs ou une autre qui fait la même chose.

1 « J'aime »

Votre esquisse de départ est inscrite dans un carré de 4900 mm de coté. Elle comporte 938 entités, essentiellement des splines, et quelques segments de droites (45).
J’ai exploité le code C++ proposé par Biarc Interpolation - RyanJuckett.com pour traiter cette esquisse des « Lions ». Chaque spline est approchée par des arcs de cercles tangents, à raison de N arcs par segment de courbe, N étant pair et compris entre 2 et 16.
Comme chaque spline ne comporte qu’un seul segment, le nombre d’entités est d’environ N x 938.
Le document joint (SW 2021) comporte l’esquisse de base et 3 esquisses 3D issues du traitement, avec respectivement N = 2, N = 8 et N = 16 arcs par segment.

Constatation :

  • Pour N = 2 arcs par segment de courbe, l’allure générale est correcte à 90%, mais certaines portions de courbes sont très mal approchées. C’est le cas quand la courbure de la spline se réduit fortement à l’approche d’une extrémité (cf. les rayons quasi-rectilignes du soleil dans la partie centrale de l’esquisse).
  • Pour N = 8, la forme est plus proche de l’original, avec des écarts de l’ordre de 5 mm au maximum. Mais le nombre d’entités « arcs » passe à plus de 7500. Ce nombre important est-il compatible avec l’usage que vous souhaitez faire de ce modèle ?
  • Pour N = 16, l’approximation est très bonne, mais au prix de 15000 entités (plus de 10 min de traitement). Est-ce gérable ?

A vous de juger de l’intérêt de cette approximation à partir des esquisse du doc joint.
Une question: qu’appelez-vous « habillage mécanosoudé », est-il réaliste compte-tenu du nombre d’entités de l’esquisse ?
Si la réponse est positive, je finaliserai le code…

Cordialement.
Lions.SLDPRT (1,8 Mo)

3 « J'aime »

Bonjour
@m.blt Merci pour ta réponse c’est génial tu me sauves la vie.

j’ai essayé d’illustrer les étapes de mon travail sur cette photo pour mieux comprendre exemple de décors 3D ( pareil pour un décor 2D comme envoyé précédemment)
L’habillage mécano-soudé c’est la sélection des arcs et lignes des esquisses,
Le choix du profilé qui va être cintré à la forme souhaité pour arriver à former le décor est choisi selon plusieurs critères
Parfois je fais des esquisses pour chaque profilé qui va être utilisé et d’autre fois je fais des esquisses qui peuvent comporter plusieurs profilés différents.

Je dois sélectionner segment par segment (arc ou ligne) lorsque je suis sur la fonction " élément mécano-soudé " Le nombre N = 16 me parait trop grand ( pour la sélection et pour le traitement de SolidWorks) est ce que c’est possible d’avoir les deux macros N = 2 et N= 8 ?

1 « J'aime »

Bonjour @Farouk ,

La macro (en fait un module exécutable) est en pièce jointe, accompagnée d’une page d’explications et d’un document de pièce allégé pour effectuer mes test, reprenant un des lion de votre esquisse initiale.

Cordialement.

Document joint supprimé…

1 « J'aime »

Rebonjour @m.blt

Merci pour tes efforts et ton aide très précieuse .
J’ai essayé de lancer l’application sur SolidWorks 2023 et 2022. en étant le fichier que je voulais traiter ouvert et autre fois fermer, l’exécution en mode administrateur, le fichier joint lion et un autre fichier
J’ai un message disant fichier inconnu
image

Merci pour ton retour.

Ce message est affiché si le document à ouvrir n’est pas défini.
Il faut le renseigner dans la boîte de saisie en haut de la fiche…

J’ai uploadé les étapes que j’ai réalisé , j’ai fais l’essai en sélectionnant la version de SolidWorks en premier et après le fichier après connexion .

Différence entre le fonctionnement dans l’environnement de développement et le fonctionnement sur le PC de l’utilisateur final…
Seconde tentative avec le zip joint.
AppliBiArc_1.zip (1,6 Mo)

2 « J'aime »

Mission réussi !!!
Merci infiniment
:grinning: :innocent: :heart_eyes: :smiling_face_with_three_hearts:

1 « J'aime »

Bonjour @m.blt
J’espère que tu vas bien.
J’ai rencontré un problème en utilisant l’application de conversion, j’essaye de convertir des esquisses sur des plans différents du plan de face en arc (en vert) j’obtiens des esquisses sur le plan de face (en rouge).
Est ce que c’est possible de résoudre le problème ?


.
J’ai converti les esquisses 2D en une esquisse 3D et ça fonctionné.
Merci beaucoup