Bonjour,
quelqu’un sait-il comment afficher sous forme de note dans une mise en plan le nom d’une fonction ou sa description, ici en l’occurrence une fonction de bibliothèque
Merci
![CAPTURE 000460](https://forum.mycad.visiativ.com/uploads/default/original/2X/2/24797b8baf4101c6e364eb89b0a61f1250fcd5de.png)
Bonjour,
quelqu’un sait-il comment afficher sous forme de note dans une mise en plan le nom d’une fonction ou sa description, ici en l’occurrence une fonction de bibliothèque
Merci
Bonjour,
À ma connaissance, impossible actuellement de récupérer le nom d’une fonction.
Plusieurs solutions de contournement :
bulle avec bibliothèque de repérage
Note de bibliothèque
Un combi de 1+2 (enregistrer une note en bibliothèque avec la bibliothèque de repérage définie, quitte à supprimer les repères non existant dans la pièce)
Macro (sous réserve de possibilité - mais y en a des tout forts parmi les membres du forum qui vont certainement pouvoir se prononcer sur ce point.)
Peut-être en adaptant ce code depuis une MEP:
Salut,
Je n’ai pas eu l’occasion de tester, mais j’ai l’impression que ca se rapproche pas mal de ton besoin non ?
Comment lier des notes à des propriétés personnalisées dans SOLIDWORKS ? (javelin-tech.com)
En réponse à coin37coin
le problème de cet approche c’est que dans chaque pièce fabriqué il faut ajouter des propriétés, c’est inadapté dans mon cas
il faudrait pouvoir ajouter les propriétés dans les fonctions de bibliothèque et les appeler, je ne trouve pas comment faire dans la MEP
sachant que les propriétés serait toutes les mêmes mais 1 dans chaque pièce
cela permettrait d’afficher la qte et la description
pour le moment et à défaut je cherche a adapter la macro
dans la mep au lieu de sélectionner dans l’arborescence la fonction à la sélectionner dans le plan et à remettre le code sans fonction à part, une seul macro
Sub main()
'https://www.codestack.net/solidworks-api/document/features-manager/get-feature-type-name/
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim Fonction As String
Dim myNote As Object
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
If swModel.GetType <> 3 Then Exit Sub '1 = pièce, 2 = assemblage, 3 = plan
Fonction = GetTypeNames(swModel.SelectionManager)
Debug.Print Fonction
Set myNote = swModel.InsertNote("$PRPWLD:""QUANTITY""x" & Fonction)
End Sub
Function GetTypeNames(selMgr As SldWorks.SelectionMgr) As String
Dim typeNames As String
Dim i As Integer
For i = 1 To selMgr.GetSelectedObjectCount2(-1)
On Error Resume Next
Dim swFeat As SldWorks.Feature
Set swFeat = selMgr.GetSelectedObject6(i, -1)
If Not swFeat Is Nothing Then
'typeNames = typeNames & vbLf & swFeat.Name & ": " & swFeat.GetTypeName() & "; " & swFeat.GetTypeName2
typeNames = swFeat.Name
End If
Next
GetTypeNames = typeNames
End Function
Cette vidéo peut probablement te donner le début comment récupérer une fonction depuis une note (ici c’est pas le nom de la fonction mais le chemin pour istoolbox):
Il me semblait avoir compris que ta fonction est une pièce de bibliothèque intégrée dans ton 3D.
Or justement, ils t’expliquent comment ajouter des propriétés à ta pièce de bilbiothèque puis comment les rappeler via un call-out dans ta MEP.
Du coup, ca me semblait être tout indiqué pour ton usage. Mais peut-être suis-je passer à côté d’un points
j’ai essayé ca ne fonctionne pas chez moi, j’ai mis une propriété perso dans la fonction de bibliothèque, j’ai inséré la pièce de bibliothèque dans une pièce, dans une mep pièce impossible mettre une note avec le nom de la propriété
Il s’agit d’une fonction d’emboutissage :
donc peut-être voir du côté des ID de poinçonnage…
@Silver_Surfer n’utilisant pas (ou plus) de poinçon je ne connaissais pas cette astuce d’id pour une table de poinçonnage.
Merci pour l’astuce!.
https://help.solidworks.com/2021/french/SolidWorks/sldworks/c_Punch_Tables.htm
je veux obtenir le nom de la fonction peux importe si c’est de l’emboutissage ou une fonction personalisée
Essayez d’ajouter un ID de poinçonnage à l’outil de forme, puis appeler la propriété ID poinçonnage dans la note. Ca devrait marcher.
Pour ce qui est des fonctions de bibliothèque custom (Gravure N° visible dans l’arbre de construction), le lien proposer par @coin37coin peut fonctionner à condition que la fonction utilise des propriétés présente quelque soit le fichier.
Sinon c’est la macro : je chercherai a faire une macro qui, à partir de la sélection d’une fonction dans l’arbre de la mise en plan, créé une note à poser sur la vue/élément.
Mais selon moi, créer une note prédéfinie ans le même dossier que les fonctions de bibliothèque reste la meilleure solution en terme d’efficacité (et de simplicité).
Les fonctions de bibliothèque ci-dessous peuvent également apporter des éléments de réponse :
Écrou à souder hexagonal.SLDLFP (630,6 Ko)
Filet rapporté HELICOIL®.SLDLFP (2,6 Mo)
TUBTARA®.SLDLFP (944,0 Ko)
Chacun nécessite un point de réf (point dans une esquisse).
Le choix a été fait d’intégrer la géométrie de l’élément directement dans la fonction, et de préférer intégrer la description complète de l’élément dans le texte de la représentation de filetage.
Ainsi, en cotant la représentation de filetage, l’élément est identifié.
Pour la tôlerie, 2 répétitions par esquisse sont nécessaire afin d’obtenir un déplié sans l’écrou ou le tubtara®.
si je comprends bien ça ne fonctionne que si il y a un taraudage ou filetage avec la propriété dans représentation de filetage, texte associé, et tu ne peux pas compter le nombre d’occurrences
l’avantage c’est que c’est plus simple de positionner les éléments qu’avec insertion pièce
le truc c’est qu’ici les inserts sont mis avec insertion pièce et le trou a part avec une fonction de bibliothèque
je cherche ici le moyen de faire apparaitre une note avec le nom de la fonction dedans
pour le moment j’ai cette macro
-il manque le fait de sélectionner la fonction depuis une vue pièce pour que la note y soit rattachée
-la quantité de fonction du même type utilisée
Sub Fonction()
'MEP : Copie le nom de la fonction dans une note
'01 : Sélectionner une fonction dans l'arborescence pièce
'02 : La macro va créer une note avec le nom de la fonction
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swSel As SldWorks.SelectionMgr
Dim swFeat As SldWorks.Feature
Dim Note As Object
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swSel = swModel.SelectionManager
If swModel.GetType <> 3 Then Exit Sub '1 = pièce, 2 = assemblage, 3 = plan
If swSel.GetSelectedObjectCount2(-1) <> 1 Then Exit Sub
Set swFeat = swSel.GetSelectedObject6(1, -1)
If Not swFeat Is Nothing Then
'Set Note = swModel.InsertNote("$PRPWLD:""QUANTITY""x" & swFeat.Name)
Set Note = swModel.InsertNote(swFeat.Name)
End If
End Sub
Pourquoi ne pas ajouter une propriété au niveau des corps de pièces ?
Pour la fonction de poinçonnage je ne vois pas d’autre moyen que l’utilisation de l’ID de poinçonnage.
Par contre, comme vous utilisez l’insertion de pièce, vous pouvez récupérer facilement les propriétés :
Dans le fichier de pièce inséré, créer la propriété par exemple « Nom ».
Au moment de l’insertion, dans les options de transfert, sélectionner Propriétés personnalisées et Prop. pièces soud. comme ci-dessous.
Enregistré une note dans votre bibliothèque qui contient : $PRPWLD:« Nom ».
Reste plus qu’à la poser en l’attachant au corps de pièce.
De cette façon également, votre liste de pièce soudée se complètera automatiquement.
Astuce pour les pièces existante (avec les pièces déjà insérées) :
Activer la construction soudée.
Clique droit sur l’icône, sélectionnez propriétés.
Les propriétés créées dans cette fenêtre vont être créées automatiquement pour tous les corps de pièces soudés
Ensuite, clic droit sur un dossier / élément de la liste des pièces soudées > propriétés > Résumé des propriétés, sélectionnez la prop. qui va bien et remplissez les valeurs.
Si on prend l’exemple de la description pour les tubtara :
…avec une note $PRPWLD:« DESCRIPTION », on obtient :
Autre point : dans les options - propriété de document - assurez vous que l’option « collecter les corps identiques » soit activée.
tout fonctionne bien pour l’insertion de pièce dans une autre pièce le problème vient de l’insertion de pièce de bibliothèque, les propriétés pièces sont présentes mais impossible a afficher dans un plan