Propriétés personnalisées tôlerie

Bonjour à tous,

Je conçois régulièrement des ensembles mécano-soudés dont je récupère les listes des pièces soudées pour les intégrer sur mes mises en plan.

Dans ces listes des pièces soudées, je récupère, par le biais d'une propriété personnalisée nommée "Description" (voir pj) les caractéristiques géométriques de mes profilés, que je renomme en fonction de ces caractéristiques. Par ex. pour un tube carré de 100x3 et de longueur 1544 mm, le corps se nommera TC100x3...1544.

En revanche, ça se complique lorsque mon corps est une tôle... Je souhaiterais pouvoir récupérer l'épaisseur (par ex. 3mm), la longueur (400 mm) et la largeur (100 mm) de la tôle dépliée pour nommer mon corps de la façon suivante : Tôle ép.3...400x100 .

Le corps comporte bien les propriétés Epaisseur de tôlerie, Longueur du flanc de tôle et Largeur du flanc de tôle, mais comment faire pour les intégrer dans la propriétés "Description"?

Merci d'avance pour votre aide.


2019-02-25_10h50_10.png

voir ce tuto

http://www.lynkoa.com/tutos/3d/la-concatenation-de-proprietes-dans-solidworks-aout-2014

@+

2 « J'aime »

Merci pour le tuto @gt22 de notre belle province.

zz

tu as les utilitaires mycadtools?

2 « J'aime »

Oui attention on parle de multi-corps la...
Je ne penses pas que $PRP:nom_prp fonctionne ?

Avec SMARTPROPERTIES, pas de soucis :


smartproperties.jpg
1 « J'aime »

Voici la concaténation faite dans smartproperties :


smartproperties_exemple.jpg
1 « J'aime »

@gt22: j'avais vu ce tuto, mais bizarrement la concaténation avec $PRP: machin ne fonctionne pas du tout chez moi...

@max59: tu es sur la bonne voie :)

En pj je vous ai mis une image de ce qu'il me faudrait. Les 3 propriétés sont disponibles mais comment les intégrer dans la propriété "Description"?

J'ai essayé plusieurs expressions dont la concaténation, mais aucune n'a fonctionné jusqu'à présent...

 


2019-02-25_19h00_13.png

récemment pour un client (usage ponctuel), on a eu un besoin analogue : dans une pièce mécano-soudé (au sens SW), affiché long x largeur dans une propriété de corps.
On a juste récupéré le contenu utilisé pour avoir la longueur et la largeur et tout collé dans la case qui nous intéressait.

Dans ce cas, ça donnerai :
"SW-Longueur du flanc de tôle@@@..." x "SW-Largueur du flanc de tôle@@@..." x etc.

1 « J'aime »

Bonjour,

J'arrive un peu tard mais j'utilise depuis longtemps la même chose que Stefbeno, copier les formules des variables voulues, les mettre a la suite intercalés du texte voulu, ca marche parfaitement
Et les valeurs changent à la copie, a la copie d'arborescence et au renommage des configs, soit je ne vois aucun d'inconvénient à faire comme ca !

@+

stefbeno et Michael oui, sauf qu'il faut faire la manip manuellement pour chaque tôle...

Il doit bien y avoir une expression qui permette de récupérer ces valeurs automatiquement, en présence d'un corps de type "Sheet", non?

Il faut le prévoir dans le modèle de document ou dans le modèle de liste de pièces soudées, pour les prochaines pièces...

1 « J'aime »

Reste a copier/coller dans le résumé des propriétés :
Exemple : 
Laser "SW-Longueur du flanc de tôle@@@Tole<2>@Pièce1.SLDPRT"x"SW-Largeur du flanc de tôle@@@Tole<1>@Pièce1.SLDPRT" ep"SW-Epaisseur de tôlerie@@@Tole<2>@Pièce1.SLDPRT"

Bonjour,
A mettre dans le modèle par défault.

Pour les pièces existantes il faudra passer par une macro, j'ai fait celle ci perso, pour un problème similère :

 


Option Explicit
    Dim swApp               As SldWorks.SldWorks
    Dim swModel             As SldWorks.ModelDoc2
    Dim swFeat              As SldWorks.Feature
    Dim swCustPropMgr       As SldWorks.CustomPropertyManager
    Dim NF                  As String
    Dim Liste               As String
    Dim Final               As String
    Dim st                  As String
    Dim swBodyFolder        As SldWorks.BodyFolder
    Dim swBody               As Body2
    Dim vBody                As Variant
    Dim i           As Integer
Sub main()
  
    On Error Resume Next
  
  
    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    Set swCustPropMgr = swModel.Extension.CustomPropertyManager("")
    
    
    NF = swModel.GetTitle() & ".SLDPRT"
    st = """"
      
    Set swFeat = swModel.FirstFeature
        Do While Not swFeat Is Nothing
            If swFeat.GetTypeName() = "CutListFolder" Then
            Liste = swFeat.Name
            Set swBodyFolder = swFeat.GetSpecificFeature2
            swBodyFolder.UpdateCutList
            Final = st & "SW-Longueur du flanc de tôle@@@" & Liste & "@" & NF & st & "x" & st & "SW-Largeur du flanc de tôle@@@" & Liste & "@" & NF & st
                    
                    Set swCustPropMgr = swFeat.CustomPropertyManager
                       swCustPropMgr.Add3 "Dimension", swCustomInfoText, Final, 1

            End If
        Set swFeat = swFeat.GetNextFeature
        Loop
  
  
End Sub


Il vous suffira d'adapter cette ligne : 

Final = st & "SW-Longueur du flanc de tôle@@@" & Liste & "@" & NF & st & "x" & st & "SW-Largeur du flanc de tôle@@@" & Liste & "@" & NF & st
NF êtant un concatener de :  nom de la pièce + .SLDPRT
st êtant le caractère guillemet (")

Après vous pouvez faire ce que vous voulez comme formule, rajouter du texte, c'est l'avantage des macros !
 

1 « J'aime »

Merci Michael !
Par contre, je ne vois pas comment mettre dans le modèle par défaut cette propriété de corps :
Laser "SW-Longueur du flanc de tôle@@@""x"SW-Largeur du flanc de tôle@@@"" ep"SW-Epaisseur de tôlerie@@@@@@""

Merci Michael pour la macro, mais je ne devrais a priori pas en avoir besoin étant donné que je ne fais que des conceptions unitaires, nouvelles à chaque fois.

Pour ce qui est de la méthode de max59, de mettre l'expression dans le modèle par défaut, ok mais je pense que ça ne fonctionne que dans le cas où la pièce ne contient qu'un seul corps...

 

Bonjour,

Pour le modèle par défault, mon conseil est de créer juste une fonction mécano soudé dans le modèle par défault pour y ajouter votre variable qui va bien.
Normalment dès la création des corps ils prendrons la valeur adéquat.

Vous pouvez aussi faire un modèle de pièce normale et un mécano soudé si le fait d'avoir la fonction mécano soudé sur toutes les pièces vous dérange


test.jpg
1 « J'aime »

"Normalement dès la création des corps ils prendrons la valeur adéquat."

Oui ca je connais, ca fonctionne pour les pièces mécano soudée mais pas pour les corps de tolerie malheureusement.
Merci quand même pour toutes ces infos !

Le soucis avec les corps de tôlerie, c'est que la propriété "Description" prend automatiquement  la valeur "Sheet" lors de la création de la tôle.

Sous SW2019, dans Option => Propriétés du document => Constructions soudés, il y a possibilité de changer cette valeur par défaut (voir pj). Mais quelle expression écrire à la place de Sheet pour obtenir mon fameux Tôle ép.# ... ### x ### ?


2019-02-27_14h33_20.png
1 « J'aime »

Impossible de rentrer des caractères spéciaux dans cette case...
​​​​​​

bonjour,

j'ai fais il y a quelque temps un tuto sur le sujet

https://www.lynkoa.com/contenu/comment-concatener-un-texte-dans-la-liste-de-piece-mecano-soudee-0

que la force soit avec toi

1 « J'aime »