Crée la section plane d'une poutre en I : deux ailes horizontales jointes par une âme verticale.
width est la largeur des ailes, height la hauteur totale, webThickness et flangeThickness
les épaisseurs de paroi ; alignment dit quel point de la boîte du profil se place sur center,
rotation la tourne dans son plan, en degrés. Elle est posée sur le sol, prête à extruder le long de
Y.
La taille du profil, les deux épaisseurs, l'alignement, la rotation, le centre et la normale du plan
La face de profil de poutre en I
const profile = await bitbybit.occt.shapes.face.createIBeamProfileFace({
width: 10,
height: 20,
webThickness: 2,
flangeThickness: 3,
alignment: Bit.Inputs.Base.basicAlignmentEnum.midMid,
rotation: 0,
center: [0, 0, 0],
direction: [0, 1, 0],
});
const beam = await bitbybit.occt.operations.extrude({ shape: profile, direction: [0, 100, 0] });
Crée la section plane d'une poutre en H : deux ailes verticales jointes par une âme horizontale, une poutre en I sur le côté.
width est la largeur totale, height la hauteur des ailes, webThickness et flangeThickness
les épaisseurs de paroi ; alignment dit quel point de la boîte du profil se place sur center,
rotation la tourne dans son plan, en degrés. Elle est posée sur le sol.
La taille du profil, les deux épaisseurs, l'alignement, la rotation, le centre et la normale du plan
La face de profil de poutre en H
Crée la section plane d'une poutre en T : une aile horizontale avec une âme verticale suspendue à son milieu.
width est la largeur de l'aile, height la hauteur totale, webThickness et flangeThickness
les épaisseurs de paroi ; alignment dit quel point de la boîte du profil se place sur center, et
rotation la tourne dans son plan, en degrés. Elle est posée à plat sur le sol.
La taille du profil, les deux épaisseurs, l'alignement, la rotation, le centre et la normale du plan
La face de profil de poutre en T
Crée la section plane d'une poutre en U, un profilé en C : une âme avec deux ailes de
flangeWidth dressées à ses extrémités.
width et height sont la taille totale, webThickness et flangeThickness les épaisseurs de
paroi ; alignment dit quel point de la boîte du profil se place sur center, rotation
la tourne dans son plan, en degrés. Elle est posée à plat sur le sol.
La taille du profil, les épaisseurs, la largeur des ailes, l'alignement, la rotation, le centre et la normale du plan
La face de profil de poutre en U
Rassemble des informations de diagnostic sur une face : son type de surface, ses degrés U et V, le nombre de points de contrôle et de nœuds, si U ou V sont fermés, périodiques ou rationnels, les limites UV, l'aire, la planéité, l'orientation et le nombre de fils et d'arêtes.
Une face vide ou null donne un rapport marqué invalide.
La face à inspecter
Le rapport
Pose une grille de points sur une face en parcourant régulièrement ses plages U et V.
nrDivisionsU par nrDivisionsV points couvrent la face de bord à bord, listés rangée par rangée : toutes les valeurs
V pour le premier U, puis le U suivant. Les indicateurs de suppression retirent la première ou la dernière rangée ; les
indicateurs de décalage poussent chaque point d'un demi-pas.
La face, le nombre de points en U et V, et les options de décalage et de suppression
Les points, rangée par rangée
Trace des fils régulièrement espacés à travers une face le long d'une direction de paramètre, comme les lignes d'une feuille réglée.
nrDivisions pas donnent un fil de plus que cela, lignes de bord comprises ; removeStart
et removeEnd les retirent, shiftHalfStep déplace chaque fil d'un demi-pas. Avec isU vrai,
chaque fil se trouve à un U fixe et traverse V ; faux échange les rôles.
La face, le nombre de divisions, la direction et les options
Les fils, dans l'ordre le long de la direction choisie
Pose une grille de points sur une face comme subdivideToPoints, mais décale et supprime des points sur
chaque n-ième rangée ou colonne, pour des motifs en briques et décalés.
Chaque règle est une paire : shiftHalfStepNthU dit toutes les combien de rangées V l'une se décale d'un demi-pas en U,
shiftHalfStepUOffsetN où le comptage commence ; les règles de suppression retirent chaque n-ième point d'une
rangée de bord.
La face, le nombre de points en U et V, et les règles de décalage et de suppression toutes les n rangées
Les points, rangée par rangée
const staggered = await bitbybit.occt.shapes.face.subdivideToPointsControlled({
shape: face,
nrDivisionsU: 10,
nrDivisionsV: 10,
shiftHalfStepNthU: 2,
shiftHalfStepUOffsetN: 0,
removeStartEdgeNthU: 0,
removeStartEdgeUOffsetN: 0,
removeEndEdgeNthU: 0,
removeEndEdgeUOffsetN: 0,
shiftHalfStepNthV: 0,
shiftHalfStepVOffsetN: 0,
removeStartEdgeNthV: 0,
removeStartEdgeVOffsetN: 0,
removeEndEdgeNthV: 0,
removeEndEdgeVOffsetN: 0,
});
Calcule la normale de surface en chaque point de la grille que subdivideToPoints poserait sur une
face, avec les mêmes options et le même ordre.
Les normales sont des vecteurs unitaires et suivent l'orientation de la face, une face inversée les donne donc
retournées. Associez la liste à subdivideToPoints pour placer des choses debout sur la surface.
La face, le nombre de points en U et V, et les options de décalage et de suppression
Les normales unitaires, rangée par rangée
Liste les paires de paramètres UV de la grille que subdivideToPoints poserait sur une face, avec les
mêmes options et le même ordre.
Les paires sont dans les vraies valeurs UV de la face, pas en fractions.
La face, le nombre de points en U et V, et les options de décalage et de suppression
Les paires UV, rangée par rangée
Trouve le point sur une face aux fractions UV données.
paramU et paramV vont de 0 à 1 sur la plage U et V de la face, 0.5, 0.5 est donc le
milieu de la plage, qui sur une face limitée n'est pas toujours à l'intérieur de la face.
La face et les fractions U et V
Le point sur la surface
Trouve la normale de surface d'une face aux fractions UV données.
paramU et paramV vont de 0 à 1 sur la plage U et V de la face. La normale est un vecteur
unitaire et suit l'orientation de la face, une face inversée la donne donc retournée.
La face et les fractions U et V
La normale unitaire
Trouve les points sur une face à plusieurs paires de fractions UV à la fois.
Chaque paire contient U puis V, tous deux de 0 à 1 sur la plage de la face.
La face et la liste des paires de fractions U et V
Un point par paire, dans le même ordre
Trouve les normales de surface d'une face à plusieurs paires de fractions UV à la fois.
Chaque paire contient U puis V, tous deux de 0 à 1 sur la plage de la face. Les normales sont des vecteurs
unitaires de la surface sous-jacente ; contrairement à normalOnUV, elles ne sont pas retournées pour une face
inversée.
La face et la liste des paires de fractions U et V
Une normale unitaire par paire, dans le même ordre
Place des points régulièrement espacés le long d'une ligne droite à travers la plage UV d'une face.
Avec isU vrai, la ligne se trouve à param (une fraction de 0 à 1 de la plage U) et
nrPoints points se répartissent sur toute la plage V ; avec faux, les rôles s'échangent.
removeStartPoint et removeEndPoint retirent les extrémités, et shiftHalfStep déplace chaque point
d'un demi-pas.
La face, la direction, la fraction le long de celle-ci, le nombre de points et les options
Les points le long de la ligne, dans l'ordre
Trace un fil à travers une face le long d'une ligne de paramètre, en suivant la surface.
Avec isU vrai, le fil se trouve à param (une fraction de 0 à 1 de la plage U) et parcourt
toute la plage V ; avec faux, les rôles s'échangent.
La face, la direction et la fraction le long de celle-ci
Le fil sur la surface
Trace plusieurs fils à travers une face, un par valeur de paramètre, en suivant la surface.
Avec isU vrai, chaque fil se trouve à sa fraction de la plage U et parcourt toute la plage
V ; avec faux, les rôles s'échangent.
La face, la direction et les fractions le long de celle-ci
Un fil par fraction, dans le même ordre
Classe les points comme à l'intérieur d'une face, sur sa frontière ou à l'extérieur, et conserve les groupes choisis.
keepIn, keepOn, keepOut et keepUnknown choisissent les groupes ; tolerance décide à quelle
distance de la frontière un point compte comme dessus. Avec useBndBox, un point hors de la boîte englobante
agrandie de gapTolerance est à l'extérieur.
La face, les points, la tolérance, le raccourci par boîte englobante et les groupes à conserver
Les points retenus, dans leur ordre d'origine
Exécute filterFacePoints contre plusieurs faces avec les mêmes points et options.
Par défaut le résultat contient une liste par face ; avec flatPointsArray vrai, les listes sont
réunies en une seule, un point sur deux faces apparaît donc deux fois.
Les faces, les points, la tolérance, les groupes à conserver et s'il faut aplatir le résultat
Une liste de points par face, ou une seule liste réunie
Crée une face par fil, chacune découpée dans la surface d'une face de guidage pour qu'elle prenne la courbure de cette surface.
Les fils doivent se trouver sur la surface. Avec inside vrai, chaque fil est orienté pour que sa face soit la
région qu'il enferme ; avec faux, le sens propre du fil décide, et un fil allant dans l'autre
sens donne la région extérieure.
Les fils, la face de guidage et le côté à conserver
Une face par fil, dans le même ordre
Crée une face à partir d'un fil qui se trouve sur la surface d'une face de guidage, de sorte que la nouvelle face prend la courbure de cette surface.
Avec inside vrai, le fil est orienté pour que la face soit la région qu'il enferme ; avec faux, le
sens propre du fil décide, et un fil allant dans l'autre sens donne la région extérieure.
Le fil, la face de guidage et le côté à conserver
La nouvelle face
Crée une face délimitée par un fil fermé.
Avec planar vrai, le fil doit se trouver dans un seul plan et la face est plane ; avec faux, une surface
lisse est ajustée à travers les arêtes du fil, ce qui remplit un fil qui n'est pas plan. Une forme qui
n'est pas un fil lève une erreur.
Le fil et si la face doit être plane
La nouvelle face
Crée une seule face à partir de plusieurs fils : le premier fil est le bord extérieur et chaque fil suivant y découpe un trou.
Avec planar vrai, les fils doivent se trouver dans un seul plan. Les fils de trous doivent se trouver à l'intérieur du fil
extérieur sans le croiser ni se croiser entre eux.
Les fils, frontière extérieure en premier, et si la face doit être plane
La face avec des trous
const outer = await bitbybit.occt.shapes.wire.createRectangleWire({ width: 20, length: 10, center: [0, 0, 0], direction: [0, 1, 0] });
const hole = await bitbybit.occt.shapes.wire.createCircleWire({ radius: 2, center: [0, 0, 0], direction: [0, 1, 0] });
const plate = await bitbybit.occt.shapes.face.createFaceFromWires({ shapes: [outer, hole], planar: true });
Crée une seule face à partir de plusieurs fils sur la surface d'une face de guidage : le premier fil est le bord extérieur et chaque fil suivant découpe un trou.
La face prend la courbure de la surface de guidage. inside s'applique au premier fil : vrai
l'oriente pour que la face soit la région qu'il enferme ; faux laisse son propre sens décider.
Les fils, frontière extérieure en premier, la face de guidage et le côté à conserver
La face avec des trous
Crée une face par fil fermé, chacune comme le ferait createFaceFromWire.
Avec planar vrai, chaque fil doit se trouver dans un plan ; avec faux, une surface lisse est ajustée
à travers chacun.
Les fils et si les faces doivent être planes
Une face par fil, dans le même ordre
Relie des cercles par des courroies tangentes : pour chaque paire, il trace les deux lignes tangentes extérieures et les arcs extérieurs entre elles et remplit ce contour d'une face plane.
combination choisit les paires : allWithAll chaque cercle avec chaque autre, inOrder
les voisins dans la liste, inOrderClosed aussi le dernier avec le premier. unify fusionne les faces ;
sinon elles forment un composé.
Les fils circulaires, comment les apparier, s'il faut fusionner le résultat et la tolérance
La forme fusionnée, ou le composé des faces de courroie
const a = await bitbybit.occt.shapes.wire.createCircleWire({ radius: 3, center: [0, 0, 0], direction: [0, 1, 0] });
const b = await bitbybit.occt.shapes.wire.createCircleWire({ radius: 1, center: [10, 0, 0], direction: [0, 1, 0] });
const c = await bitbybit.occt.shapes.wire.createCircleWire({ radius: 2, center: [5, 0, 8], direction: [0, 1, 0] });
const belt = await bitbybit.occt.shapes.face.createFaceFromMultipleCircleTanWires({
circles: [a, b, c],
combination: Bit.Inputs.OCCT.combinationCirclesForFaceEnum.inOrderClosed,
unify: true,
tolerance: 1e-7,
});
Relie les cercles de listes consécutives par des courroies tangentes, comme
createFaceFromMultipleCircleTanWires relie des cercles isolés.
allWithAll relie chaque cercle d'une liste à chaque cercle de la suivante ; inOrder relie
les cercles à la même position dans des listes voisines, qui doivent avoir la même longueur ; inOrderClosed
ferme aussi chaque liste en anneau. unify fusionne les faces ; sinon elles forment un composé.
Les listes de fils circulaires, comment les apparier, s'il faut fusionner le résultat et la tolérance
La forme fusionnée, ou le composé des faces de courroie
Crée une face qui couvre une surface entière, jusqu'aux limites naturelles de la surface.
tolerance sert à détecter les arêtes dégénérées, comme le pôle d'une sphère. Les surfaces viennent
de geom.surfaces.
La surface et la tolérance pour les arêtes dégénérées
La face
Crée une face en découpant une surface avec un fil qui se trouve dessus.
Avec inside vrai, le fil est orienté pour que la face soit la région qu'il enferme ; avec faux, le
sens propre du fil décide, et un fil allant dans l'autre sens donne la région extérieure.
Les surfaces viennent de geom.surfaces.
La surface, le fil posé dessus et le côté à conserver
La face
Crée une face triangulaire plane à partir de trois points.
Le triangle sous forme de trois points
La face
Crée une face triangulaire plane par triangle d'un maillage.
Un triangle qui ne peut pas former de face, par exemple avec des points répétés, est sauté avec un avertissement dans la console.
Le maillage sous forme de liste de triangles
Une face par triangle qui a pu être construit
Choisit une face d'une forme par sa position, en comptant à partir de 0, dans l'ordre où le noyau parcourt la forme.
La forme doit être une face ou quelque chose construit à partir de faces ; un index au-delà de la dernière face lève une erreur.
La forme et l'index à partir de 0
La face à cet index
Liste chaque face d'une forme dans l'ordre où le noyau la parcourt.
La forme
Les faces trouvées dans la forme
Retourne une face pour que sa normale pointe dans l'autre sens.
La géométrie reste la même ; seule l'orientation change, ce qui décide de l'extérieur d'une
coque et de la direction que normalOnUV rapporte.
La face
La face retournée
Lit la plus petite valeur du paramètre U d'une face, dans les unités propres de la surface.
Avec getUMaxBound, getVMinBound et getVMaxBound, elle donne la plage sur laquelle les
fractions UV utilisées ailleurs dans cette classe se projettent.
La face
La borne inférieure en U
Lit la plus grande valeur du paramètre U d'une face, dans les unités propres de la surface.
La face
La borne supérieure en U
Lit la plus petite valeur du paramètre V d'une face, dans les unités propres de la surface.
La face
La borne inférieure en V
Lit la plus grande valeur du paramètre V d'une face, dans les unités propres de la surface.
La face
La borne supérieure en V
Mesure l'aire de la surface d'une face, en unités du modèle au carré.
La face
L'aire
Mesure l'aire de la surface de chaque face d'une liste, en unités du modèle au carré.
Les faces
Une aire par face, dans le même ordre
Trouve le centre de masse d'une face, le point sur lequel son aire s'équilibre.
Sur une face courbe ou en anneau, ce point peut se trouver hors de la surface.
La face
Le centre de masse
Trouve le centre de masse de chaque face d'une liste.
Les faces
Un point par face, dans le même ordre
Pose des fils rectangulaires sur une face, un par cellule d'une division nrRectanglesU par nrRectanglesV
de sa plage UV, en suivant la surface.
Les décalages de bordure réduisent la plage à chaque extrémité. Chaque rectangle est centré dans sa cellule, dimensionné par les motifs d'échelle en fraction de celle-ci ; le motif de congé arrondit les coins, le motif d'inclusion saute des cellules.
La face, les nombres de cellules, les décalages de bordure et les motifs facultatifs
Les fils rectangulaires, cellule par cellule
Découpe une grille de trous rectangulaires dans une face et renvoie la face perforée.
Les trous suivent les mêmes cellules et motifs que subdivideToRectangleWires ; quand aucun motif
d'échelle n'est donné, chaque trou couvre la moitié de sa cellule. Avec holesToFaces vrai, le résultat
porte aussi une face par trou, après la face perforée, ce qui est pratique pour des couvercles ou des bouchons.
La face, les nombres de cellules, les décalages de bordure, les motifs facultatifs et s'il faut renvoyer les faces des trous
La face perforée, suivie des faces des trous si demandées
const [perforated] = await bitbybit.occt.shapes.face.subdivideToRectangleHoles({
shape: face,
nrRectanglesU: 6,
nrRectanglesV: 4,
scalePatternU: [0.6],
scalePatternV: [0.6],
filletPattern: [0.5],
inclusionPattern: [true],
holesToFaces: false,
offsetFromBorderU: 0.05,
offsetFromBorderV: 0.05,
});
Pose un nid d'abeilles de fils hexagonaux sur une face, nrHexagonsU par nrHexagonsV d'entre eux
ajustés dans sa plage UV, chacun suivant la surface.
Les décalages de bordure réduisent une fraction de la plage à chaque extrémité ; flatU tourne un côté plat vers
U, les indicateurs d'extension étirent les rangées extérieures au-delà des bords. Les motifs d'échelle, de congé et
d'inclusion se répètent par hexagone.
La face, les nombres d'hexagones, l'orientation, les décalages de bordure, les indicateurs d'extension et les motifs facultatifs
Les fils hexagonaux, rangée par rangée
Découpe un nid d'abeilles de trous hexagonaux dans une face et renvoie la face perforée.
Les trous suivent la même disposition et les mêmes motifs que subdivideToHexagonWires ; quand aucun motif
d'échelle n'est donné, chaque trou fait la moitié de la taille de son hexagone. Avec holesToFaces vrai, le
résultat porte aussi une face par trou, après la face perforée.
La face, les nombres d'hexagones, l'orientation, les décalages de bordure, les motifs facultatifs et s'il faut renvoyer les faces des trous
La face perforée, suivie des faces des trous si demandées
const [perforated] = await bitbybit.occt.shapes.face.subdivideToHexagonHoles({
shape: face,
nrHexagonsU: 8,
nrHexagonsV: 6,
flatU: false,
holesToFaces: false,
scalePatternU: [0.7],
scalePatternV: [0.7],
filletPattern: [0],
inclusionPattern: [true],
offsetFromBorderU: 0.05,
offsetFromBorderV: 0.05,
});
Crée une face plane à partir d'une liste de points de coin, en fermant le contour du dernier point au premier.
Les points doivent se trouver dans un seul plan.
Les points de coin dans l'ordre
La face
Crée une face circulaire plane, un disque.
direction est la normale de son plan : la valeur par défaut [0, 1, 0] la pose à plat sur le sol.
La face en disque
Remplit un rectangle sur le plan du sol avec une grille de faces hexagonales planes, centrée sur l'origine.
Les hexagones sont mis à l'échelle pour que nrHexagonsInWidth tiennent sur width et nrHexagonsInHeight
sur height. Les motifs d'échelle, de congé et d'inclusion sont lus hexagone par hexagone et se
répètent ; les indicateurs d'extension étirent les rangées extérieures au-delà des bords pour couvrir le rectangle.
La taille du rectangle, les nombres d'hexagones, les indicateurs d'extension et les motifs facultatifs
Une face par hexagone, rangée par rangée
Crée une face elliptique plane.
direction est la normale de son plan : la valeur par défaut [0, 1, 0] la pose à plat sur le sol.
radiusMajor doit valoir au moins radiusMinor.
Les deux rayons, le centre et la normale du plan
La face elliptique
Crée une face carrée plane centrée sur center.
direction est la normale de son plan : la valeur par défaut [0, 1, 0] la pose à plat sur le sol.
La face carrée
Crée une face rectangulaire plane centrée sur center.
Sur le plan du sol, width suit X et length suit Z ; direction est la normale du
plan, et la valeur par défaut [0, 1, 0] garde la face à plat sur le sol.
La largeur, la longueur, le centre et la normale du plan
La face rectangulaire
Crée une face plane en forme de L : deux branches rectangulaires jointes à un coin.
La première branche a widthFirst et lengthFirst, la seconde widthSecond et
lengthSecond ; align place le coin à l'extérieur, à l'intérieur ou au milieu des branches, et
rotation tourne la forme dans son plan, en degrés. Elle est posée à plat sur le sol sauf si
direction dit autrement.
Les tailles des deux branches, l'alignement, la rotation, le centre et la normale du plan
La face en L
Crée une face plane en forme d'étoile à numRays pointes.
Les pointes atteignent outerRadius et les creux entre elles innerRadius ; half ne garde que
la première moitié des rayons. offsetOuterEdges soulève les bouts des rayons hors du plan et est
destiné au fil ; une face plane l'exige à 0. Elle est posée à plat sur le sol sauf si direction
dit autrement.
La face en étoile
Crée une face plane en forme de sapin de Noël stylisé : nrSkirts couches de branches,
se rétrécissant de outerDist à innerDist par rapport à la ligne du tronc, sur un tronc de trunkHeight et
trunkWidth.
Contrairement aux autres formes plates d'ici, elle se dresse dans le plan XY, la pointe le long de Y ; direction
est la direction du tronc vers la pointe, rotation la fait tourner autour de cet axe, en degrés.
Les proportions du sapin, la taille du tronc, les options, l'origine et la direction du tronc vers la cime
La face en sapin
Crée une face de parallélogramme plane : un rectangle de width et height dont les côtés penchent
de angle degrés.
Avec aroundCenter vrai, la forme est centrée sur center ; sinon elle y commence et
s'étend dans les directions positives. direction est la normale du plan ; la valeur par défaut [0, 1, 0] la pose à plat sur le sol.
La largeur, la hauteur, l'angle d'inclinaison, s'il faut la centrer, le centre et la normale du plan
La face en parallélogramme
Crée une face plane en forme de cœur qui tient à peu près dans un carré de sizeApprox.
rotation la tourne dans son plan, en degrés. direction est la normale du plan ; la
valeur par défaut [0, 1, 0] la pose à plat sur le sol.
La taille approximative, la rotation, le centre et la normale du plan
La face en cœur
Crée une face polygonale régulière plane à nrCorners coins, tous sur un cercle de radius.
direction est la normale du plan ; la valeur par défaut [0, 1, 0] la pose à plat sur le sol.
Le nombre de coins, le rayon, le centre et la normale du plan
La face polygonale
Reconstruit la surface d'une face en B-spline des degrés U et V donnés.
Baisser un degré lisse la surface en une approximation plus simple à tolerance près ;
l'augmenter est exact. keepTrim garde les fils de bord d'origine, ce qui est fiable en
augmentant ; sinon la face couvre toute la nouvelle surface. Une reconstruction qui échoue donne une face
null.
La face, les degrés cibles en U et V, la tolérance et s'il faut conserver la frontière
La face reconstruite
Change la façon dont les paramètres UV parcourent une face : échanger U et V, inverser U, inverser V, ou toute combinaison.
La géométrie reste la même ; seules les directions des paramètres changent, ce qui compte pour chaque
méthode d'ici qui travaille en UV, comme subdivideToPoints ou wireAlongParam. La face est
reconstruite sur les limites naturelles de la surface.
La face et les inversions à appliquer
La face avec la paramétrisation modifiée
Reparamétrise une face pour que des pas égaux en U ou V donnent des distances à peu près égales sur la surface.
Beaucoup de surfaces resserrent leurs paramètres par endroits, une grille UV posée dessus paraît donc irrégulière ; ceci
rééchantillonne la surface en samples points par direction et la réajuste, ce qui régularise
subdivideToPoints et ses semblables. La face est reconstruite sur les nouvelles limites.
La face, les directions à normaliser, le nombre d'échantillons et la tolérance d'ajustement
La face reparamétrée
Faces dans OpenCascade : des morceaux bornés d'une surface, plans ou courbes, avec un fil de frontière extérieure et des fils intérieurs facultatifs qui font des trous. Construisez-les à partir de fils ou de surfaces, ou comme formes planes prêtes à l'emploi (cercles, rectangles, étoiles, profils de poutres) qui reposent sur le plan du sol sauf si
directiondit autrement ; parcourez leur surface par les paramètres UV pour obtenir des points, des normales et des grilles de fils ; découpez-y des motifs de trous ; et mesurez l'aire et le centre de masse. U et V sont les deux directions d'une surface, données ici comme fractions de 0 à 1 de la plage propre à la face. Les faces se joignent arête à arête en coques, queshapes.shellgère.