Table of Contents

Commit 2016-10-16

Ce commit est pour le pilotage en force des matrices de contact de Parasolid.

Parasolid

J'ai ajouté la classe PException pour gérer proprement la présence d'erreur lors de l'appel aux fonctions de Parasolid.

Dans PSession, lors du traitement des erreurs, on émet une PException contenant la structure “erreur” de Parasolid.

Ainsi, on peut l'attraper dans les librairies de Metafor et la traiter en fonction des circonstances.

Par exemple, dans le pilotage en force en quasi-statique, si on perd le contact, l'outil va se déplacer à l“infini” suite à la présence d'un mode rigide. Dans ce cas de figure, on attrape une PException émise suite à l'appel à la fonction PBody_translate (si on veut déplacer un corps en dehors de la world box, on a une erreur Parasolid !). Dans ce cas là, on émet une exception du type UnboundedTranslation (Dérive de ContinueException) pour dire à Metafor qu'il y a une erreur sur le pas de temps !

Mettre à jour le dossier Parasolid !

Parasolid - Pilotage en force

Il est possible de faire du contact en pilotage en force avec frottement désormais avec des géométries issues de Parasolid. En résumé, on procède de la même façon que le pilotage en déplacement (version incrémentale d'un pas de temps à un autre). Il faut stocker la position du point associé à la géométrie PSkin après chaque translation.

Il restera à faire les outils avec rotation !

Finalement, j'ai ajouté des cas tests dans la batterie pour tester le pilotage en force !

Fichiers ajoutés/supprimés

[a]:parasolid/pki/src/pkiPException.h
[a]:parasolid/pki/src/pkiPException.cpp
[r]:

Cas tests ajoutés/supprimés

[a]:mtParasolid/tests/cubeplane.py
[a]:mtParasolid/tests/cubeplaneForceDriven.py
[a]:mtParasolid/tests/cubeplaneFriction.py
[a]:mtParasolid/tests/cubeplaneFrictionForceDriven.py
[a]:mtParasolid/tests/plane.xmt_txt

gaëtan 2016/10/16 22:00