Script VB

Forum dédié à TopSolid'Design 7, la nouvelle génération de CAO TopSolid.

Modérateurs : D@vid, remi77

GuillaumeBLG
Seconde Classe
Seconde Classe
Messages : 8
Inscription : 06 déc. 2017, 12:23
Version TopSolid : 7.11
Module TopSolid : TopSolid'Design

Script VB

Message non lu par GuillaumeBLG » 21 déc. 2017, 08:49

Bonjour à tous,

Je m'attaque à la mise en place de standard dans mon entreprise et j'aimerais y intégrer des scripts (s'il y a un moyen de le faire avec une autre méthode je suis à l'écoute) afin de paramétrer des valeurs dans mes pièces.

Pour faire simple j'ai un paramètre P(Profondeur) que j'ai créé et que j'aimerais piloter selon d'autres paramètres présent dans ma pièces.
Mes paramètres pilotes sont :

- A=250mm (Section Int)
- Ec=4mm (Épaisseur Creusabro)
- Creusabro=Vrai (Creusabro)

Je voudrais donc mettre en place la condition suivante, si Creusabro=Vrai alors Profondeur=A+2*Ec sinon Profondeur=A

J'ai créé le script suivant en VB :

Dim P,A,Ec As Integer
Dim Creusabro As Boolean
If Creusabro = True Then
P = A+2*Ec
Else
P = A
End If

Mais j'ai un résultat de 0 alors que je devrais avoir 258. Je dois sûrement mal faire quelque chose mais les informations disponible sur le net pour les scripts se font rare. J'ai plusieurs hypothèses mais la première qui me vient est qu'il n'arrive pas à associer les variables de mon script aux paramètres de mon fichier pièce. Si quelqu'un à la solution je vais en avoir beaucoup d'autre à mettre en place par la suite. Notamment mettre des conditions pour faire apparaître ou non des formes dans une pièces, supprimer ou non des opérations etc.

Merci,

Guillaume

Avatar de l’utilisateur
JuP
Colonel
Colonel
Messages : 2971
Inscription : 18 févr. 2013, 10:26
Version TopSolid : 7.12
Module TopSolid : TopSolid'Design
Localisation : Lyon (France)

Re: Script VB

Message non lu par JuP » 21 déc. 2017, 14:53

Hello!

Tu n'as pas besoin de vb pour ça tu peux utiliser le paramètre tabulé. En fonction de la valeur d'un paramètre tu agis sur un autre (ça marche comme un select case).

Sinon pour ton code il faut juste ajouter à la fin

Code : Tout sélectionner

return P
Les script vb sont des fonctions tu dois donc (comme en vb.net) retourner quelque chose.

GuillaumeBLG
Seconde Classe
Seconde Classe
Messages : 8
Inscription : 06 déc. 2017, 12:23
Version TopSolid : 7.11
Module TopSolid : TopSolid'Design

Re: Script VB

Message non lu par GuillaumeBLG » 21 déc. 2017, 15:20

J'ai déjà regardé pour les paramètres tabulé mais pour ça ne faut-il pas que mon paramètre en fonction duquel j'agis soit un nombre? Quand je veux sélectionner mon paramètre Creusabro qui est de type Vrai ou Faux cela me marque "Unités incompatibles".

J'ai essayé d'ajouter return P à la fin de mon code et j'ai toujours 0 en résultats..

Avatar de l’utilisateur
JuP
Colonel
Colonel
Messages : 2971
Inscription : 18 févr. 2013, 10:26
Version TopSolid : 7.12
Module TopSolid : TopSolid'Design
Localisation : Lyon (France)

Re: Script VB

Message non lu par JuP » 21 déc. 2017, 15:54

Ah mais j'ai pas fait gaf il faut pas déclarer tes variables si elles viennent de l'extérieur.

En PJ voici un pkg avec 3 méthodes possible (tabulé, when et script).

Tiens nous au jus si c'est pas clair ;-)
Paramétrage selon conditions.TopPkg
Vous ne pouvez pas consulter les fichiers insérés à ce message.

GuillaumeBLG
Seconde Classe
Seconde Classe
Messages : 8
Inscription : 06 déc. 2017, 12:23
Version TopSolid : 7.11
Module TopSolid : TopSolid'Design

Re: Script VB

Message non lu par GuillaumeBLG » 21 déc. 2017, 15:55

Merci pour le paquet je vais étudier ça à tête reposé!

GuillaumeBLG
Seconde Classe
Seconde Classe
Messages : 8
Inscription : 06 déc. 2017, 12:23
Version TopSolid : 7.11
Module TopSolid : TopSolid'Design

Re: Script VB

Message non lu par GuillaumeBLG » 26 déc. 2017, 16:51

Merci @JuP pour les paquets et les réponses, j'ai réussi à faire ce que je souhaitais. Je vais cependant revenir incessamment sous peu pour d'autre questions dans le même genre mais cette fois j'aimerais faire apparaître ou non une pièce en fonction de la même condition que précédemment. Je reviens poster ici des que je me remets dessus! Merci encore

Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 2 invités