[HELP] Création d'un configurateur 3D

Bonjour à toutes et à tous,

Dans le cadre d'un projet , je désire créer un configurateur 3D sous SolidWorks. En farfouillant un peu partout sur internet j'ai découvert ce forum et j'espère que certains pourront m'apporter leur aide car malheureusement je n'avance plus sur ce projet ... Je vous expose mon problème :

Je souhaite créer des assemblages sur mesure un peu comme lorsque vous allez configurer votre voiture chez le concessionnaire. Dans mon cas, il s'agit de créer un configurateur sur un assemblage comportant 3 pièces maîtresses : Un robinet ( 10 types de robinets possibles ) , une vasque ( 6 ou 7 types possibles ) , et une derniere pièce que je ne préciserais pas par soucis de confidentialité ( 10 types de pièces ). 

J'ai crée un tas de configuration sur un assemblage ne comportant pour l'instant que les robinets et les vasques afin d'avoir une base pour  m'entrainer à créer ce configurateur. Dans l'idée, j'aimerais que mon utilisateur selectionne via un menu déroulant son robinet, sa vasque et la dernière pièce mystère et que l'assemblage dans la configuration séléctionnée par celui-ci s'affiche.

J'ai commencé à utiliser DriveworksXpress pour ce projet mais je suis très limité en ce qui concerne les règles du configurateur... Autrement dit, je sais créer les formulaires mais il est impossible pour moi d'arriver à générer un assemblge à la fin, mes règles étant totalement fausse..

J'ai par ailleurs vu qu'il était possible de réaliser ce projet en utilisant une macro VBA sous SolidWorks, la aussi je n'ai pas de compétences en programmation (je peux me forcer à apprendre bien évidemment). Je pense que la meilleure solution serait pour moi DriveWorks, qu'en pensez vous ?

Pourriez vous m'aidez en me donnant par exemple une règle générique à indiquer dans DriveWorks que j'adapterais en fonction du nom de mes configurations et de mes pièces ?

Dans le cas d'une macro VBA, est ce que l'un d'entres-vous a déja été confronté à ce genre de problème ? Avez vous des exemples à me suggérer ? 

Je vous remercie par avance pour votre aide

 

PS : Je réalise le projet sous SolidWorks 2010 ... 

 

 

 

Driveworks est effectivement un bon choix (c'est typiquement fait pour ça)

Sans partir sur ce genre de module, une bonne vieille famille de pièce sous excel doit pouvori te donner le résultat que tu attends (si par exemple tu insères toutes tes pièces dans un assemblage et que tu gère les états de suppression/désuppression par excel).

L'intérêt d'excel étant aussi de pouvoir faire des liens avec des fichiers excel (ou bases de données ) externes, de pouvoir ajouter une seconde feuille pour piloter ta feuille contenant ta famille de pièce (te permettraits de faire un truc plus user friendly avec des listes déroulantes par exemples ...).

Excel te permet aussi de faire des calculs / vérification pour interdire des configurations, mettre des règles...

A la limite Excel est capable de te génerer tes 10*7*10=700 configurations différentes si tu en as vraimment besoin (ça risque de mouliner un peu par contre...).

1 « J'aime »

bonjour,

essais de contacter http://www.lynkoa.com/membres/thomasguillard

voici son profil

Formation d'ingénierie mécanique IFMA. J'utilise solidworks en autodidacte depuis mes 14 ans et j'ai appris Catia à l'école. Maintenant ingénieur chez DriveWorks, Gold Partner de SolidWorks qui vous permet d'automatiser vos conceptions SolidWorks et vous fournit un configurateur 3d et de ventes. http://www.driveworks.co.uk/

voici de quoi comparer les version de driveworks

http://www.driveworks.co.uk/products/compare/

@+ ;-)

1 « J'aime »

Merci beaucoup pour vos réponses ! 

Je vais contacter la personne pour quelques explications sur DriveWorks ! 

De la même façon je ferais aussi l’essai avec Excel. Je veux effectivement piloté l’etat De suppression des pièces selon les configurations souhaitées ! Je vous tiens au courant si jamais j’y arrive ! 

Merci encore 

 

si d’autres personnes ont des suggestions n’hesitez pas

1 « J'aime »

bonjour,

DriveWorksXpress est gratuit mais limité, DriveWorks payant mais bien plus avancé.

si tu as de bonne connaissance excel tu peux réaliser le configurateur de tes rêves sans problème. la question est as tu de bonne connaissance excel?

que la force soit avec toi.

 

 

3 « J'aime »

Sous DriveworksXpress, tu dois sélectionner un de tes composants puis aller dans Mise en plan et configurations, cocher la case: 'Oui, permettez-moi de créeer une règle pour changer la configuration'. Puis dans l'éditeur de règle tu crées une règle sur la config. Si par exemple dans ton formulaire tu as un choix multiple TypedeRobinet avec Robinet A, Robinet B, Robinet C. ta règle pourra être par exemple:

=IF(TypedeRobinet="Robinet A", "Config du robinet A", IF(TypedeRobinet="Robinet B", "Config du robinet B","Config du robinet C"))

Et de meme pour la vasque et le composant mystère.

Tu peux mixer plusieurs critères du formulaire pour choisir ta config en utilisant AND() et OR()

2 « J'aime »

Bonjour à tous,

c.fer a déjà donné une très bonne réponse mais je vais vous donner des liens vers l'aide en ligne de SOLIDWORKS pour plus d'info.

Contrôler la configuration d'une pièce sous DriveWorksXpress nécessite de capturer sa configuration:

http://help.solidworks.com/2016/french/SolidWorks/driveworksxpress/t_enabling_config_switching_driveworksxpress.htm?id=69298c72fbe143a08d63cbb1b214d6c3#Pg0&ProductType=&ProductName=

Ensuite l'article suivant montre comment changer la configuration d'un modèle en fonction d'un contrôle de formulaire:

http://help.solidworks.com/2016/french/SolidWorks/driveworksxpress/c_rule_type_configuration_driveworksxpress.htm#pcj1450463090964

En espérant que cela aide, sinon n'hésitez pas à demander plus d'info!

1 « J'aime »

Merci beaucoup pour vos réponses ! Concernant la règle de c.fer j’ai essayé avec 2 configuration et ça fonctionne ! Je vais donc poursuivre sur DriveWorks mais je j’ai pas dit mon dernier mot lol. Comme vous avez parlé de la gestion de mon configurateur via Excel j’aimerais bien le faire aussi histoire de maîtriser les deux possibilités. 

Malheureusement je ne maîtrise pas Excel à la perfection ... auriez vous des exemples de fichier que vous aviez déjà réalisé ? Ou alors me donner un exemple pour gérer une configuration un peu comme l’a fait c.fer mais via Excel ? 

Dois-je créer le fichier Excel et après le lier à mon assemblage ou alors créer une table de famille de pièces automatique et ensuite là gérer ? Et quels sont les etapes à suivre pour le faire ? 

Si vous aviez un petit exemple de fichier Excel avec deux trois pièces formant un assemblage ce serait parfait ... 

merci encore pour vos réponses ! Ce forum est vraiment top 

1 « J'aime »

Bonjour,

Moi je suis sur sw 2017 donc il vas etre difficile de s'echanger des fichiers.

mais j' ais fais  un doc avec explication.

si tu as des questions  n'hésite pas.

que la force soit avec toi.

 

 

 

 


configurateur_3d_excel_par_obi_wan.docx
2 « J'aime »

Bonjour,

Il y a des réponses pour DriveWorks et pour Excel, en voilà donc une en macro VBA pour compléter.

Pour utiliser la macro jointe, il faut d'abord ouvrir dans Solidworks 1 assemblage composé de 1 à 3 pièces ayants différentes configurations. Au lancement de la macro, celle-ci relève les noms des pièces et de leurs configurations, à l'affichage du formulaire il reste à choisir la configuration pour chaque pièce puis cliquer sur le bouton "configurer".

Cette macro n'est qu'un exemple et, à ce titre, ne contient pas toutes les vérifications et traitements d'erreurs nécessaires.

Cette macro est écrite sous SW 2017, donc voir à changer les références dans l'éditeur de macro si nécessaire.

Cordialement,


macroconfig.swp
2 « J'aime »

Un grand merci à OBI, d.roger , thomas, cfer et gt22 pour vos réponses. J'ai pas mal de pistes que je vais exploité grâce à vous. Je vais y bosser comme il le faut cette semaine. Je vous ferais un retour d'ici vendredi prochain avec j'espere de bonnes nouvelles. En tout les cas ca me fait plaisir de voir une communauté comme celle-la ! L'entraide est la clé de tout projet !

Merci encore

1 « J'aime »

D.Roger , je viens d'essayer ta macro. Elle s'ouvre sans problème cependant j'ai une petite question. En fait, mes robinets n'ont aucun liens géometriques les uns avec les autres. Ce sont toutes des pièces différentes avec des géometries totalement différentes. Meme chose pour les vasques et pour la pièce que je ne préciserais pas.

En gros j'ai créer des configurations dans mon assemblage avec le robinet 1 et la vasque 1, le robinet 2 et la vasque 1 ect ect ...

Comment puis-je par exemple adapter ta macro à mon besoin ?

Les configs sont toutes présentes dans mon arbre, je souhaite juste gérer l'état de supression de mes pièces.

En gros l'idée c'est à partir de ta macro, je choisis mon robinet via un menu déroulant comportant toutes mes pièces de robinet, je choisis ensuite ma vasque de la meme facon et enfin ma 3e pièce et hop l'assemblage se génére .

J'ai pas beaucoup de connaissance en programmation ... 

Merci d'avance pour ton aide

Bonjour,

Effectivement, vu comme ça, la macro prend une autre tournure.

Tes types de pièces ont-elles un point commun par famille, je m'explique, le nom de tes robinets commencent-ils tous par "R", le nom de tes vasques par "V" et le nom de tes pièces mystères par "M" (ou autre bien sûr), cela permettrait lors de l'analyse des éléments fils de l'assemblage de classer chaque pièce dans la bonne catégorie. A partir de là, il suffit de cacher ou d'afficher les éléments de l'arbre en fonction du choix de l'utilisateur, il existe des fonctions dans les API qui permettent de faire ça.

Cordialement,

1 « J'aime »

D.roger, 

Oui, mes robinets commencent tous par R, les Vasques commencent aussi par V, la pièce mystère suit la même logique. Dans mon arbre d’assemblage, j’ai ranger les robinets dans un dossier appeler robinet, de même pour les vasques. 

Quels sont ces fonctions dont tu parles ? As tu un exemple de macro qui gère ceci ? Dois-je laisser le dossier pour chaque famille dans mon arbre d’assemblage ? 

Merci encore pour ton aide 

cordialement 

ps: si tu le souhaites, je peux te transférer l’assemblage . 

1 « J'aime »

Ok,  je veux bien que tu me transfere l'assemblage (même avec des pièces vides par souci de confidentialité). Ayant de la disponibilté en ce moment,  je vais te faire un exemple de macro demain ou au plus tard lundi.

Bonne soirée.

Cordialement,

2 « J'aime »

Bonjour Slim,

Si pour des soucis de confidentialité tu as peur de transférer les fichiers tu peux les envoyer en message privé à d.roger. J'ai aussi déjà procédé de cette manière via Wetransfer, il suffit d'envoyer le lien en message privé en cliquant sur son pseudo.

1 « J'aime »

Ac cobra , 

c’est déjà fait :) 

merci à toi ! 

Cordialement, 

2 « J'aime »

Bonjour,
Voici une macro de base permettant à l'utilisateur de sélectionner les différents éléments afin de les afficher ou non, les configurations sur l'assemblage ne sont pas nécessaires.
Pour garder l'historique de chaque configuration créée il est possible de rajouter des fonctions permettant de vérifier si la configuration voulue existe déjà dans l'assemblage, si oui de l'afficher, si non de la créer puis d'enregistrer l'assemblage. Il faut pour cela utiliser les méthodes suivantes :
- http://help.solidworks.com/2015/english/api/sldworksapi/SolidWorks.Interop.sldworks~SolidWorks.Interop.sldworks.IModelDoc2~GetConfigurationNames.html
- http://help.solidworks.com/2015/english/api/sldworksapi/SolidWorks.Interop.sldworks~SolidWorks.Interop.sldworks.IModelDoc2~ShowConfiguration2.html
- http://help.solidworks.com/2015/english/api/sldworksapi/SolidWorks.Interop.sldworks~SolidWorks.Interop.sldworks.IConfigurationManager~AddConfiguration.html
- http://help.solidworks.com/2015/english/api/sldworksapi/SolidWorks.Interop.sldworks~SolidWorks.Interop.sldworks.IModelDoc2~Save3.html

Cordialement,


configurateur.swp
3 « J'aime »

Encore un super travail de Mr Roger le demi dieu de la macro ;-)

Sur la macro gérant les configurations, ce doit sûrement être possible de la modifier pour qu'elle devienne "générique" en faisant la même chose mais pour un assemblage contenant x pièces (ou pièces et sous assemblage) non ?

Du coup ainsi modifiée elle pourrait servir à beaucoup plus de monde (j'aimerais tant avoir des assemblages limités à 3 pièces ...). Elle deviendrait alors un configurateur d'assemblage très convivial (pas besoin de cliquer sur chaque pièce dans l'arbre pour pouvoir changer (ou pas) la configuration)

2 « J'aime »

Etant pris par les sentiments ;-) , je vais me pencher sur le sujet et voir ce que je peux proposer, le plus compliqué risque d'être de ce mettre un peu plus au vba (snif), moi qui suit plus à l'aise avec le C#.

Cordialement,

4 « J'aime »