HexaBlock
Quelques Bugs
Retour
oooooo
Bug 016 (Corrigé)
La fonction cut sur une ligne associée ne gère pas l'association.
Retour au début
Bug 015 (Corrigé ?)
Salomé crashe une fois sur deux.
Ilsemble que la fonction getBtrep() soit à l'origine de ce dysfonctionnement.
Retour au début
Bug 014
Une grille créée par makeSpherical ne fournit pas le bon nombre d'hexaèdre maillés.
...
Retour au début
Bug 013 (Evolution)
Association ligne fermée (bielle)
Problème de cohérence entre le sens de parcours d'une ligne (un cercle) et les edges associés.
Le sens étant différent, les mailles sont "croisées"
Solution
retenue : modifier le vertex et l'edge de départ, de façon à "inverser"
le sens de parcours des edges du modèle de blocs.
TODO :
Modifier la spécification de la fonction associateClosedLine ()
L'argument "paramètre" de type réel indique bien un point de départ sur la ligne, mais pas le sens de parcours.
On décide : - de choisir une des deux extrémités de la ligne (on abandonne l'idées des points interrmédiaires)
- de définir l'extrémité au moyen d'un point.
TODO (2) :
Cette
méthode convient pour un contour ferrmé constitué de plusieurs lignes,
mais pour une courbe fermée unique, l'ambiguité persiste : A suivre ...
Retour au début
Bug 012 (Corrigé et validé)
Erreur intempestive :
Message : "associateLine : Le contour n'est pas ferme"
Programme HexDocument_asso.cxx corrigé.
(indice modifié suite à une impression de mise au point)
Retour au début
Bug 011 (Corrigé et validé)
Les associations par ligne ouverte provoquent une erreur (détectée par pa partie PLUGIN).
Il y a incohérence entre les éléments associés à un edge : les lignes doivent être jointives et limitées entree les deux vertex.
Correction du fichier HexUseCascade.cxx.Le sens des lignes de Cascade : la paramètre varie parfois de 1 vers 0.
Le programme tient désormais compte de cette particularité.
Retour au début
Bug 010
Un message résiduel lors du maillage de la bride sans associations.
"Bielle:hexas" has not been computed.
Retour au début
Bug 009 (Corrigé et validé)
- Le fichier BREP associé à la bride est incorrect.
- Il fait sortir de Salome.
Le fichier bride.brep est corrompu, on ne doit plus s'en servir, il a été supprimé de la base CVS.
Il est remplacé par une construction directe avec GEOM, cette construction est incluse dans le fichier en attachement.
La constuction directe de la bride est effective.
Retour au début
Bug 008 (Corrigé et validé)
Cas de la bielle.py. Tous les groupes de maillage affichés par SALOME sont vides.
Retour au début
Bug 007 (Corrigé et validé)
Le maillage hexaedrique de fonctionne pas.
Pris en charge par F. Kloss.
Retour au début
Bug 006 (En cours)
Il
semble que les éléments donnés en résultat de la méthode
«disconnectEdge» du document ne sont pas des éléments du modèle de
blocs en cours d'élaboration
- ce problème intervient dans le cas de la recette de l'enceinte simplifiée
- il
serait souhaitable que les nouveaux sommets, créés par les méthodes
pour déconnecter, ne soient pas exactement les mêmes que leurs
originaux afin d'avoir un visuel immédiat
Bug non reproduit.
Testé en C++ direct puis en python. Voir pièce jointe.
Ce script génère deux fichiers vtk corrects.
A voir ensemble Jeudi.
Retour au début
Bug 005 (Corrigé & validé)
Les
points de construction (centre de cylindre, etc.) sont aussi maillés ce
qui donne un maillage incorrect, il y a solutions possible à
valider avant la correction:
on distingue 2 notions:
- points et vertex sont deux entités distinctes comme dans CasCade
- point = vertex comme dans GEOM et HEXABLOCK actuellement, et le mailleur traite uniquement les sommets connexes aux hexaèdres
On
choisit la solution 2. 8 fonctions ajoutées : countUsedVertex () .....
countUsedHexa(), getUsedVertex (nro), .... getUsedHexa (nro)
Ces fonctions devront remplacer les appels à countVertex() .... getVertex(n) dans le mailleur.
Les fonctions sont codées et testées unitairement. Le mailleur n'est pas encore modifié.
Retour au début
Bug 004 (Corrigé & validé)
- Il y a une incohérence entre la documentation et la fonction doc.addHexaVertices
Le source a été modifié pour être cohérent avec la documentation
Retour au début
Bug 003 (Corrigé & validé)
- En Python, il manque toutes les variables, qui sont documentées, telles que Q_A, E_AC, V_ACE, ...
Ces informations ont été ajoutées au fichier Elements.idl
Retour au début
Bug 002 (Corrigé & validé)
- la méthode «mergeQuads» du document échoue
- cette correction est nécessaire pour le cas de la bride
1) Sur le cas proposé, l'ordre des deux premiers arguments de la fonction mergeQuads était inversé.
L'ordre est mergeQuads (q_cible, q_ancien, v1, v2, v3, v4)
Action : Modification du script utilisateur + mise à jour de la documentation.
2)
Après correction, il s'avère que les arguments de type
Vertex v1 ...b4 étaient invalides, lors du second appel à
mergeQuads, à cause des éléments détruits lors du premier appel.
Ces éléments sont difficiles à localiser sur le modèle python et
inutiles dans la mesure ou les deux quadrangles à fusionner sont
jointifs ; il suffirait d'appeler la fonction closeQuads non
encore accessible à l'utilisateur python ou IHM
On convient de
modifier l'ordre des tests : On teste d'abord si les quadrangles
sont jointifs avant de s'intéresser aux vertex passés en
argument. On pourra alors remplacer les vertex de positionnement par la
valeur None.
Retour au début
Bug 001 (Corrigé & validé)
- La méthode «getShape» du document fait sortir de SALOME.
- après la correction, il faudra mettre à jour le fichier «hexablock.py»
L'objet "shape" associé au document est fourni par la procédure utilisateur :
bride = geompy.ImportBREP("bride.brep")
doc.setShape(bride)
La méthode setShape, de HexDocument_impl.cxx fonctionne en deux étapes :
- l'argument transmis par le python est un objet Corba de type GEOM_Object.
- Il est traduit en objet Cascade shape de type TopoDS_Shape (Cascade) via la fonction geomObjectToShape()
- Il est traduit en chaine de cartactères de format BREP par shape2string
- La chaine de caractères, entité portable est associée au document.
L'objet "shape était relu dans la procédure python systeme "hexablock.py" :
shape = doc.getShape().
Or,
si la méthode setSchape est capable de transformer un GEOM_Object
en TopoDS_Shape, la réciproque n'est pas présente actuellement dans GEOM
La
procédure hexablock.py va donc utiliser une nouvelle procédure
doc.getBrep(), qui nous permet de transmettre via Corba un objet de
type standard (chaine de caractères).
En conséquence, la mise à jour de hexablock.py a été faite et validée.
Retour au début