• Ce forum est la traduction générée par la machine de www.cad3d.it/forum1 - la communauté italienne du design. Plusieurs termes ne sont pas traduits correctement.

Rendre visible le T-mesh d'une surface de T-spline

  • Auteur du sujet Auteur du sujet afullo
  • Date de début Date de début

afullo

Guest
bonjour à tous.

je fais la thèse de maître en mathématiques sur t-spline, et comme une partie d'application, j'ai montré quelques utilisations de cet outil récent en rhinocéros. mais ce qui me semblait comprendre le logiciel, c'est qu'il permet de travailler avec eux, mais il laisse un peu l'aspect mathématique de la question, se concentrant plus que tout sur la pratique, utile pour ceux avec le programme doit réaliser quelque chose de concret. en particulier, pour relier au mieux la théorie avec l'application, je voudrais rendre visible ou cependant avoir des informations sur le t-mesh d'une surface de t-spline donnée, avec l'ensemble de nœuds destinés comme paires de paramètres (http://wwwlb.aub.edu.lb/~anasri/tspline.pdf) ainsi que celle des points de contrôle déjà visibles depuis l'affichage standard. tu sais que tu peux faire ça ? je possède rhino 4, mais au cas où, si disponible, je pourrais télécharger en toute sécurité une version de l'évaluation des 5 (pour l'utilisation que je réalise, je n'ai pas besoin d'une version commerciale, j'ai juste besoin de preuve).

merci à l'avance et salutations.

fabio
 
en particulier, pour relier au mieux la théorie avec l'application, je voudrais rendre visible ou cependant avoir des informations sur le t-mesh d'une surface de t-spline donnée, avec l'ensemble de nœuds destinés comme paires de paramètres (http://wwwlb.aub.edu.lb/~anasri/tspline.pdf) ainsi que celle des points de contrôle déjà visibles depuis l'affichage standard. tu sais que tu peux faire ça ?
bonjour fabio, et félicitations pour votre thèse.
malheureusement rhino (mais plus généralement l'autre cad) ne fournit pas la possibilité de lire les propriétés des entités géométriques comme des informations explicites. si vous générez un simple rayon 1 boule et allez aux propriétés (f3), sur sa géométrie, vous trouverez cette petite information:
surface fermée
surface (rationnelle)
"u": degré fermé = 2 cv nombre = 9 (1 duplicata) (0 <= u <= 30,6147)
"v": degré ouvert = 2 cv nombre = 5 (0 <= v <= 15.3073)
une possibilité pourrait être d'exporter le fichier dans un format interprétable, c'est-à-dire qu'il a besoin de ses spécifications pour être accessible.

par exemple, en exportant la même sphère au format étape, j'ai lu les informations sur sa géométrie du champ 97 (advanced_brep_shape_representation) jusqu'au champ 178.

ici partie du camp 114:
b_spline_surface(2,2,((#150,#151,#152,#153,#154),(#155,#156,#157,#158,#159),
(#160,#161,#162,#163,#164),(#165,#166,#167,#168,#169),(#170,#171,#172,#173,
non précisé.
b_spline_surface_avec_noeuds(3,2,3),(3,2,3),(3,0614645892072,4,59220118838108,
6.122934917841444),(0,1.53073372946036,36146745892072),.non précisé.)
_représentation géométrique_item()
la surface rationnelle_b_spline_surface((1.,0,707106781186548,1,0,707106781186548,1).
(0.707106781186547,0,5,0,707106781186547,0,5,0,707106781186547),(1.0,707106781186548,
1,0,707106781186548,1.),(0,707106781186547,0,50,707106781186547,0,50,707106781186547,
(1. 0,707106781186548,1, 0,707106781186548,1))
les nombres précédés du caractère '#' sont les références à d'autres champs, par exemple la chaîne #150 est une référence au champ 150 qui est écrit ainsi:
#150=cartesian_point('',(0.,0.,1.));je ne sais pas si le format de fichier étape est implémenté pour prendre en charge t-splines.

une autre possibilité pourrait être le format de fichier 3dm, ou le natif rhino; vous le trouvez spécifié à www.opennurbs.org. le problème est que le format est en code binaire, même le lire à travers un éditeur hexadécimal serait ostique, mais si vous avez le temps de compiler un programme simple, vous pouvez extrapoler les champs d'intérêt sur un fichier texte.
 
bonjour paul, merci de votre aide.

je m'excuse si je n'ai pas répondu plus tôt, mais hier j'étais parti toute la journée, et aujourd'hui jusqu'à présent j'ai travaillé sur une autre partie de la thèse.

j'ai essayé de générer un cube en nurbs et un ballquad en t-spline, allant sur les propriétés et ensuite sur les détails les informations obtenues étaient respectivement les suivantes, qu'ils ne fournissent même pas ces informations sur les paramètres que vous m'avez écrit, mais ils donnent simplement des identifiants avec lesquels probablement le logiciel compact dans une écriture biunivocale à eux toutes les informations dont ils ont besoin pour constituer la surface. j'ai cherché d'autres voix, mais je n'ai rien trouvé. je vais ailleurs ? où ?
Code:
polysurface
id: 69172f6e-9095-4f0c-a386-58708caed539 (4)
nom du niveau & #160;: par défaut
matériau de rendu:
source = par niveau
indice = -1
données utilisateur pour l'attribut:
id données utilisateur:b0e2168-8ec6-42ed-a962-26deb8cc8f9a
plug-in: rendu rhino
description: données utilisateur d'objets rendus rhino
enregistré dans le fichier : non.
calcul de copie: 11
géométrie:
polysurfaces valides.
polysurfaces solides fermées avec 6 surfaces.
détails du bord:
12 bornes
tolérances au bord: toutes 0,00
tolérances vertébrées: toutes 0,00
maille de rendu: non présente
analyse des mailles: pas présent

Code:
t-spline de surface
id: 8fcf6e25-09a8-40a-ad89-98703bd79064 (3)
nom du niveau & #160;: par défaut
matériau de rendu:
source = par niveau
indice = -1
données utilisateur pour l'attribut:
id données utilisateur:b0e2168-8ec6-42ed-a962-26deb8cc8f9a
plug-in: rendu rhino
description: données utilisateur d'objets rendus rhino
enregistré dans le fichier : non.
calcul de copie: 1
géométrie:
polysurfaces valides.
polysurfaces solides fermées avec 6 surfaces.
détails du bord:
12 bornes
tolérances de bord: toutes 0,01
tolérances vertébrées: toutes 0,01
maille de rendu: non présente
analyse des mailles: pas présent
données utilisateur pour la géométrie:
id données utilisateur:10d2cff0-8191-4cc7-afdf-d8faf16e2120
plug-in: t-splines
description: données utilisateur t-mesh
enregistré dans le fichier & #160;: oui
calcul de copie: 1
maintenant j'essaie d'exporter en pas et voir ce que je peux faire..
 
je fais un double post puisque le précédent a déjà été assez longtemps, j'ai exporté le ballquad en pas.

en bref la sortie était similaire à la vôtre, dans le cas (où les champs de saut est parce qu'ils sont similaires aux précédents, seulement avec des références à différents éléments):
préambule:

Code:
iso-10303-21;
en-tête;
/* généré par un logiciel contenant st-developer
* des outils d'étape, inc. (www.steptools.com)
*/
option /* : en utilisant la fonction de nom de schéma personnalisé */

_description de fichier(
/* description */ (''),
/* niveau de mise en œuvre */ '2;1');

nom_fichier(
/* nom */ 'rhino_sferaquad',
/* time_stamp */ '2012-03-18t23:09:46+01:00',
/* auteur */ (''),
/* organisation */ (''),
/* préprocesseur_version */ 'st-developer v10',
/* système_origine */ '',
/* autorisation */ '');

fichier_schema (('config_control_design'));
finsec;

données;

de #10 à #75 sont des faces, côtés et sommets définis, en référence à
b-spline définie dans les champs, surfaces et courbes suivants (#76-#81) (#82-#93)


Code:
#10=representation_relationship('','',#180,#12);
#11=manifold_solid_brep('brep_1',#13);
#12=provancée_brep_shape_representation($,(#11,#182),#179);
#13=coquille_fermée($,#14,#15,#16,#17,#18,#19);
#14=advanced_face($,(#20),#76,.t.);
#20=face_outer_bound($,#26,.t.);
b) #26=edge_loop($,(#32,#33,#34,#35);
#32=besoins_orientés($,*,*,#56,.t.);
la courbe_de_forme($,#68,#69,#82,.t.);
le numéro 68=vertex_point($,#1838);

une surface. après les // mes hypothèses sur la signification des différentes quantités.

Code:
#76=
_surface délimitée()
b_spline_surface(3,(#488,#489,#490,#491,#492,#493,#494,#495,#496,#497, // 3 et 3 sont les degrés bivariés
#498,#499,#500,#501,#502),(#503,#504,#505,#506,#507,#508,#509,#511, // # indique les points de contrôle
numéros 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 523, 524, 525, 525,
n° 526, n° 527, n° 528, n° 529, n° 530, n° 531, n° 532), n° 533, n° 534, n° 535, n° 537, n° 538, n° 539, n° 539, n° 532, n° 534, n° 535, n° 536, n° 536, n° 537, n° 538, n° 539, n° 539, n° 515, n° 515, n° 539, n° 532, n° 533, n° 534, n° 535, n° 535, n° 535, n° 536, n° 536, n° 536, n° 533, n° 533, n° 532, n° 533, n° 532, n° 532, n° 532, n° 533, n° 534, n° 535, n° 535, n° 536, n° 537, n° 537, n° 538, n° 539, n° 53, n° 53, n° 53, n° 532, n° 532, n° 533, n° 532, n° 532, n° 533, n° 535, n° 53
n°540, n°541, n°543, n°544, n°545, n°546, n°547, n°549, n°551, n°552, n°553,
n°554, n°555, n°556, n°557, n°558, n°559, n°560, n°561, n°562), n°563, n°564, n°565, n°566, n°567,
#568,#569,#570,#571,#572,#573,#574,#575,#576,#577),(#578,#579,#580,#581,
numéros 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592), (#593, 594, 595,
n°596, n°597, n°598, n°599, n°600, n°601, n°602, n°603, n°604, n°605, n°606, n°607, n°608, n°609,
610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622),
n°624, n°625, n°626, n°627, n°628, n°629, n°630, n°631, n°632, n°633, n°634, n°635, n°636, n°637),
639, 640, 641, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652),
(#654,#655,#656,#657,#658,#659,#660,#661,#662,#663,#664,#665,#666,#667),(#668,
n° 669, n° 670, n° 671, n° 672, n° 673, n° 674, n° 675, n° 676, n° 677, n° 678, n° 679, n° 681, n° 682),
n°684, n°685, n°686, n°687, n°688, n°689, n°690, n°691, n°692, n°693, n°694, n°695, n°696, n°697, n°698,
699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712)
.non spécifié.
b_spline_surface_with_knots(4,2,1,1,1,2,2,4),(4,2,1,1,2,2,4),(0., // nœuds: multipliés, valeurs
0,125,0,25,0,5,1,,1,5,1,75,1,875,2.),(0,125,0,25,0,5,1,,1,5,1,75,1,875, // (molt u, molt v, vett u, vett vett v)
2.),.non spécifié.)
_représentation géométrique_item()
surface rationnelle_b_spline_(((0,99999999999999997,9999999999999999999999999998,1,004377055538, // poids, référence au nombre
1,00841741491422,00808071831766,0,99999999999996,1,0,999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999,001869999999999999999999999999999999999999999999999999999999999999999999999999999999999999,0020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020
1,0,99999999999999991,008080718317641,008417414914211,00437705575539,
(0,999999999999999997,0,99999999999999997),(0,99999999999999997,0,998540981414867,
1.00356264396289 1.00862409621542 1.00815637154096.1.,1.,0,999999999999999999,
19.008005065509431,1.00851001947661,1.00354539529799,0.998540981414868,
0.9999999999997),(1.00437705575539,1.00354539529798,1.0048159344842,1.00766503350888,
1.00684022216753,1.,0,999999999999999,1.,1..00654234156365,1.00749005056741,1.
1 048159344842,1.00356264396289,1.00437705575539),(1.00841741491421,1.00851001947661,
1.00749005056741 1.0095151017094 1.00918496219804.11,11,11,11 1.0090326466879,
10095151017094,1.00766503350888,1.00862409621542,1.00841741491421),(1.0080808071831764,
1.000800565509431 1.00654234156365 1.0090326466879.008747172620421.1,1.
0.999999999999999991.00874717262042.00918496219801.0068402216754,
1 00815637154096,1.00808071831764),(0,999999999997,0,9999999999999999999999999999999999999999999999999999,
1.,1.,1.,1.,1.,1.,0,999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 ,
1.1.1,1.,1.,0,9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
1.,1.,1.,1.),(0,99999999999999999999999999999999999999999999997,0,99999999999999999999999999999999999989,1. ,
1,0,99999999999999996,0,9999999999999999989,1,00000000000005,1,1,0,999999999999999998,
1. 0,99999999999999999997,1.,1.,1.,1.,0,99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999991,1.,1.
1.,1.,1.,1.,1.,1.,1.,1,,0,9999999999999999999999981,1.
1.1.1.1,1.,1.,1.00808071831764,1.00815637154096,1.00684022216754.00918496219804,
1.00874717262042,1.,0,99999999999997,1.,1.,1.00874717262042,1.0090326466879,1.
1.00654234156365 1.0080050659431 1.008071831765),(1.00841741491421 1.00862409621542,
1.00766503350888.0095151017094 1.0090326466879,10,9999999999999999999998
1. 1 1.0091849621980 1.0095151017094 1.007490056741 1.0085100194766,
1.00841741491422),(1.00437705575539,1.00356264396289,1.0048159344842,1.00749005056741,
1.00654234156365,1.,1.,1.,1. 1.00684022167541.00766503350888.0048159344842,
1,003545395298 1,00437705575539),(0,999999999999997 0,998540981414865 1,00354539529798 0,99999999999999999,0,998540981414865 1,00354539529798
1.00851001947662 1.0080050659431 0,99999999999998, 1,09999999999999999999999999999996
1.1.00815637154096,1.00862409621542,1.00356264396289,0.998540981414865,
0.999999999999999999998,(0.9999999999997,0.9999999999998,1.00437705575538,
1,00841741491422,00808071831766,0,99999999999996,1,0,999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999,001869999999999999999999999999999999999999999999999999999999999999999999999999999999999999,0020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020
1,0,99999999999999991,008080718317641,008417414914211,00437705575539,
0.9999999999999999979.99999999999999999999999999)
représentation_poste($)
surface()
);

une courbe. après les // mes hypothèses sur la signification des différentes quantités.

Code:
c'est pas vrai.
courbe_limitée()
b_spline_curve(3,(#188,#189,#190,#191,#192,#193,#194,#195,#196,#197,#198, // isocurva: (grado, (punti),?)
#199,#200,#201,#203,#204,#205,#206,#208,#208,#209,#210,#211,#212),.non précisé.
.f.,.f.)
b_spline_curve_with_knots(4,3,3,3,3,3,3,4),(0,125,0,25,0,5,1.,1,5, // nodi: ((moltelicita,valori),?)
1.75.1.875,2.), non précisé.)
courbe()
_représentation géométrique_item()
rational_b_spline_curve((1.,0,99999999999999999,1,004377055539,1,006397235348,
1.00841741491421 1.00808071831764 1.005387145545099999999999997 0,99999999999999998,
0.999999999999999,1,1,1,0,999999999999,1,1,1,0,999999999999,
1.00538714554509.00808071831764 1.00841741491421 1.0063972353348 1.00437705575539,
0.9999999999998,1.)
représentation_poste($)
);
de #94 à #186 sont tous des champs techniques liés aux logiciels; de #187 à #1846 sont tous des points de contrôle. ça peut être comme je suppose ?

je me demande seulement s'il a effectivement exporté la t-spline ou exporté sa conversion en polysurfaces nurbes. je devrais essayer de le convertir en polysurfaces et l'exporter en tant que tel pour vérifier si la sortie est différente ou coïncide, mais malheureusement avec seulement 25 sauvegardes disponibles (placer la version d'évaluation du plugin) il me touche rasionare. . . .
 
de #94 à #186 sont tous des champs techniques liés aux logiciels; de #187 à #1846 sont tous des points de contrôle. ça peut être comme je suppose ?
je pense que je devrais jeter un oeil à l'ensemble du fichier, mais les premiers champs sont liés aux informations du fichier, puis suivre ceux sur la géométrie du modèle. entre les points cartésiens, vous devez voir quels sont les points de contrôle et quels sont les nœuds. dans la spécification du format d'étape sont certainement certaines références.
je me demande seulement s'il a effectivement exporté la t-spline ou exporté sa conversion en polysurfaces nurbes. je devrais essayer de le convertir en polysurfaces et l'exporter en tant que tel pour vérifier si la sortie est différente ou coïncide, mais malheureusement avec seulement 25 sauvegardes disponibles (placer la version d'évaluation du plugin) il me touche rasionare. . . .
ou importez ce que vous avez enregistré et voyez si le modèle que vous chargez coïncide avec le t-spline que vous avez exporté ou s'il a été converti en nurbs. en fait, avec les 25 sauvegardes démo vous ferez toutes vos expériences d'exportation. je dois malheureusement fuir un client...
 
ou importer ce que vous avez enregistré et voir si le modèle que vous chargez coïncide avec le t-spline que vous avez exporté ou s'il a été converti en nurbs
j'ai essayé comment je vous ai dit et malheureusement le résultat est le même, donc il fait première conversion en nurbs. ce n'était pas une tentative gaspillée parce que je consacrais encore une page, mais je préfère étudier les propriétés comme t-spline plutôt que celles comme nurbs.

maintenant, j'ai essayé de convertir à d'autres formats et de les ouvrir avec gedit (le bloc de note de ubuntu, travailler sur rhino sous les fenêtres de l'ordinateur portable et passer les fichiers par dropbox ici sur le bureau sous ubuntu), mais dans différent ou le fichier généré est binaire, ou même si il est ascii est perdu la structure de spline (par exemple la conversion en maillage polygonal) ou vous obtenez une sortie similaire à celle précédente où la structure n'est pas un format qui me semblait explicitement lié à t-spline est le .tsm, donc j'ai demandé de l'aide poursi vous connaissez son interprétation. . :sourire:
 
un format qui me semblait explicitement lié à t-spline est le .tsm, donc j'ai demandé de l'aide poursi vous connaissez son interprétation. . :sourire:
malheureusement, je ne connais pas le . format tsm, d'une recherche rapide j'ai vu qu'ils parlent pour, peut-être que vous pouvez jeter un peu de lumière sur la notation, mais ce n'est pas ce que vous diriez un document de référence.
 
malheureusement, je ne connais pas le . format tsm, d'une recherche rapide j'ai vu qu'ils parlent pour, peut-être que vous pouvez jeter un peu de lumière sur la notation, mais ce n'est pas ce que vous diriez un document de référence.
après ma demande ils ont publié les spécifications pour de bon, j'aurais espéré voir plus de choses (comme les nœuds du t-mesh avec ses coordonnées nodales) mais néanmoins je suis satisfait. - oui.

j'ai terminé la thèse, je vous 11 présente, merci encore une fois pour votre disponibilité. souris :
 

Statistiques du forum

Sujets
58 521
Messages
499 056
Membres
104 110
Dernier membre
ChristianR

Membres en ligne

Aucun membre en ligne actuellement.
Retour
Haut