## Créer et Modifier une Fonction de Bibliothèque de SolidWorks

Les fonction de la bibliothèque AltiTech 2.x sont toutes des Fonctions de Bibliothèque de SolidWorks.
Ces Fonctions de Bibliothèque sont relativement facile à créer. Je présente ci-dessous comment en créer et en modifier une.
Pour plus de détails, se repporter à l'aide en ligne SW (pas toujours très claire)

## Procédure pour créer une Fonction de Bibliothèque

Version provisoire

- 1ère étape :
  - Créer une Nouvelle pièce (.sldprt) suivant la méthode classique
  - Extruder une (ou des) fonction de base pour créer le brut du prototype sur lequel va être déposée la future fonction de palette (exemple : un cylindre) :
    - ce brut ne sera pas inséré dans la pièce où vous déposerez votre fonction de palette mais il sert à " supporter " le prototype de celle-ci

- 2ème étape : Sur le brut :
  - Insérer la succession de fonctions SolidWorks ( Esquisses, Plans, Extrusions…, Equations, Configurations, Familles) qui constitueront la fonction de palette prototype .
  - Cette succession de fonctions SolidWorks doit limiter le nombre de points d'accrochages "dans le modèle " avec le brut :
  - ces points d'accrochage serviront de Références lors de l'insertion de la fonction dans une pièce

- 3ème étape :
  Nommer les cotes paramétrables afin que la saisie des cotes lors de la dépose de la fonction sur une pièce ne soit pas trop absconse (exemple : D7@esquisse 4….) :

- dans une esquisse (ou à l'écran après un double-clic sur le symbole d'une fonction dans l'arbre de création), clic sur la valeur d'une cote puis , dans Feature Manager : Autres Propriétés > Propriétés de la côte > Nom :
  - dans le champ Nom saisissez le nom explicite que vous affectez à la cote : il s'affichera dans les champs de saisie des cotes lors de l'insertion
  - nommer les cotes facilite l'écriture et la lecture des Equations, la gestion des Familles de pièces
  - pour afficher le nom des cotes dans les esquisses ou à l'écran après double-clic sur le symbole d'une fonction dans l'arbre de création : Options du système > Général Montrer le nom des cotes
  - lorsqu'une Fonction de Bibliothèque est insérée dans une pièce, seules les cotes paramétrables saisies lors de la dépose sur la pièce sont accessibles et modifiable par l'utilisateur par la méthode classique (double-clic sur le symbole de la fonction dans l'arbre de création) : il est inutile de trop se creuser la tête pour nommer les cotes fixes ou calculées par Equations

Nommer les entités ( Fonctions, Esquisses, Plans ...) qui seront importées lors de l'insertion de la fonction:

- l'arbre interne de la fonction sera plus lisible
- la création des configurations sera plus facile
- la lecture des équations sera plus facile

- 4ème étape :
Créer les configurations de la pièce et/ou Insérer les familles de pièces si votre fonction doit comporter des Configurations

- cette étape peut s'effectuer après les premiers essais du comportement de la fonction

- 5ème étape :
  Sauvegarder la pièce créée (de suffixe .SLDPRT) au format de Fonction de Bibliothèque (de suffixe .SLDLFP) :
  - Fichier > Enregistrer sous... > Type Lib Feat Part Files (.sldlfp)
  - Donnez un nom à votre fichier : c'est le nom qu'aura, par défaut,votre Fonction de Bibliothèque dans l'Arbre de création des pièces où elle sera insérée.
  - La pièce est sigalées en racine de l'Arbre de création comme Pièce de bibliothèque
  - Deux dossier ont été créés dans la partie supérieure de l'Arbre de création:
  - un dossier Références
  - un dossier Cotes qui contient deux sous-dossiers Cotes de positionnement et Cotes internes

- 6ème étape :
  Déclarer les Esquisses, Fonctions, Plans, Axes qui appartiennent à la Fonction de bibliothèque :
  - dans l'arbre de création, pointer la ou les fonctions qui appartiendront à la fonction de palette puis clic-droit > Ajouter dans la bibliothèque :
    - Sur les fonctions qui sont acceptées dans la Fonction de palette apparaît, en sur-impression verte, le symbole (initiale de Library - bibliothèque en anglais).
    - Certaines fonctions peuvent être refusées : Cf. les messages d'erreur
    - Lorsque la fonction sera déposée sur une pièce, ces fonctions sont celles qui apparaitront dans l'arbre de création interne de la Fonction de bibliothèque (clic sur )
  - le choix des Références et le statut des Esquisses (iso-contrainte ou sous-contrainte ) modifie la procédure de dépose des fonctions: voir 9ème étape

- 7ème étape :
Vérifier les entités d'accrochage de la fonction sur la pièce de dépose :

- dérouler le dossier Références :

- il contient la liste des références externes des fonctions sélectionnées dans la Fonction de bibliothèque
- elle doit être le plus courte possible pour faciliter la dépose (ce sont les entités à sélectionner pour positionner la fonction sur une pièce )
- cette liste peut varier si l'on ajoute ou enlève de nouvelles fonctions dans la bibliothèque
- si une entité est appelée par deux fonctions différentes, elle n'apparait qu'une fois dans la liste

- il est partique de créer des Plans et des Esquisses à partir de la Face de dépose

- Nommer ces entités de référence
  - Double-clic lent sur le nom de l'entité....
  - Clic-droit > Propriétés de la Face.... > Nom :
  - cette procédure est souvent suspicieuse: certaines entités (arêtes...) n'acceptent un nom que lorsqu'elles sont dans un état non modifié par rapport à leur création: remonter l'ascenceur sur l'Arbre de création, afin de laisser active comme dernière fonction la fonction qui génère l'entité : elle accepte alors d'être nommée
  - sur certaines pièces, les accents sont refusés dans les noms d'entités..... (alesage...)

Pour limiter le nombre des références, il est judicieux de Contraindre entre elles les fonctions de la bibliothèque plutôt que de chercher des références externes.
Des entités parasites ajoutées par les accrochages automatiques peuvent allonger la liste et compliquer la dépose:

- dans les 2 cas il est intéressant de retrouver les accrochages et cotes qui appellent les entités de références:
  aucune méthode directe de recherche n'est disponible (Parents/Enfant est difficile à utiliser) : il faut explorer une à une les fonctions déclarées dans la fonction de bibliothèque pour les identifier :

- Editer les esquisses de la fonction puis Afficher/Supprimer les relations > Relations Externes :
  Sélectionner une entité du champ puis dans le champ Entités sélectionner l'entité Défini dans : Même modèle : son adresse apparait dans le champ Entité, éventuellement sous le nom défini ci-dessus
- Pour les Plans, Axes, Fonctions, Editer la fonction et vérifier les différentes entités saisies dans leurs définitions

- 8ème étape :
  Déclarer les Cotes qui seront proposées dans les champs Positionnement , Valeurs des cotes ainsi que les cotes Internes de la fonction:
  - ouvrir le dossier Cotes : toutes les cotes des fonctions sélectionnées se retrouvent dans la racine de ce dossier:
  - les cotes qui resteront à cet emplacement apparaitront dans le champ Valeurs des cotes
  - les cotes de positionnement doivent être déplacées dans le dossier Cotes de positionnement
  - les cotes internes doivent être déplacées dans le dossier Cotes internes

- 9ème étape :
  La Fonction de palette est maintenant créée et doit être testée avant d'être utilisée :
  - le test ne peut s'effectuer que si la Fonction créée est dans un répertoire accessible à Feature Manager : pour déclarer un répertoire comme contenant des Fonctions de Palette : Outils > Options > Options du système > Emplacements des fichiers > Montrer les dossiers pour Bibliothèque de conception ….
  - Si la Bibliothèque de conception est déjà ouverte sur le répertoire où est chargée votre nouvelle fonction, clic sur le bouton Recharger.
  - Pour ouvrir la fonction fonction : Double-clic sur l'icône de la fonction
  - Lorsque la fonction est au point, il est conseillé de l'enregistrer en lecture seule

  Comportements de la fonction créée :

1er cas

- une seule Référence : un Face sur laquelle sont créée(s) Esquisses, Plans
- la 1ère Esquisse est sous-contrainte ( précédée d'un - )
- elle se trouve en tête de la fonction de bibliothèque ou est l'Esquisse de la fonction en tête de la fonction de bibliothèque

- dans le champ Position, le bouton permet d'accéder à la fenêtre flottante Profil de fonction de bibliothèque et l'Esquisse ci-dessus s'ouvre : il faut la contraindre (comme sur les ex Fonctions de Palette).
  pour revenir au Gestionnaire
- le champ Cotes de positionnement devient accessible pour terminer la dépose

2ème cas

- une seule Référence : un Face sur laquelle sont créée(s) Esquisses, Plans
- la 1ère Esquisse est sous-contrainte mais ne se trouve pas en tête de la fonction (un plan, un axe ou une fonction ne nécessitant pas d'Esquisse est en tête de la fonction de bibliothèque)

- il faut confirmer le Plan de positionnement
- le champ Cotes de positionnement est accessible pour terminer la dépose
- la fonction est incomplètement positionnée en fin de dépose - la 1ère esquisse est sous-contrainte - même si cela n'apparait pas dans l'arbre de construction de 1er niveau

3ème cas

- plusieurs Références et toutes les Esquisses iso-contraintes

- la dépose s'effectue en sélectionnant les entités du champ Références
- les Cotes de positionnement sont alors accessibles (cf. insertion des Fonctions AltiTech )
- les Esquisses peuvent ne pas être iso-contraintes mais cela est très fortement déconseillé: dans ce cas, rien ne peut garantir la stabilité des fonctions lors de leur de leur dépose ou lors de reconstructions ultérieures

Quelles comportements particuliers :

- la fonction ne peut être déposée:

- si elle ne coupe pas le corps de la pièce après que les Références aient été choisies (mais avant que les Cotes de positionnement n'aient été définies ) - il est parfois possible de "forcer" la rafale de messages d'erreur pour accéder à ces Cotes de positionnement

- créer une Configuration pour chaque plage de dimension du brut permet de contourner le problème

- si l'une de ses Fonctions ne coupe pas le corps en fin de dépose

- modifier la structure de la fonction

- certaines Equations n'ont pas été importées :
  - elles avaient des facteurs "dans le modèle"
- la fonction prend une drôle d'allure pour certaines valeurs :
  - vous avez perdu des Equations en chemin : voir ci-dessus
  - certaines de vos Esquisses (isolées ou dans une Fonction) sont sous-contraintes (précédées de (-) dans l'arbre de création) : les entités "libres" réagissent à leur guise au moment de l'insertion : il faut les contraindre : Ajouter des relations géométriques
- les Equations non cochées sont importées (décochées) si tous leurs facteurs sont "dans la fonction"
- les Fonctions déclarées "de Bibliothèque" ne sont pas importées si elles sont Suppimées
- dans le champ Configurations les configurations apparaissent dans l'ordre de leur création

- dans le volet Configurations de SW elles sont classé par ordre croissant dans le code ANSI.....
- le classement des Familles dans une feuille Excel est libre, mais n'a aucune influence sur les classements signalés ci-dessus....: pour avoir l'ordre que vous désirez voir Modifier une Fonction de bibliothèque

## Quelques trucs et astuces pour structurer vos Fonctions de Bibliothèque

- Créer les Plans non parallèles à la Face de dépose, les Axes à partir des entités d'Esquisses importées par la fonction : Plan Courbe....
  - il est souvent pratique d'utiliser en tête de fonction une Esquisse qui permet de mettre en place les Géométries de références sur lesquelles s'appuieront Esquisses, Répétitions.....
  - Remarque : les Fonctions de bibliothèque entraînent la création presque inévitable de nombreux Plans : pour garder une bonne lisibilité de l'arbre de création, il vaut mieux ne pas Décomposer ces fonctions, ou alors le faire dans un Dossier dans lequel on place la fonction, avant Décomposition.

- Pour garder une bonne stabilité des esquisses créées dans les plans annexes lors de la saisie des cotes à l'insertion, il est préférable d'Ajouter des relations géométriques points coïncidents, point de fusion… entre ces esquisses et la 1ère Esquisse
  - Pour mettre en place les esquisses entre elles, de nombreux traits de constructions sont nécessaires (en particulier pour assurer une stabilité dynamique de l'esquisse à l'insertion) : toute entité peut, à posteriori, être transformée en Ligne de construction : l'entité d'esquisse étant sélectionnée, dans le Gestionnaire d'entité : Options Pour la construction

- Il est hasardeux d'utiliser Lier des cotes :il est difficile de prévoir le nom des liens déjà existant dans les pièces d'importation:

- il vaut mieux utiliser une Equations de type cote1 = cote2

- Si vous utilisez néanmoins les Liens des cotes, lors de la dépose de la fonction une fenêtre apparaît qui signale tous les liens déjà utilisés et propose soit d'affecter les valeurs courantes du fichier aux liens importés, soit de renommer (automatiquement) tous les liens de l'occurences importées

- les liens ne me semblent présenter d'intérêt que si on crée des fonctions qui doivent être utilisées de manière concomitentes, avec des valeurs identiques

- Fonction de bibliothèque à orienter dans la pièce à l'insertion : bannir toutes les Relations géométriques du type Horizontal, Vertical... :
  - elles sont conservées dans le contexte d'insertion et perturbent parfois fortement les reconstructions : installer à la place entre les entités et avec l'extérieur des Relations géométriques de type Parallèle, Perpendiculaire, à distance….
- il est possible de laisser la première Esquisse sous-contrainte (dans le cas N°3 de dépose):

- l'utilisateur oriente alors l'esquisse manuellement après la fin de dépose (Editer l'esquisse): je préfère mettre une contrainte Vertical.. qu'il peut modifier, cela évite des Esquisses sous-contraintes oubliées
- si la fonction risque de ne pas croiser le corps (exemple: dépose sur un demi-cylindre), il est impératif de laisser cette esquisse sous-contrainte : la fonction se cale alors automatiquement sur le corps, dans une position quelconque.

- Fonction de palette avec Répétition :
  - la/les Directions ou l'Axe de la répétition doivent impérativement être des Axes (géométrie de référence SolidWorks)
  - dans le cas d'une Répétition linéaire l'Axe doit être créé avec 2 Points : sinon le sens de la répétition est imprévisible

- Obtenir une insertion " propre " dans les pièces :
  - Cacher les Plans créés et les Esquisses" libres", sur lesquelles n'est construite aucune fonction

- Changer le nom d'une cote utilisée ou définie dans une/des équations :
  - Editer la/les équations et, dans l'éditeur, la/les faire précéder d'un ' (apostrophe) : elles ne sont alors plus évaluées et le changement de nom est possible dans les Autres propriétés de la cote
    Le changement de nom sera (en général) automatiquement pris en compte dans les équations.
    Ne pas oublier de supprimer les apostrophes après avoir renommé la cote

J'espère que ces remarques et réflexions vous éviteront quelques surprises lors des tentatives d'insertion des fonctions que vous ne sauriez manquer d'écrire. Si vous pensez qu'elles peuvent être utile au plus grand nombre, envoyez les moi pour les agréger à la bibliotèque AltiTech, ou signalez moi les liens où je pourrai rediriger mes visteurs.

Pierre Granouillet - 02/2008

## Modifier le prototype d'une Fonction de Bibliothèque AltiTech

- Ouvrir le prototype (.sldflp) d'une Fonction de Bibliothèque:

- dans le volet Bibliothèque de conception, Double-clic sur l'icone de la fonction ( ou Clic-droit > Ouvrir )
- dans l'Arbre de création, sélectionner une occurence de la Fonction de bibliothèque > Clic-droit > Editer dans le contexte

- Les fonctions incluses dans la Fonction de bibliothèque sont repérées par le symbole en sur-impression verte

- elles fonctionnent exactement comme les fonctions d'une pièce (.sldprt)
- en racine de l'Arbre de création, le dossier Références liste les Faces, Arêtes qui permettent l'accrochage de la fonction sur la pièce lors de la dépose (la 1ère Face est le Plan de positionnement de la fonction)
- le dossier Cotes liste toutes les cotes importées lors de la dépose:

- en racine les cotes du champ Valeurs des cotes
- le sous-dossier Cotes de positionnement contient les cotes du champ de même nom
- le sous-dossier Cotes internes contient les cotes qui ne sont accessibles qu'en Editant les Esquisses et Fonctions de l'arbre interne de la fonction déposée

- pour plus de précisions voir Créer une Fonction de Bibliothèque

- Si la fonction ne comporte pas de Configuration, toute modification des Cotes, Esquisses, définition des Fonction sera immédiatement prise en compte

- Si la fonction comporte des Configurations, préciser chaque fois à quelle(s) configuration(s) s'applique la modification (comme pour une Pièce normale)

- par défaut, les modifications ne s'appliquent qu'à la configuration courante pour Modifier un cote, Supprimer....

- Si la fonction comporte des Famille de pièces : il est possible:

- d' Editer la famille de pièce : elle s'ouvre comme fenêtre flottante d'une Feuille d'Excel dans SolidWorks. Cette fenêtre se ferme pour tout Clic hors de la feuille Excel
- d' Editer dans une nouvelle fenêtre : le logiciel Excel s'ouvre avec la Feuille de la Famille de pièce. Il est généralement immédiatement minimisé dans la Barre de tâches Windows

- je préconise cette option: toutes les option d'Excel sont alors normalement accessible (moins évident avec la première option)
- pour sortir : Quitter Excel : les modifications de la Feuille de la Famille ne sont pas pris en compte dans le cas d'une simple Fermeture de celle-ci

- En modifiant la Feuille Excel de la Famille , il est possible :

- de rectifier des cotes (merci de me signaler mes erreurs ou omissions de saisie )
- d' ajouter ou supprimer des configurations.
  A la fermeture d'Excel, SolidWorks :

- signale les nouvelles Configurations créées
- demande de confirmer les Configurations supprimées ( il est possible de garder un configuration Supprimée dans Excel: elle sera alors considérée comme non pilotée par la Famille )

- AltiTech utilise, pour définir les bruts, des Equations Excel: elles se copient normalement en draguant les cellules
- Rappel: dans une Feuille Excel de Famille, tout cellule vide entraine l'arrêt de l'évaluation de la feuille

- la ligne de la cellule et toute les suivantes ne sont pas évaluées
- la colonne de la cellule et toute les suivantes ne sont pas évaluées

- des erreurs de manipulation entrainent facilement la perte de la Famille et, souvent, de toutes les Configurations:

- il est conseillé d'Enregistrer sous... le fichier de la Fonction de bibliothèque avant de bidouiller...
- je fournis les fichiers Excel (.xls) de toutes les Configurations des fonctions AltiTech : ..\AltiTech_v2-0_beta\Macros_et_Familles\Familles de pièces_xls

- pour recharger une fonction: Editer la fonction > A partir du fichier....
- pour sauvegarder une famille (conseillé ) : Enregistrer la famille...

- Vous avez rajouté, au milieu de la Feuille Excel, les configurations qui vous manquaient et :

- elles sont n'importe où dans Configurations : elle y sont classées dans l'ordre croissant du code ANSI...
- elles sont en fin de liste des Configurations du Gestionnaire lors de la dépose : elles y sont classées par ordre de création

- Pour les remettre dans l'ordre désiré lors de la dépose (je ne peux rien pour vous dans les Configurations ) :

- Enregistrer la famille...
- Effacer la Famille de pièces et, dans Configurations Effacer toutes les configurations (activer la configuration Défaut pour éviter des reliquats )
- Insérer > Famille de pièces > A partir d'un fichier: les configurations seront alors listées dans l'ordre de la feuille au sein du Gestionnaire de dépose de la fonction

- Cas particulier des Engrenages (et des Cannelures en développante de cercle )

- vous avez créé un nouvelle configuration. Elle apparait normalement dans les Configurations. Erreur fatale lors de l'appel de cette configuration pour insertion (une grande variété de Messages d'erreur possible) :

- les Engrenages (et les Cannelures en développante de cercle ) comportent des Equations avec des Cotes pilotées : il n'est pas possible de Reconstruire les Configurations dans n'importe quel ordre. Elles nécessitent de plus des Reconstructions multiples pour converger.

- vous n'avez créé qu'une nouvelle Configuration:

- dans Configurations, sans toucher à la configuration que vous venez de créer, activez par Double-clic, la configuration dimensionnellement la plus proche de votre configuration (elle se reconstruit, normalement sans errreur), puis activez par Double-clic votre Configuration : elle se reconstruit avec un message d'erreur (et en prenent éventuellement des formes exotiques), puis Reconstructions_x4 (cf Insertion des engrenages)

- vous avez créé de nombreuses Configurations ou vous avez modifié des valeurs sur les configurations existantes:
  je fournis une macro qui reconstruit les configurations dans un ordre "qui passe" avec la série fournie.

- Pour que la votre configuration soit prise en compte : barre de commande Macro :

- Editer la macro ...\AltiTech_v2-0_beta\Macros_et_Familles\Reconstructions Engrenages.swp
- Insérer le nom de votre configuration entre les 2 modules existants qui le suivent et le précède, suivant le modèle ..dans la liste qui commence à 'on ajoute des lignes dans la listbox1' (les modules sont décroissants de "Défaut" (m=1) à "m=0.06" puis croissants de "valeurs secondaires" (m=1.125) à "m=70*" ) puis Enregistrer la macro et Fermer VisualBasic

- Exécuter la macro ...\AltiTech_v2-0_beta\Macros_et_Familles\Reconstructions Engrenages.swp

- si vous n'êtes pas pressé (certaines fonctions peuvent mettre plusieurs dizaines de minutes pour reconstruire toutes les configurations - avec un poste moyennement poussif) et si vous avez de la place sur votre disque ( certaines fonctions ont pesées jusqu'à 75Mo...), vous laissez votre fonction "en l'état" avant de lancer la macro
- si vous êtes pressé et/ou manquez de place, avant de lancer la Macro :
  Denture > Propriétés de la Fonction Supprimée : Toutes les configurations
- la reconstruction s'effectue beaucoup plus vite, avec un seul Creux de dent. La macro terminée :
  Denture > Propriétés de la Fonction Supprimée : Toutes les configurations puis Enregistrer et Quitter sans aller farfouiller dans les configurations

- cette procédure allège très fortement les fichiers (c'est celle que j'ai utilisée pour AltiTech ).
  Lors de la dépose d'une fonction Engrenage, la non-reconstruction de la Répétition dans les configurations explique les Messages d'erreur fugitifs et la durée de reconstruction du prototype après le choix d'une configuration

- si vous utilisez souvent les même modules, il est possible de ne reconstruire complètement que les configurations qui vous intéressent:dans Configurations, activez par Double-clic la Configuration qui vous intéresse: elle se reconstruit avec un message d'erreur (et en prenent éventuellement des formes exotiques), puis Reconstructions_x4 puis Enregistrer
- remarque : c'est la Configuration active à l'enregistrement qui est proposée par défaut à la dépose de la fonction.