Bonjour,
Grace au tutoriel vidéo "Type menu déroulant 20", j'ai bien compris que l'on pouvait piloter les choix d'un menu en fonction de la valeur rempli dans un autre menu.
Nous avons dans notre cas une case matière. Il s'agit d'une variable remplie automatiquement en fonction de la matière selectionnée dans notre bibliothèque de matériaux qui nous est propre. Nous souhaitons avoir un menu déroulant "protection" qui nous propose un certain nombre de choix de traitements en fonction de la matière de la pièce.
J'ai testé et tenté de reproduire le tuto, en vain. Le second menu déroulant reste basique et ne tient pas compte de la condition. J'ignore où est mon erreur ...
Merci,
sans_titre.png
Bonjour,
Il faut que votre deuxième menu déroulant soit en dessous du menu déroulant matière pour quil soit liée et chosir votre fichier texte dans le menu matière.
Le deuxième menu sera automatiquement lié au premier.
Sinon vous pouvez utiliser le type menu dynamique qui créer automatiquement les menu déroulant.
Une autre astuce:
Vous pouvez utiliser le type "Selection de matériaux" . Ce type permet d'appliquer un matériau au document et de copier les propriétés dans vos matériaux dans les propriétés du document SW.
Pour cela remplisser dans l'onglet personnalisé les propriétés qui vous intéresse :
Materiaux SW:
Selection de matieraux SmartProperties:
A la validation de SmartProperties, il appliquera le matériau à la pièce et copiera les propriétés du matériau selectionné dans le document SW.
Philippe
Tout d'abord, merci beaucoup pour ces réponses. Malheuresement, je n'ai pas encore la solution idéale à mon problème. Dans l'ordre :
Solution 1 : Les 2 menus déroulants
Effectivement, une fois l'un en dessous de l'autre et le fichier texte lié au premier, ca fonctionne. Néanmoins, actuellement, la valeur de mon premier menu déroulant est la variable "SW-Material@Nomdufichier.SLDPRT". Et le second menu déroulant n'analyse pas la valeur de cette variable ... Cette solution ne répond donc pour le moment pas à notre besoin.
Solution 2 : Le menu dynamique
Je ne connais pas ce type et n'ai pas encore trouver de tuto. J'ignore si cette fonction remplierai notre besoin.
Solution 3 :
Le début à l'air prometteur, mais ce que je comprend ( peut être à tort ), c'est que l'on ne peut attribuer qu'un traitement à la matière. Et non pas une liste de possibilités selectionnable dans le Smart Properties. Ou alors il faudrait créer autant de matières dans la biblio qu'il y a de possibilité de jeu de matière + traitements. Ce qui serai beaucoup trop lourd dans la cas de ma société.
Bonjour,
Vous pouvez utiliser une autre solution sans passer par les menus déroulant car je n'ai pas trouvé de solution qui fonctionne dans votre cas...
Solution 4 :
Si vous n'avez pas 50 matières bien sur, vous pouver utiliser le type Groupe conditionnel.
C'est un groupe qui s'affiche que si la condition est rempli.
Dans votre cas il faut créer un groupe conditionnel par matière et un menu déroulant dans chaque groupe.
Chaque menu déroulant aura un seul niveau celui du traitement spécifique à la matière
La syntaxe est la même que pour le type Conditionnel:
IFF($Matiere=3.2365 (6061/6082)|Visible|nonVisible) avec a la valeur d'égalité pour affichier et appliquer les propriétés du groupe dans mon exemple 'Visible'
A+
Philippe
Cette solution semble prometteuse, cependant, je n'arrive pas à la mettre en application. ( Ma config ci joint)
Je pense, peut être à tort, que le problème est le même que pour la solution 1: la matière est une variable et SmartProperties n'arrive pas à en reconnaitre le texte.
capture.png
Bonjour,
Effectivement, je reproduit.
Le problème n'est pas lié au calcul de la variable évalué mais est lié aux caractères ( ) qui pose problème dans le calcul du résultat du IFF
Comme tout problème à un contournement, vous pouvez utiliser le caractère joker * pour calculer la condition
Exemple : IFF($Matiere=3.2315*|Visible|nonVisible)
Je croise les doigts :)
Philippe
En effet, ca fonctionne !
Il ne me reste plus qu'à créer une armée de d'IFF et le tour est joué. Merci beaucoup.