Page suivante Page précédente Table des matières

5. Outils de modélisation NURBS

Cette section décrit les outils de modélisation de courbes et de surfaces NURBS de Ayam.

Notez que l'appui sur la touche <F1> dans les fenêtres de dialogue des outils peut être utilisé pour passer directement à la sous-section appropriée de cette partie de la documentation.

5.1 Remarques générales

Tous les outils de modélisation NURBS sont accessibles via le menu "Tools" de la fenêtre principale ou de la boîte à outils. En outre, il existe également des commandes correspondantes dans l'interface de script.

De nombreux outils de modification travaillent sur plusieurs objets sélectionnés et exécutent l'opération sélectionnée sur tous ces objets sélectionnés dans l'ordre de leur apparition dans le niveau courant.

Les outils qui prennent uniquement des courbes NURBS ou uniquement des surfaces NURBS dans la sélection avertiront si la sélection contient des objets de type inadéquat, mais le traitement se poursuivra quand même.

En cas d'erreur, cependant, le traitement de plusieurs objets sélectionnés s'arrête immédiatement, laissant éventuellement derrière lui des objets modifiés et non modifiés.

Si une opération est exécutée avec succès sur un objet, les points sélectionnés peuvent être retirés de l'objet. Ensuite, la notification de l'objet sera exécutée. La notification de l'objet parent sera exécutée une fois que le traitement de tous les objets sélectionnés sera terminé.

Les outils qui créent des objets outils peuvent utiliser le presse-papiers pour déplacer les nouveaux enfants, c'est-à-dire que le contenu du presse-papiers est perdu par la suite.

5.2 Outils de création de courbes

Ces outils permettent de créer des objets courbes paramétriques.

Outil courbes B-spline circulaires (Circular B-Spline)

Courbes B-Spline crées par l'outil "Circular B-Spline"

Arguments

Radius, Arc, Sections, Order.

Opération

Cet outil crée une courbe B-Spline non rationnelle avec des points de contrôle Sections+1+Ordre (Arc=360,0) ou Sections+1+(Ordre/2) (autres valeurs d'Arc) dans le plan XY. Les points de contrôle sont disposés dans un cercle de rayon donné, centré autour de l'origine. Cela donne à la courbe un aspect circulaire (voir l'image ci-dessus) mais il ne s'agit pas d'un cercle véritable : Si seuls quelques points de contrôle sont utilisés, le rayon de la courbe circulaire est nettement inférieur à la valeur du rayon spécifié (voir la courbe de gauche sur l'image ci-dessus). De plus, la forme, le paramétrage et la courbure de la courbe B-Spline ne sont pas exactement comme on pourrait l'attendre d'un cercle. Pour créer de véritables courbes circulaires, il convient d'utiliser l'outil NURBCircle (voir ci-dessous) à la place.

Notes

Il doit y avoir au moins 1 section. Si Arc est 360,0, les n premiers points de contrôle de la nouvelle courbe seront identiques aux n derniers (où n est d'ordre 1). Comparez les courbes de gauche et du milieu de l'image ci-dessus qui sont respectivement d'ordre 4 et 2, la première ayant 3 et la seconde ayant juste 2-1=1 points de contrôle égaux. Si Arc est 360.0, la courbe sera également marquée de façon périodique et la génération de points multiples sera activée, de sorte que les actions d'édition de points sachent qu'elles peuvent avoir besoin de déplacer deux points (Voir aussi la section Points multiples).

Si Arc est inférieur à 360.0, la courbe sera ouverte et, comme il est naturel pour une courbe B-Spline, n'interpolera pas les premier et dernier points de contrôle à moins que l'ordre soit 2 (Voir la courbe de droite dans l'image ci-dessus, qui a été créée avec une valeur d'arc de 180.0, 10 sections, et l'ordre 4).

Outil cercle NURBS (NURBCircle)

Un cercle NURBS

Arguments

Radius, Arc.

Opération

L'outil "NURBCircle" crée une courbe NURBS circulaire de rayon et d'arc désirés dans le plan XY, centrée autour de l'origine (voir aussi l'image ci-dessus). L'ordre de la courbe sera 3. Le nombre de points de contrôle utilisés diffère selon l'arc, par exemple 9 points pour un cercle complet, 5 pour un demi-cercle, 3 pour un quart de cercle.

Notes

La courbe NURBS créée par l'outil NURBCircle est rationnelle (utilise des poids). Cela signifie que le fait de modifier la courbe (par exemple, en déplaçant des points de contrôle) peut entraîner des résultats imprévus (la courbe ne se comporte pas exactement comme on le souhaiterait). Si la courbe doit être modifiée davantage, il convient d'utiliser à la place une B-Spline fermée, créée avec l'outil " Circular B-Spline " (voir ci-dessus). En outre, la courbe créée sera marquée comme fermée et la génération de points multiples sera activée, de sorte que les actions de modification de points sachent qu'elles peuvent avoir besoin de déplacer deux points. Voir aussi la section Points multiples.

Un cercle NURBS créé par cet outil peut être utilisé pour créer facilement un tore NURBS en déplaçant le cercle le long de X un peu puis en le faisant tourner. La quantité de mouvement détermine le rayon du tore, tandis que le rayon du cercle détermine l'épaisseur.

Outil rectangle

Un carré

Arguments

Width, Height

Opération

L'outil rectangle crée une courbe NURBS non rationnelle, linéaire par morceaux, plane et centrée, de forme rectangulaire et de deux fois la largeur et la hauteur spécifiées dans le plan XY (voir aussi l'image ci-dessus).

Notes

La courbe créée sera marquée comme fermée et la génération de points multiples sera activée, de sorte que les actions de modification de points sachent qu'elles peuvent avoir besoin de déplacer deux points. Voir aussi la section Points multiples.

Outil rectangle de trim (TrimRect)

Un TrimRect

Arguments

L'outil "TrimRect" prend les objets "NPatch" sélectionnés (ou "NPatch" fournissant des objets[∗]) de la sélection. Si le niveau actuel se trouve dans un objet "NPatch", l'objet parent correspondant est utilisé.

Opération

Pour chaque patch sélectionné, l'outil TrimRect crée une courbe NURBS non rationnelle, linéaire par morceaux, plane et de forme rectangulaire dans le plan XY, qui s'inscrit dans l'espace de paramètres (u, v) de ce patch NURBS, pour être utilisée comme courbe de trim externe. Voir également l'image ci-dessus, qui représente un rectangle pour une pièce NURBS définie sur les intervalles de noeuds
0.0, 0.0, 1.0, 1.0
et
0.0, 0.083, 0.16, 0.25, ... , 0.75, 0.83, 0.916, 1.0. La courbe créée sera marquée comme fermée et la génération de points multiples sera activée, de sorte que les actions de modification de points sachent qu'elles peuvent avoir besoin de déplacer deux points. Voir aussi la section Points multiples.

Si un objet "NPatch" est sélectionné, la nouvelle courbe sera liée en tant qu'enfant de cet objet "NPatch". Sinon, elle sera liée au niveau actuel. L'option "CreateAtMark" est ignorée. Voir la section Courbes de trim (coupe) pour une discussion plus détaillée sur les courbes de trim et l'utilisation de la courbe rectangulaire créée par l'outil "TrimRect".

Outil courbes interpolées (Tween Curve)

Courbe interpolée (blanche) à partir de deux courbes paramètres (bleu) avec r = 0.5

Arguments

L'outil de courbe d'interpolation prend deux courbes NURBS de la sélection et demande un paramètre r.

Opération

Les courbes NURBS sélectionnées seront interpolées (tweened) et une nouvelle courbe incorporant les caractéristiques des deux courbes d'origine sera créée. Voir aussi l'image ci-dessus. Le paramètre r définit le rapport d'influence de la première et de la deuxième courbe (cette dernière utilise un rapport de 1 - r).

|-NCurve             |-NCurve
|-NCurve     ==>     |-NCurve
                     |-NCurve
Si une troisième courbe est sélectionnée, le paramètre r est ignoré et cette troisième courbe définit le rapport d'influence avec ses coordonnées y.

Notes

Les deux courbes doivent être de même longueur et de même ordre. Cependant, elles n'ont pas besoin d'être définis sur le même vecteur de noeud. La courbe de contrôle d'interpolation n'a pas besoin d'être compatible avec l'une des courbes d'origine. Si l'un des types de vecteurs de noeuds courbes est "Custom" ou si les types de vecteurs de noeuds respectifs sont différents, le type de vecteur de noeuds résultant sera "Custom" et les valeurs de noeuds seront également interpolées. Sinon, un vecteur de noeud correspondant sera généré en fonction du type. Les courbes NURBS d'origine ne seront pas supprimées par cet outil. Voir aussi la documentation de la commande d'interface de script correspondante tweenNC et l'outil associé pour les surfaces Outil d'interpolation de surfaces (Tween Surfaces).

Pour interpoler une courbe NURBS fournissant des objets ou des objets de courbe NURBS incompatibles, un objet Script doit être utilisé, comme indiqué dans l'exemple distribué de fichier de scène "tweenc.ay" et le script "tweenc.tcl".

5.3 Outils de modification des courbes

Ces outils modifient les objets courbes paramétriques.

Sauf indication contraire, les balises PV sont non prises en charge/modifiées par ces outils.

Outil de renversement (Revert)

Outil "Revert" (g: courbe initiale, d: courbe renversée)

Arguments

L'outil "Revert" prend tous les objets "NCurve", "ICurve", "ACurve", "NCircle" et "ConcatNC" de la sélection. De plus, les types d'objets de courbe définis par plugin peuvent prendre en charge l'opération de retour.[∗]

Opération

La direction des courbes sélectionnées sera inversée. Cet outil inverse également les distances de noeuds relatives des courbes NURBS de sorte que, par exemple, une courbe NURBS définie sur le vecteur noeud (asymétrique)
[ 0 0 0 0.75 1 1 1 ]
obtiendra le nouveau vecteur de noeud
[ 0 0 0 0.25 1 1 1 ]
après inversion. Cela garantit que la forme d'une courbe NURBS ne change pas pendant l'inversion. Les courbes d'interpolation et d'approximation peuvent changer de forme car les algorithmes d'interpolation/approximation sous-jacents ne sont pas invariants en fonction de la direction.
Pour l'interpolation des courbes, les dérivées finales sont également inversées correctement.

Notes

L'outil "Revert" peut être facilement invoqué à partir des fenêtres de visualisation en utilisant le raccourci clavier <!> (exclamation mark). Les points éventuellement sélectionnés le seront encore après cette opération. Voir aussi la documentation de la commande correspondante de l'interface de script revertC et les outils correspondants pour les surfaces Outil de reversement sur U (Revert U) et Outil de reversement sur V (Revert V).

Outil d'ouverture (Open)

Outil "Open" (g : courbe fermée, d : courbe ouverte)

Arguments

L'outil d'ouverture prend tous les objets "NCurve", "ICurve", "ACurve" et "ConcatNC" de la sélection. De plus, les types d'objets de courbe définis par plugin peuvent prendre en charge l'opération d'ouverture.[∗]

Opération

Les courbes seront ouvertes. Pour les objets "NCurve" fermés, le dernier point sera éloigné du premier (les points d'extrémité multiples seront gérés correctement), voir aussi l'image ci-dessus. Pour les courbes NURBS périodiques, les derniers points p seront éloignés du premier p (où p est le degré de la courbe). Pour les objets "ACurve", "ICurve" et "ConcatNC", l'attribut "Closed" sera effacé et aucun point de contrôle ne sera modifié.

Notes

L'outil d'ouverture peut être facilement invoqué à partir de fenêtres de visualisation en utilisant le raccourci clavier <(>. Voir également la documentation de la commande correspondante de l'interface de script openC.

Outil de fermeture (Close)

Outil "Close" (g : courbe ouverte, d : courbe fermée)

Arguments

L'outil "Close" prend tous les objets "NCurve", "ICurve", "ACurve" et "ConcatNC" de la sélection. En outre, des types d'objets de courbe définis par des plugins peuvent prendre en charge l'opération de fermeture[∗]

Opération

Les courbes seront fermées. Pour les objets "NCurve", le dernier point sera rendu identique au premier, cependant, cela ne garantit pas une forme de courbe fermée à moins que le vecteur noeud soit serré, voir aussi l'image ci-dessus. Pour les objets "ACurve", "ICurve" et "ConcatNC", l'attribut "Closed" sera défini et aucun point de contrôle ne sera modifié.

Notes

L'outil de fermeture peut être facilement invoqué à partir des fenêtres de visualisation en utilisant le raccourci clavier <)>. Voir également la documentation de la commande correspondante de l'interface de script closeC.

Outil d'affinage (Refine)

Application successive de l'outil "Refine"

Arguments

L'outil d'affinage prend tous les objets "NCurve", "ICurve" et "ACurve" de la sélection. [∗] De plus, des types d'objets courbes définis par plugin peuvent prendre en charge l'opération de raffinage.[∗]

Opération

Les courbes sélectionnées seront affinées en insérant un point de contrôle au milieu de chaque intervalle de points de contrôle, ce qui modifiera la forme de la courbe. Les points de contrôle d'origine ne seront pas modifiés. Pour les courbes NURBS périodiques, aucun point de contrôle ne sera inséré dans les derniers intervalles p (où p est le degré de la courbe), cela permet de maintenir la périodicité, voir aussi l'image ci-dessous où une courbe périodique de longueur 9 (8 sections) a été affinée, ce qui donne une courbe périodique de longueur 15 (et non 17).

Affiner une courbe NURBS périodique

S'il y a des points sélectionnés, seuls les intervalles entre le premier et le dernier point sélectionné sont affinés, voir aussi l'image ci-dessous.

Affiner une région sélectionnée

La sélection des points sera adaptée de manière à ce que l'outil d'affinage puisse être appliqué plusieurs fois.

Notes

L'outil d'affinage peut être facilement invoqué à partir de fenêtres de visualisation en utilisant le raccourci clavier <#>.[∗]

Voir également la documentation de la commande correspondante de l'interface de script refineC.

Outil d'affinage des noeuds (Refine Knots)

Application successives de l'outil "Refine Knots"

Arguments

L'outil de raffinement des noeuds prend un certain nombre de courbes NURBS dans la sélection.

Opération

Les vecteurs de noeuds des courbes NURBS sélectionnées seront affinés en insérant un noeud au milieu de chaque intervalle de noeud intérieur sans modifier la forme de la courbe. De nouveaux points de contrôle seront ajoutés et la position des anciens points de contrôle pourra être modifiée au fur et à mesure. Voir aussi l'image ci-dessus où une courbe définie sur le vecteur noeud :
[ 0 0 0 0 1 1 1 1 ]
est successivement affiné jusqu'au vecteur noeud :
[ 0 0 0 0 0.5 1 1 1 1 ]
et donc
[ 0 0 0 0 0.25 0.5 0.75 1 1 1 1 ].

Notes

Comme les nouveaux noeuds ne sont insérés que dans les intervalles intérieurs, l'état de serrage des vecteurs de noeuds ne change pas. En outre, les vecteurs de noeuds de type "NURB" ne changent pas de type, les autres vecteurs de noeuds sont changés en type "Custom". Le type de courbe des courbes périodiques "NURB" sera conservé. La sélection de points sera supprimée des objets traités. Voir également la documentation de la commande correspondante de l'interface de script refineknNC et l'outil correspondant pour les surfaces Outil de raffinage des noeuds de surface (Refine Knots Surface).

Outil d'affinage des noeuds avec un outil (Refine Knots With Tool)

Arguments

Cet outil prend un certain nombre de courbes NURBS de la sélection et demande un vecteur de nouvelles valeurs de noeuds.

Opération

Les vecteurs noeuds des courbes NURBS sélectionnées seront affinés en insérant tous les noeuds du vecteur spécifié en une seule fois. De nouveaux points de contrôle seront ajoutés et la position des anciens points de contrôle pourra être modifiée en cours de route. Le vecteur de noeuds résultant doit être valide, sinon une erreur sera signalée et la courbe respective ne sera pas modifiée.

Notes

Notez que les formes des courbes ne changent pas, mais la position de certains points de contrôle, si. La sélection des points sera supprimée des objets traités. Voir également la documentation de la commande correspondante de l'interface de script refineknNC et l'outil correspondant pour les surfaces Outil de raffinage des noeuds avec la surface(Refine Knots With Surface).

Outil d'approximation (Coarsen)

Applications successives de l'outil "Coarsen"

Arguments

L'outil d'approximation prend tous les objets "NCurve", "ICurve" et "ACurve" de la sélection. [∗] De plus, des types d'objets courbes définis par plugin peuvent prendre en charge l'opération d'approximation.[∗]

Opération

Un point de contrôle sur deux dans les vecteurs de contrôle des courbes sélectionnées sera supprimé. Si la nouvelle longueur de la courbe est inférieure à l'ordre actuel, l'outil "Coarsen" ne changera rien.

Notes

Pour les courbes NURBS périodiques, l'outil d'approximation ne supprime pas les points de contrôle des premiers (derniers) intervalles p (où p est le degré de la courbe). Pour les courbes fermées, l'outil d'approximation ne supprime pas le dernier point. L'outil d'approximation supprimera également les valeurs de noeuds des courbes NURBS avec des vecteurs de noeuds personnalisés. S'il y a des points sélectionnés, seuls les intervalles entre le premier et le dernier point sélectionné sont affectés. La sélection des points sera modifiée de manière à ce que l'outil puisse être appliqué plusieurs fois.[∗] L'outil d'approximation peut être facilement invoqué à partir des fenêtres de visualisation en utilisant le raccourci clavier <Shift-#>.[∗] Voir également la documentation de la commande correspondante de l'interface de script coarsenC.

Outil d'élévation (Elevate)

Applications successives de l'outil "Elevate" (Ordre : g:3, c: 4, d:5)

Arguments

L'outil d'élévation prend un certain nombre de courbes NURBS de la sélection et demande en plus une valeur entière.

Opération

L'ordre des courbes NURBS sélectionnées sera augmenté de la valeur entière spécifiée sans modifier la forme de la courbe. Voir également l'image d'exemple ci-dessus.

Notes

Si le vecteur noeud de la courbe n'est pas serré, il le sera automatiquement. Le type de noeud de la courbe sera modifié en "Custom". De nouveaux points de contrôle seront ajoutés et la position des anciens points de contrôle pourra être modifiée en cours de route. La sélection des points sera supprimée des objets traités. Voir également la documentation de la commande correspondante de l'interface de script elevateNC et l'outil correspondant pour les surfaces Outil d'augmentation de l'ordre de la surface (Elevate Surface).

Outil de réduction (Reduce)

Outil "Reduce" (Ordre : gauche : 5, droite : 4)

Arguments

L'outil de réduction prend un certain nombre de courbes NURBS dans la sélection et demande en outre une valeur de tolérance.

Opération

L'ordre des courbes NURBS sélectionnées sera diminué de un si la forme des courbes réduites ne s'écarte pas des courbes originales de la tolérance donnée en un point quelconque. Voir également l'exemple d'image ci-dessus où une courbe d'ordre 5 et de longueur 11, définie sur le vecteur noeud
[ 0 0 0 0 0 0.25 0.25 0.5 0.5 0.75 0.75 1 1 1 1 1 ],
a été réduit à l'ordre quatre et est maintenant de longueur sept et défini sur le vecteur noeud
[ 0 0 0 0 0.25 0.5 0.75 1 1 1 1 ].

Notes

Si le vecteur noeud de la courbe n'est pas serré, il le sera automatiquement. Le type de noeud de la courbe sera modifié en "Custom". Les points de contrôle seront supprimés et la position des anciens points de contrôle pourra être modifiée en cours de route. La sélection des points sera supprimée des objets traités. La possibilité de réduire une certaine courbe peut être améliorée en augmentant d'abord la multiplicité des noeuds internes. En outre, si la forme de la courbe réduite a la priorité sur la distribution des points de contrôle appropriés pour une édition ultérieure, l'outil d'approximation de la courbe peut être en mesure de fournir un résultat même si la réduction de la courbe échoue, voir la section Outil d'approximation (Approximate).

Voir également la documentation de la commande correspondante de l'interface de script reduceNC et les outils de surface correspondants Outil de réduction de l'ordre des surfaces (Reduce Surface).

Outil d'extension (Extend)

Exemple d'outil d'extension (courbe originale (en haut), courbe originale et courbe étendue superposée (en bas))

Arguments

L'outil d'extension prend un certain nombre de courbes NURBS de la sélection et demande en plus un point dans l'espace.

Opération

Les courbes NURBS sélectionnées seront étendues jusqu'au (???) point spécifié dans l'espace sans modifier la forme déjà existante des courbes.

Le vecteur noeud des courbes sera redimensionné à l'échelle [0, 1]. Si le vecteur noeud d'une courbe n'est pas serré à la fin, il le sera automatiquement. Le type de noeud de chaque courbe sera modifié en "Custom". Un nouveau point de contrôle sera ajouté et la position des anciens points de contrôle pourra être modifiée en cours de route.

Notes

En raison des contraintes liées au fait qu'un seul point de contrôle sera ajouté à la courbe et que la forme actuelle doit être conservée, la nouvelle courbe peut former des arcs de grande taille inhabituels/non désirés si le nouveau point s'écarte trop de la tangente à l'extrémité de la courbe initiale. La sélection du point sera retirée des objets traités. Voir également la documentation de la commande correspondante de l'interface de script extendNC.

Outil de resserrage (Clamp)

Outil de serrage (à gauche : courbe originale, à droite : courbe serrée)

Arguments

L'outil de serrage prend un certain nombre de courbes NURBS à partir de la sélection.

Opération

Les vecteurs de noeuds des courbes NURBS sélectionnées seront modifiés par insertion de noeuds de sorte que le premier et le dernier noeud aient une multiplicité égale à l'ordre de la courbe, sans modifier la forme de la courbe. La courbe interpolera ensuite le premier et le dernier point de contrôle (à moins que les poids de ces points ne soient pas de 1,0). Voir aussi l'image ci-dessus, où une courbe de longueur sept et d'ordre quatre, définie à l'origine sur le vecteur noeud :
[ 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 ]
a été serrée et est maintenant défini sur le vecteur du noeud :
[ 0.3 0.3 0.3 0.3 0.4 0.5 0.6 0.7 0.7 0.7 0.7 ].

Notes

Le type de noeud des courbes sera modifié en "Custom". Dans les versions de Ayam antérieures à 1.18, c'était une erreur si la courbe était déjà serrée de part et d'autre, ce n'est plus le cas. En outre, les courbes comportant plusieurs noeuds dans la ou les régions d'extrémité ne pouvaient pas être serrées, ce qui fonctionne bien maintenant. Voir aussi la documentation de la commande correspondante de l'interface de script clampNC et l'outil correspondant pour les surfaces Outil de serrage de surface (Clamp Surface).

Outil de desserrage (Unclamp)

Outil de desserrage (à gauche : courbe originale, à droite : courbe déserrée)

Arguments

L'outil de desserrage prend un certain nombre de courbes NURBS dans la sélection.

Opération

Les vecteurs de noeuds des courbes NURBS sélectionnées seront modifiés de manière à ce qu'il n'y ait pas de noeuds multiples aux extrémités respectives des vecteurs de noeuds. La forme de la courbe ne sera pas modifiée, mais la position de certains points de contrôle le sera. Le type de noeud de la courbe peut être modifié en tapant "Custom". Voir aussi l'image ci-dessus où une courbe NURBS de longueur quatre et d'ordre trois, définie sur le vecteur noeud
[ 0 0 0 0.5 1 1 1 ],
a été déserrée et utilise maintenant le nouveau vecteur de noeud :
[ 0 0.1333 0.3333 0.5 0.6667 0.8333 1 ].

Notes

Le desserrage n'est pas l'exacte opposé du serrage (et vice et versa). En outre, comme l'opération de desserrage ne fonctionne que sur les courbes complètement serrés, l'outil de desserrage peut devoir brider la courbe en premier. Voir également la documentation de la commande correspondante de l'interface de script unclampNC et de l'outil de desserrage des surfaces correspondant Outil de desserrage des surfaces (Unclamp Surface).

Outil d'insertion de noeud (Insert Knot)

Outil d'insertion de noeud (à gauche : courbe originale, à droite : un noeud a été inséré une fois à u = 0.5)

Arguments

L'outil d'insertion de noeuds prend un certain nombre de courbes NURBS dans la sélection et demande deux valeurs supplémentaires, une valeur paramétrique u et une valeur entière i.

Opération

Un noeud ayant la valeur spécifiée u sera inséré i fois dans le vecteur noeud des courbes sélectionnées, sans modifier la forme des courbes. Voir également l'image ci-dessus, où un noeud a été inséré à u = 0,5 une fois dans une courbe de longueur quatre et d'ordre quatre qui a été définie à l'origine sur le vecteur noeud :
[ 0 0 0 0 1 1 1 1 ].
La courbe traitée de longueur cinq est définie sur le vecteur noeud :
[ 0 0 0 0 0.5 1 1 1 1 ].

Notes

Le type de noeud des courbes sera modifié en "Custom". La sélection de points sera supprimée des objets traités. Voir également la documentation de la commande correspondante de l'interface de script insknNC et l'outil correspondant pour les surfaces Outil d'insertion de noeuds (Insert Knot Surface).

Outil de suppression de noeud (Remove Knot)

Outil de suppression de noeud (à gauche : courbe originale, à droite : le noeud à t = 0,5 a été supprimé une fois)

Arguments

L'outil de suppression de noeud prend un certain nombre de courbes NURBS dans la sélection et demande trois valeurs supplémentaires, une valeur paramétrique t, une valeur entière r, et une valeur de tolérance tol.

Opération

Le noeud à la valeur paramétrique spécifiée t sera supprimé r fois du vecteur noeud des courbes sélectionnées si la forme de la courbe résultante ne s'écarte pas de plus de tol de la courbe originale en un point quelconque. Depuis Ayam 1.20, le noeud à supprimer peut également être spécifié en utilisant son indice (basé sur le zéro) dans le vecteur noeud ; par exemple en entrant "-i 3" au lieu de "0.5" pour le vecteur noeud :
[ 0 0 0 0.5 1 1 1 ].
Si le noeud ne peut être enlevé r fois en raison de la tolérance donnée, une erreur est signalée et la courbe originale est laissée inchangée.
Cette opération échoue également, si l'élimination du noeud entraîne une courbe d'ordre inférieur. Voir également l'image ci-dessus, où le noeud t = 0,5 a été supprimé une fois sur une courbe de longueur cinq et d'ordre quatre qui a été définie à l'origine sur le vecteur du noeud :
[ 0 0 0 0 0.5 1 1 1 1 ].
La courbe traitée de longueur quatre est définie sur le vecteur noeud :
[ 0 0 0 0 1 1 1 1 ].

Notes

Si tol est "0.0" l'outil de suppression des noeuds essaie de travailler sans modifier la forme de la courbe, c'est-à-dire que seuls les noeuds superflus seront supprimés. Si tol est "Inf" (infini), le noeud spécifié sera supprimé indépendamment des modifications potentielles de la courbe. La sélection de points sera supprimée des objets traités. Voir également la documentation de la commande correspondante de l'interface de script remknNC et de l'outil de surface correspondant Outil de suppression de noeuds (Remove Knot Surface).

Outil de suppression des noeuds superflus

Outil de suppression des noeuds superflus (à gauche : courbe d'origine, à droite : les noeuds superflus ont été supprimés)

Arguments

L'outil de suppression des noeuds superflus prend un certain nombre de courbes NURBS dans la sélection et demande une valeur de tolérance tol.

Opération

Tous les noeuds qui ne contribuent pas à la forme de la courbe seront supprimés du vecteur noeuds des courbes sélectionnées si la forme de la courbe résultante ne s'écarte pas de plus de tol de la courbe originale en un point quelconque.

Il n'y a pas d'erreur si aucun noeud ne peut être enlevé.

Voir également l'exemple d'image ci-dessus où une courbe créée par l'algorithme de concaténation avec le type de noeud "Custom" et donc des noeuds superflus a été nettoyée par l'outil de suppression des noeuds superflus. La courbe originale d'ordre trois avec 28 points de contrôle est définie sur le vecteur de noeuds :
[ 0 0 0 1 1 1 1.5 2 2 2 3 3 3 3.5 4 4 4 5 5 5 5.5 6 6 6 7 7 7 7.5 8 8 8 ].
La courbe traitée comporte 21 points de contrôle et est définie sur le vecteur noeud :
[ 0 0 0 1 1 1.5 2 2 3 3 3.5 4 4 5 5 5.5 6 6 7 7 7.5 8 8 8 ].

Notes

La sélection de points sera retirée des objets traités. Voir également la documentation de la commande correspondante de l'interface de script remsuknNC et les outils de surface correspondants Outil de suppression des noeuds superflus (Remove Superfluous Knots).

Outil de lissage (Fair)

 a

 b

 c   d

Outil "Fair" (a : original, b : traité, c : courbure de a, d : courbure de b)

Arguments

L'outil de lissage prend un certain nombre de courbes NURBS de la sélection et demande une valeur de tolérance tol.

Opération

Les points de contrôle des courbes seront modifiés de manière à ce que la forme de la courbe soit un peu plus lisse. Le mouvement d'un seul point de contrôle est limité par la valeur de tolérance spécifiée. Il est également possible d'appliquer l'outil plusieurs fois jusqu'à ce que la forme de la courbe réponde aux exigences.[∗]

S'il y a des points sélectionnés, seuls ceux-ci seront modifiés.

Voyez également les images ci-dessus où un pli sur le bord d'attaque d'un profil d'aile (a) a été supprimé en appliquant deux fois l'outil de lissage avec une valeur de tolérance de 0,1, ce qui donne la courbe inférieure (b). Comparez également les tracés de courbure des deux courbes (c et d).

Notes

L'algorithme de lissage utilise les quatre points de contrôle voisins directs et indirects de chaque point à traiter. Cela pose un problème pour les points d'extrémité d'une courbe ouverte. Par conséquent, le vecteur de contrôle des courbes ouvertes sera étendu, de sorte que chaque point de la courbe originale ait quatre voisins. Cependant, la qualité du lissage pour le premier, le deuxième, l'avant-dernier et le dernier point de contrôle d'une courbe ouverte sera un peu plus faible. L'algorithme original ne donne des résultats optimaux que pour les courbes cubiques (d'ordre quatre), l'utilisation de courbes d'autres degrés fonctionnera également mais donnera des résultats moins bons. Du fait que l'algorithme utilise des points déjà lissés comme points d'entrée pour d'autres points à caréner, il n'est pas invariant en direction s'il est utilisé sur tous ou plusieurs points voisins. De plus, les points de contrôle déjà placés sur des positions très bonnes, voire optimales, peuvent être déplacés vers des positions moins favorables. D'autres problèmes se posent pour les points de contrôle multiples, utilisés pour modéliser des angles vifs. En cas de doute, il suffit de sélectionner un seul point de contrôle pour être juste. Voir également la documentation de la commande correspondante de l'interface de script fairNC.

Outil de concaténation (Concat)

Arguments

L'outil de concaténation prend toutes les courbes NURBS et la courbe NURBS fournissant des objets de la sélection et demande les paramètres de fermeture, de type de noeud et de création de filet.[∗]

Opération

Les courbes sélectionnées seront concaténées et une nouvelle courbe NURBS sera créée.

|-NCurve             |-NCurve
|-NCurve     ==>     |-NCurve
                     |-NCurve

Notes

L'ordre de la nouvelle courbe est repris de la première courbe. Si l'une des courbes a des poids, la courbe résultante en aura aussi. Les courbes NURBS originales ne seront pas supprimées par cet outil. Voir aussi la section L'objet ConcatNC (Concatène les courbes NURBS) et la documentation de la commande correspondante de l'interface de script concatC.

Outil de fractionnement (Split)

Outil "Split" (à gauche : courbe originale, à droite : courbes de fractionnement résultantes pour u = 0.5)

Arguments

L'outil de fractionnement de courbes prend un certain nombre de courbes NURBS dans la sélection et demande en outre une valeur paramétrique u. En outre, une option append peut être définie.

Opération

Les courbes NURBS sélectionnées seront fractionnées en deux courbes NURBS à la valeur paramétrique désignée u. Le processus de fractionnement implique l'application de l'insertion de noeuds, de sorte que toutes les nouvelles courbes obtiendront un vecteur de noeuds personnalisé. Voir également l'image ci-dessus, où une courbe de longueur et d'ordre quatre, définie à l'origine sur le vecteur de noeud
[ 0 0 0 0 1 1 1 1 ],
a été fractionné à la valeur paramétrique 0,5, ce qui a donné une nouvelle courbe de longueur et d'ordre quatre qui est définie sur le vecteur noeud
[ 0.5 0.5 0.5 0.5 1 1 1 1 ].
La courbe originale sera définie sur le vecteur noeud
[ 0 0 0 0 0.5 0.5 0.5 0.5 ]
après cette opération.

Notes

Les objets de la courbe NURBS sélectionnés à l'origine seront modifiés. La ou les nouvelles courbes seront insérées dans le niveau juste après la ou les courbes respectives à fractionner, à moins que l'option append ne soit définie.[∗]

|-NCurve     ==>     |-NCurve
                     |-NCurve
La sélection de points sera supprimée des courbes initiales. Voir également la documentation de la commande correspondante de l'interface de script splitNC et l'outil correspondant pour les surfaces Outil de fractionnement de la surface (Split Surface).

Outil des courbes de trim (Découpe)

Outil de trim (à gauche : courbe originale, à droite : courbe trimmée résultante pour umin = 0.1, umax = 0.5)

Arguments

L'outil de courbes trim prend toutes les courbes NURBS sélectionnées dans la sélection et demande en outre deux valeurs paramétriques, umin et umax.

Opération

Les courbes NURBS sélectionnées seront ajustées à la plage paramétrique désignée (umin, umax). Voir également l'image ci-dessus, où une courbe de longueur et d'ordre quatre, définie à l'origine sur le vecteur noeud
[ 0 0 0 0 1 1 1 1 ],
a été ajustée aux valeurs paramétriques 0.1 0.5, ce qui a donné une nouvelle courbe de longueur et d'ordre quatre qui est définie sur le vecteur de noeud
[ 0.1 0.1 0.1 0.1 0.5 0.5 0.5 0.5 ].

Notes

Le processus de trim implique l'application d'une insertion de noeuds afin que les courbes obtiennent un vecteur de noeuds personnalisé. La sélection de points sera retirée des objets originaux. Voir également la documentation de la commande correspondante de l'interface de script trimNC.

Outil de tracé de courbure (Plot Curvature)

Tracé des courbures (en haut) de la courbe NURBS simple (en bas)

Arguments

L'outil de tracé de courbure prend un certain nombre de courbes NURBS dans la sélection et demande trois valeurs supplémentaires : le nombre de points de données, la valeur de la largeur et la valeur de la hauteur.

Opération

Une nouvelle courbe NURBS, décrivant la courbure de la courbe NURBS sélectionnée, sera créée pour chacune des courbes NURBS sélectionnées. Les tracés de la courbure auront une longueur définie par le nombre de points de données et seront mis à l'échelle en fonction de la largeur et de la hauteur spécifiées. Voir également l'image ci-dessus.

Outil d'interpolation (Interpolate)

Outil d'interpolation de courbes (gauche-blanc : courbe originale, gauche-bleu et droite : courbe d'interpolation)

Arguments

L'outil d'interpolation prend un certain nombre de courbes NURBS de la sélection et demande cinq paramètres supplémentaires.

Opération

Les courbes seront modifiées de manière à interpoler tous les points de contrôle d'origine avec l'ordre d'interpolation, le type de paramétrage et les dérivées finales souhaités. Pour une description détaillée des paramètres, voir la section Propriété ICurveAttr.

Voir aussi l'image ci-dessus.

Notes

Les informations relatives au poids des courbes initiales seront éventuellement ignorées. La sélection de points sera supprimée des objets originaux. Voir également la documentation de la commande correspondante de l'interface de script interpNC et l'outil correspondant pour les surfaces Outil d'interpolation de surface (Interpolate Surface).

Outil d'approximation (Approximate)

Outil de courbe approximative (à gauche : courbe originale, au milieu et à droite : courbe approximative)

Arguments

L'outil d'approximation prend un certain nombre de courbes NURBS de la sélection et demande cinq paramètres supplémentaires.

Opération

Les courbes seront modifiées de manière à ce qu'elles se rapprochent de leur(s) forme(s) originale(s) respective(s) en utilisant une nouvelle courbe NURBS avec un nombre réglable de nouveaux points de contrôle et d'ordre. Pour une description détaillée des paramètres, voir la section Propriété ACurveAttr.

Voir également l'image ci-dessus où une courbe avec sept points de contrôle d'origine d'ordre quatre a été approchée par une courbe avec seulement trois points de contrôle et d'ordre trois (au milieu) et par une courbe avec sept points de contrôle et d'ordre trois (à gauche).

Notes

La sélection de points sera retirée des objets originaux. Voir également la documentation de la commande correspondante de l'interface de script approxNC.

Outil de décalage de courbe fermée

Outil de décalage de la courbe fermée (à gauche : courbe fermée B-Spline, à droite : courbe décalée)

Arguments

L'outil de décalage de courbe fermée prend un certain nombre de courbes fermées (les objets "NCurve", "ICurve" et "ACurve" sont pris en charge), à partir de la sélection et demande un paramètre entier supplémentaire i.

Opération

Les points de contrôle de la (des) courbe(s) seront décalés i fois.
Le paramètre i peut être négatif pour inverser le sens du décalage.
Pour une courbe fermée simple, en se décalant avec i = 1, le premier point de contrôle obtiendra les coordonnées de l'ancien dernier point de contrôle. Cela signifie que des décalages positifs se produisent dans la direction de la courbe. Notez que pour les courbes NURBS fermées et périodiques, les points multiples seront gérés correctement.

Notes

Les points éventuellement sélectionnés le seront encore après cette opération. Voir aussi l'image ci-dessus. Voir aussi la documentation de la commande correspondante de l'interface de script shiftC.

Outil de retournement vers XY (To XY)

Outil "To XY" (à gauche : courbe originale, à droite : courbe modifiée)

Arguments

L'outil "To XY" prend un certain nombre d'objets NCurve, ACurve ou ICurve dans la sélection. Les courbes doivent être planes. Les courbes qui forment une seule ligne droite ne sont pas prises en charge.

Opération

Les points de contrôle des courbes seront tournés, de sorte qu'ils se trouvent dans le plan XY de l'espace objet respectif défini par les objets de la courbe. En outre, les attributs de rotation des objets de la courbe seront modifiés de manière à ce que la courbe ne change pas d'orientation par rapport aux autres objets ou à l'espace mondial. Les attributs d'échelle seront remis à 1.0.

Voir aussi l'image ci-dessus, où la courbe de gauche, plane mais non définie dans le plan XY, sera modifiée, afin qu'elle soit définie dans le plan XY (attention aux deux différents systèmes de coordonnées de l'objet en conjonction avec le système de coordonnées du monde au milieu).

Notes

Une opération inverse, en dehors de l'annulation, consisterait à appliquer les attributs de transformation actuels aux points de contrôle des courbes. Voir également la documentation de la commande correspondante de l'interface de script toXYC.

Outil pour rendre compatible (Make Compatible)

Outil "Make Compatible" (à gauche : Courbes originales, à droite : Courbes compatibles)

Arguments

L'outil make compatible prend un certain nombre de courbes NURBS de la sélection et demande un niveau.

Opération

Les courbes seront rendues compatibles, de sorte que, en fonction du paramètre de niveau donné, elles soient de la même longueur, du même ordre et définies sur le même vecteur de noeud.
Cela facilite l'application de l'outil de construction à partir de courbes (see section Outil de construction à partir de courbes (Build from Curves)) ou l'application du skinning (see section Les revêtements (Skin)).

Notes

Cet outil ne modifie pas la géométrie des courbes. Cependant, comme le serrage, l'élévation en degrés et l'insertion de noeuds peuvent être utilisés sur les courbes, leur ordre, les vecteurs de noeuds et les points de contrôle peuvent être adaptés.

Les ordres de toutes les courbes seront simplement augmentés jusqu'à l'ordre maximum de toutes les courbes ; aucune tentative n'est faite pour vérifier si l'abaissement des ordres conduirait à un résultat plus simple.

La sélection de points sera retirée des objets originaux.

Voir également la documentation de la commande correspondante de l'interface de script makeCompNC et l'outil connexe pour les surfaces Outil pour rendre les surfaces compatibles (Make Surfaces Compatible).

Outil de répartition des noeuds sur une plage (Rescale Knots to Range)

Arguments

L'outil de répartition des noeuds sur une plage prend un certain nombre de courbes NURBS dans la sélection et demande une gamme (deux valeurs flottantes).

Opération

Les vecteurs de noeuds des courbes seront mis à l'échelle, de sorte que leurs première et dernière valeurs correspondent à la plage donnée.

Notes

Depuis Ayam 1.20, le type de noeud de la courbe ne doit plus être "Custom". De plus, le fait de répartir les noeuds ne change pas le type de noeud. Cet outil ne modifie pas la géométrie des courbes. Voir également la documentation de la commande correspondante de l'interface de script rescaleknNC et l'outil correspondant pour les surfaces Outil de redimensionnent des noeuds en fonction de la plage (Rescale Knots to Range).

Outil de répartition des noeuds à une distance minimale (Rescale Knots to Mindist)

Arguments

L'outil de répartition des noeuds à distance minimale prend un certain nombre de courbes NURBS dans la sélection et demande une valeur de distance minimale.

Opération

Les vecteurs de noeuds des courbes seront mis à l'échelle, de sorte qu'aucun noeud n'ait une distance inférieure à la distance minimale donnée (sauf pour les noeuds multiples).

Notes

Depuis Ayam 1.20, le type de noeud de la courbe ne doit plus être "Custom". De plus, le fait de redimensionner les noeuds ne change pas le type de noeud. Cet outil ne modifie pas la géométrie des courbes. Voir également la documentation de la commande correspondante de l'interface de script rescaleknNC et l'outil correspondant pour les surfaces Outil Redimensionnent des noeuds à la distance minimale (Rescale Knots to Mindist).

Outil de regroupement de points (Collapse Points)

Arguments

L'outil de regroupement attend un certain nombre d'objets sélectionnés avec des points de contrôle sélectionnés (balises) (voir la section Sélection/traçage de points pour savoir comment sélectionner les points de contrôle (balises)).

Opération

Les points de contrôle sélectionnés seront transformés en un seul point multiple, tous les points recevront les valeurs des coordonnées du point central respectif. Cela signifie que la forme de la courbe/surface traitée peut changer.

Notes

Cette commande est utilisé uniquement à créer des points multiples pour les objets de courbe/surface NURBS et à effacer la sélection des points.

Dans les fenêtres de visualisation, cet outil est lié à la clé <q>.

Outil d'éclatement de point multiple (Explode Points)

Arguments

L'outil d'éclatement s'attend à ce que certains objets comportent un certain nombre de points multiples sélectionnés (balises) (voir la section Sélection/traçage de points pour savoir comment sélectionner (balises) les points de contrôle).

Opération

Les points formant les points multiples sélectionnés seront éloignés les uns des autres. Les formes des objets traités changeront.

Notes

Cette commande est utilisée uniquement pour supprimer les points multiples des courbes/surfaces NURBS déjà existants qui ont été créés par l'option "CreateMP" ou l'outil de regroupement ci-dessus.

Dans les fenêtres de visualisation, cet outil est lié à la clé <Q>.

5.4 Outils de création de surfaces

Ces outils permettent de créer des objets de surface paramétriques.

Outil sphère NURBS 1 (NURBSphere)

Sphère NURBS (g : Polygone de contrôle, d : Surface ombrée)

Arguments

Radius.

Opération

L'outil "NURBSphere" crée une courbe NURBS en demi-cercle de rayon donné et la fait tourner autour de l'axe Y, formant ainsi une sphère.

Notes

En raison de la méthode de construction, la surface des NURBS est dégénérée aux pôles, ce qui peut conduire à des artefacts d'ombrage (comparer l'image ci-dessus).

Outil sphère NURBS 2 (NURBSphere2)

Sphère NURB de Cobb (à gauche : Polygone de contrôle, à droite : Surface ombrée)

Arguments

Aucun.

Opération

L'outil "NURBSphere2" crée une sphère Cobb NURB de rayon 1.0, composée de six patchs NURBS disposés dans une configuration ressemblant à une boîte, voir aussi l'image ci-dessus.

Notes

Les patchs NURBS sont d'un niveau relativement élevé (5). Contrairement à la sphère NURBS standard, la sphère de Cobb n'est pas dégénérée et aucun artefact d'ombrage n'en résulte.

Outil de révolution (Revolve)

Arguments

L'outil de révolution prend les objets sélectionnés dans la sélection.

Opération

L'outil crée un objet "Revolve" et y déplace les objets sélectionnés.

|-NCurve     ==>     +-Revolve
                      \-NCurve

Notes

Voir la section Les surfaces de révolution (Revolve) pour plus d'informations concernant l'objet revolve.

Cet outil utilise le presse-papiers des objets pour déplacer les objets de sorte que le contenu original du presse-papiers soit perdu lorsque cet outil se termine. En maintenant la touche<Ctrl> enfoncée tout en cliquant sur l'icône correspondante dans la boîte à outils, la courbe paramètre reste sélectionnée et le niveau actuel est également modifié.

Outil de pivotement (Swing)

Arguments

L'outil "swing" prend les objets sélectionnés dans la sélection.

Opération

L'outil crée un objet "Swing", déplace les objets sélectionnés vers celui-ci et fait tourner la première courbe vers le plan YZ et la seconde courbe vers le plan XZ. Si l'objet courbe respectif est de type NCurve, ICurve ou ACurve, les points de contrôle seront modifiés et les attributs de rotation seront réinitialisés, les objets d'autres types seront tournés par leurs attributs de transformation. [∗] La rotation sera enregistrée dans le tampon d'annulation.

|-Cross_section(NCurve)         +-Swing
|-Trajectory(NCurve)      ==>    |-Cross_section(NCurve)
                                 \-Trajectory(NCurve)

Notes

Voir la section Les surfaces par balayage (Swing) pour plus d'informations concernant l'objet "Swing".

Cet outil utilise le presse-papiers des objets pour déplacer les objets de sorte que le contenu original du presse-papiers soit perdu lorsque cet outil se termine. En maintenant la touche <Ctrl> enfoncée tout en cliquant sur l'icône correspondante dans la boîte à outils, les courbes paramètres restent sélectionnées et le niveau actuel est également modifié.

Outil d'extrusion (Extrude)

Arguments

L'outil d'extrusion prend les objets sélectionnés dans la sélection.

Opération

L'outil crée un objet "Extrude", et y déplace les objets sélectionnés.

|-Outline(NCurve)       +-Extrude
|-Hole(NCurve)     ==>   |-Outline(NCurve)
                         \-Hole(NCurve)

Notes

Voir la section Les surfaces par extrusions (Extrude) pour plus d'informations concernant l'objet Extrude.

Cet outil utilise le presse-papiers des objets pour déplacer les objets de sorte que le contenu original du presse-papiers soit perdu lorsque cet outil se termine. En maintenant la touche <Ctrl> enfoncée tout en cliquant sur l'icône correspondante dans la boîte à outils, la courbe paramètre reste sélectionnée et le niveau actuel est également modifié.

Outil de balayage (Sweep)

Arguments

L'outil de balayage prend les objets sélectionnés dans la sélection.

Opération

L'outil crée un objet "Sweep", déplace les objets sélectionnés vers celui-ci et propose de faire pivoter le premier objet de la courbe vers le plan YZ (s'il n'est pas déjà défini dans ce plan). Si cet objet courbe est de type NCurve, ICurve ou ACurve, les points de contrôle seront modifiés et les attributs de rotation seront réinitialisés, les objets d'autres types seront tournés par leurs attributs de transformation. [∗] La rotation sera enregistrée dans le tampon d'annulation.

|-Cross_section(NCurve)         +-Sweep
|-Trajectory(NCurve)     ==>     |-Cross_section(NCurve)
                                 \-Trajectory(NCurve)

Notes

Voir la section Les surfaces par glissements (Sweep) pour plus d'informations concernant l'objet "Sweep".

Cet outil utilise le presse-papiers des objets pour déplacer les objets de sorte que le contenu original du presse-papiers soit perdu lorsque cet outil se termine. En maintenant la touche <Ctrl> enfoncée tout en cliquant sur l'icône correspondante dans la boîte à outils, la courbe paramètre reste sélectionnée et le niveau actuel est également modifié.

Outil de biseau (Bevel)

Arguments

L'outil de biseau prend les objets sélectionnés dans la sélection.

Opération

L'outil crée un objet "Bevel", et y déplace les objets sélectionnés.

|-NCurve             +-Bevel
             ==>      \-NCurve

Notes

Voir la section Les biseaux (Bevel) pour plus d'informations concernant l'objet "Bevel".

Cet outil utilise le presse-papiers des objets pour déplacer les objets de sorte que le contenu original du presse-papiers soit perdu lorsque cet outil se termine. En maintenant la touche <Ctrl> enfoncée tout en cliquant sur l'icône correspondante dans la boîte à outils, la courbe paramètre reste sélectionnée et le niveau actuel est également modifié.

Outil de bouchonnage (Cap)

Arguments

L'outil "Cap" prend les objets sélectionnés dans la sélection.

Opération

L'outil crée un objet "Cap", et déplace les objets sélectionnés vers celui

|-Outline(NCurve)         +-Cap
|-Hole(NCurve)      ==>    |-Outline(NCurve)
                           \-Hole(NCurve)

Notes

Voir la section Les bouchons (Cap) pour plus d'informations concernant l'objet "Cap".

Cet outil utilise le presse-papiers des objets pour déplacer les objets de sorte que le contenu original du presse-papiers soit perdu lorsque cet outil se termine. En maintenant la touche <Ctrl> enfoncée tout en cliquant sur l'icône correspondante dans la boîte à outils, la courbe paramètre reste sélectionnée et le niveau actuel est également modifié.

Outil de rail double 1 (Birail1)

Arguments

L'outil "Birail1" prend les objets sélectionnés dans la sélection.

Opération

L'outil crée un objet "Birail1" et y déplace les objets sélectionnés.

|-Cross_section(NCurve)      +-Birail1
|-Rail1(NCurve)         ==>   |-Cross_section(NCurve)
|-Rail2(NCurve)               |-Rail1(NCurve)
                              \-Rail2(NCurve)

Notes

Voir la section L'objet Birail1 pour plus d'informations concernant l'objet Birail1.

Cet outil utilise le presse-papiers des objets pour déplacer les objets de sorte que le contenu original du presse-papiers soit perdu lorsque cet outil se termine. En maintenant la touche <Ctrl> enfoncée tout en cliquant sur l'icône correspondante dans la boîte à outils, la courbe paramètre reste sélectionnée et le niveau actuel est également modifié.

Outil de rail double 2 (Birail2)

Arguments

L'outil "Birail2" prend les objets sélectionnés dans la sélection.

Opération

L'outil crée un objet "Birail2" et y déplace les objets sélectionnés.

|-Cross_section1(NCurve)       +-Birail2
|-Rail1(NCurve)                 |-Cross_section1(NCurve)
|-Rail2(NCurve)           ==>   |-Rail1(NCurve)
|-Cross_section2(NCurve)        |-Rail2(NCurve)
                                \-Cross_section2(NCurve

Notes

Voir la section L'objet Birail2 pour plus d'informations concernant l'objet Birail2.

Cet outil utilise le presse-papiers des objets pour déplacer les objets de sorte que le contenu original du presse-papiers soit perdu lorsque cet outil se termine. En maintenant la touche <Ctrl> enfoncée tout en cliquant sur l'icône correspondante dans la boîte à outils, la courbe paramètre reste sélectionnée et le niveau actuel est également modifié.

Outil de Gordon

Arguments

L'outil "Gordon" prend les objets sélectionnés dans la sélection.

Opération

L'outil crée un objet "Gordon" et y déplace les objets sélectionnés.

|-NCurve             +-Gordon
|-NCurve              |-NCurve
|-Level               |-NCurve
|-NCurve     ==>      |-Level
|-NCurve              |-NCurve
                      \-NCurve

Notes

Voir la section Surface de Gordon pour plus d'informations concernant l'objet "Gordon".

Cet outil utilise le presse-papiers des objets pour déplacer les objets de sorte que le contenu original du presse-papiers soit perdu lorsque cet outil se termine. En maintenant la touche <Ctrl> enfoncée tout en cliquant sur l'icône correspondante dans la boîte à outils, la courbe paramètre reste sélectionnée et le niveau actuel est également modifié.

Outil de revêtement (Skin)

Arguments

L'outil de revêtement prend les objets sélectionnés dans la sélection.

Opération

L'outil crée un objet "Skin", et y déplace les objets sélectionnés.

|-NCurve             +-Skin
|-NCurve     ==>      |-NCurve
|-NCurve              |-NCurve
                      \-NCurve

Notes

Voir la section Les revêtements (Skin) pour plus d'informations concernant l'objet "Skin".

Cet outil utilise le presse-papiers des objets pour déplacer les objets de sorte que le contenu original du presse-papiers soit perdu lorsque cet outil se termine. En maintenant la touche <Ctrl> enfoncée tout en cliquant sur l'icône correspondante dans la boîte à outils, la courbe paramètre reste sélectionnée et le niveau actuel est également modifié.

Outil de Trim (Découpe)

Arguments

L'outil de trim prend les objets sélectionnés dans la sélection.

Opération

L'outil crée un objet "Trim", et y déplace les objets sélectionnés.

|-NPatch             +-Trim
|-NCurve     ==>      |-NPatch
|-NCurve              |-NCurve
                      \-NCurve

Notes

Voir la section Les découpes ou ajustements (Trim) pour plus d'informations concernant l'objet Trim.

Cet outil utilise le presse-papiers des objets pour déplacer les objets de sorte que le contenu original du presse-papiers soit perdu lorsque cet outil se termine. En maintenant la touche <Ctrl> enfoncée tout en cliquant sur l'icône correspondante dans la boîte à outils, la courbe paramètre reste sélectionnée et le niveau actuel est également modifié.

Outil d'interpolation de surfaces (Tween Surfaces)

Surface interpolée (blanc) à partir de deux Surfaces Paramétriques (bleu) avec r = 0.5

Arguments

L'outil "Tween" prend deux patchs NURBS de la sélection et demande un paramètre r.

Opération

Les patchs NURBS sélectionnés seront interpolés (tweened) et un nouveau patch intégrant les caractéristiques des deux patchs originaux sera créé. Le paramètre r définit le rapport d'influence du premier et du second patch (ce dernier utilise un rapport de 1 - r).

|-NPatch             |-NPatch
|-NPatch     ==>     |-NPatch
                     |-NPatch
Si une troisième surface est sélectionnée, le paramètre r est ignoré et cette troisième surface définit le rapport d'influence avec ses coordonnées y.[∗]

Notes

Les deux patchs doivent être de la même largeur, hauteur, uordre et vordre. Elles ne doivent cependant pas être définies sur les mêmes vecteurs de noeuds. La surface de contrôle d'interpolation n'a pas besoin d'être compatible avec l'un des patchs d'origine. Si l'un des types de vecteurs de noeuds des patchs est "Custom" ou si les types de vecteurs de noeuds respectifs sont différents, le type de vecteur de noeud résultant sera "Custom" et les valeurs de noeuds seront également interpolées/intercalées. Sinon, un vecteur de noeud correspondant sera généré en fonction du type. Les patchs NURBS originaux ne seront pas supprimés par cet outil. Les courbes trim sont complètement ignorées par cet outil. Voir également la documentation de la commande correspondante de l'interface de script tweenNP et de l'outil de courbes correspondant Outil courbes interpolées (Tween Curve).

5.5 Outils de modification des surfaces

Ces outils modifient les objets de surface paramétriques.

Sauf indication contraire, les balises PV ne sont pas prises en charge/modifiées par ces outils.

Outil de reversement sur U (Revert U)

Arguments

L'outil de reversement sur U prend un certain nombre de patchs NURBS, "IPatch", "BPatch" ou des objets "PatchMesh" de la sélection.

Opération

Les tableaux de points de contrôle des objets sélectionnés seront inversés dans la dimension U (largeur). Pour les patchs NURBS, cet outil inverse également les distances relatives des noeuds du vecteur noeud correspondant afin que la surface ne change pas de forme. Cependant, les courbes trim ne seront pas modifiées.
Pour les objets "IPatch", les dérivés respectifs sont inversés.

Notes

Les balises PV ne seront pas modifiées. Voir aussi la documentation de la commande correspondante de l'interface de script revertuS et l'outil de courbes correspondant Outil de renversement (Revert).

Outil de reversement sur V (Revert V)

Arguments

L'outil de reversement sur V prend un certain nombre de patchs NURBS, "IPatch", "BPatch" ou des objets "PatchMesh" de la sélection.

Opération

Les tableaux de points de contrôle des objets sélectionnés seront inversés dans la dimension V (hauteur). Pour les patchs NURBS, cet outil inverse également les distances relatives des noeuds du vecteur noeud correspondant afin que la surface ne change pas de forme. Cependant, les courbes trim ne seront pas modifiées.
Pour les objets "IPatch", les dérivés respectifs sont inversés.

Notes

Les balises PV ne seront pas modifiées. Voir aussi la documentation de la commande correspondante de l'interface de script revertvS et l'outil de courbes correspondant Outil de renversement (Revert).

Outil de renversement UV (Swap UV)

Arguments

L'outil de swap uv prend un certain nombre de patchs NURBS, "IPatch", "BPatch", ou des objets "PatchMesh" de la sélection.

Opération

Les dimensions U et V des objets sélectionnés seront échangées (la largeur, la hauteur et tous les autres paramètres liés aux dimensions seront échangés) sans modifier la forme des patchs.

Notes

La sélection de points sera retirée des objets originaux. Les balises PV ne seront pas modifiées. Les courbes trim ne seront pas non plus modifiées. Voir aussi la documentation de la commande correspondante de l'interface de script swapuvS.

Outil de raffinage des noeuds de surface (Refine Knots Surface)

Application successive de l'outil de raffinage des noeuds de surface (U)

Arguments

L'outil de raffinage des noeuds de surface prend un certain nombre de patchs NURBS dans la sélection.

Opération

Les vecteurs de noeuds respectifs des patchs NURBS sélectionnés seront affinés en insérant un noeud au milieu de chaque intervalle de noeud intérieur sans modifier la forme des patchs. De nouveaux points de contrôle seront ajoutés et la position des anciens points de contrôle pourra être modifiée au fur et à mesure. Voir aussi l'image ci-dessus où une surface définie sur le vecteur noeud
[ 0 0 0 0 1 1 1 1 ]
est successivement affiné jusqu'au vecteur noeud
[ 0 0 0 0 0.5 1 1 1 1 ]
et donc
[ 0 0 0 0 0.25 0.5 0.75 1 1 1 1 ].

Notes

Comme les nouveaux noeuds ne sont insérés que dans les intervalles intérieurs, l'état de serrage des vecteurs de noeuds ne change pas. En outre, les vecteurs de noeuds de type "NURB" ne changent pas de type, les autres vecteurs de noeuds sont changés en type "Custom". La sélection de points sera supprimée des objets originaux. Il existe également des outils permettant d'affiner uniquement les noeuds U ou V. Voir également la documentation des commandes correspondantes de l'interface de script refineuNP et refinevNP et l'outil de courbes correspondant Outil d'affinage des noeuds (Refine Knots).

Outil de raffinage des noeuds avec la surface(Refine Knots With Surface)

Outil "Raffiner les noeuds avec la surface (U)" (????) (gauche: surface d'origine, droite: surface raffinée)

Arguments

L'outil de raffinement des noeuds avec surface prend un certain nombre de patchs NURBS de la sélection et demande un vecteur de nouvelles valeurs de noeuds.

Opération

Les vecteurs de noeuds respectifs des patchs NURBS sélectionnés seront affinés en insérant tous les noeuds du vecteur spécifié à la fois. La forme du patch ne sera pas modifiée. De nouveaux points de contrôle seront ajoutés et la position des anciens points de contrôle pourra être modifiée en cours de route.
Voir aussi l'exemple d'image ci-dessus où une surface définie sur le vecteur noeud
[ 0 0 0 0 0.5 1 1 1 1 ]
a été affiné avec les nouveaux noeuds 0.2 et 0.7 dans la direction U vers le nouveau vecteur de noeud :
[ 0 0 0 0 0.2 0.5 0.7 1 1 1 1 ]. Le vecteur de noeud résultant doit être valide, sinon une erreur sera signalée et le patch respectif ne sera pas modifié.

Notes

Le type de noeud respectif du patch peut être modifié en "Custom". La sélection de points sera supprimée des objets originaux. Il existe également des outils permettant d'affiner uniquement les noeuds en U ou en V. Voir aussi la documentation des commandes correspondantes de l'interface de script refineuNP et refinevNP et l'outil correspondant pour les courbes Outil d'affinage des noeuds avec un outil (Refine Knots With Tool).

Outil d'augmentation de l'ordre de la surface (Elevate Surface)

Outil d'élévation de surface (à gauche : surface d'origine, à droite : surface élevée)

Arguments

L'outil d'élévation de la surface prend un certain nombre de patchs NURBS de la sélection et demande en plus deux valeurs entières.

Opération

L'ordre des patchs NURBS sélectionnés sera augmenté des valeurs entières spécifiées sans modifier la forme des patchs. De nouveaux points de contrôle seront ajoutés et la position des anciens points de contrôle pourra être modifiée en cours de route. Voir également l'image ci-dessus, où une surface d'ordre quatre et de largeur cinq, définie à l'origine sur le vecteur de noeud sur U :
[ 0 0 0 0 0.5 1 1 1 1 ]
a été élevé à l'ordre cinq dans la direction U et est maintenant de largeur sept et défini sur le vecteur noeud U :
[ 0 0 0 0 0 0.5 0.5 1 1 1 1 1 ].

Notes

Si le vecteur de noeud du patch n'est pas serré, il sera serré automatiquement. Le type de noeud du patch sera modifié en "Custom". La sélection de points sera supprimée des objets originaux. Il existe également des outils qui permettent d'élever une pièce dans la direction U ou V uniquement. Voir aussi la documentation des commandes correspondantes de l'interface de script elevateuNP et elevatevNP ainsi que l'outil correspondant pour les courbes Outil d'élévation (Elevate).

Outil de réduction de l'ordre des surfaces (Reduce Surface)

Outil de réduction (Ordre 4 (gauche), 3 (droite))

Arguments

Les outils de réduction de surface prennent un certain nombre de surfaces NURBS dans la sélection et demandent en outre une valeur de tolérance.

Opération

L'ordre des surfaces NURBS sélectionnées sera diminué de un si la forme des surfaces réduites ne s'écarte pas des surfaces originales de la tolérance donnée en un point quelconque. Voir aussi l'exemple d'image ci-dessus où une surface d'ordre quatre et de hauteur quatre, définie sur le vecteur noeud v
[ 0 0 0 0 1 1 1 1 ],
a été réduit dans la direction V à l'ordre trois et est maintenant de hauteur trois et défini sur le vecteur noeud V
[ 0 0 0 1 1 1 ].

Notes

Si le vecteur noeud respectif de la surface n'est pas serré, il le sera automatiquement. Le type de noeud respectif de la surface sera modifié en "Custom". Les points de contrôle seront supprimés et la position des anciens points de contrôle pourra être modifiée en cours de route. La sélection des points sera supprimée des objets traités. La capacité de réduire une certaine surface peut être améliorée en augmentant d'abord la multiplicité des noeuds internes. Voir également la documentation des commandes correspondantes de l'interface de script reduceuNP et reducevNP ainsi que l'outil correspondant pour les courbes Outil de réduction (Reduce).

Outil de serrage de surface (Clamp Surface)

Outil de serrage de la surface (à gauche : patch original avec vecteurs de noeuds B-Spline, à droite : patch serré)

Arguments

L'outil de serrage de surface prend un certain nombre de patchs NURBS dans la sélection.

Opération

Les vecteurs de noeuds des patchs NURBS sélectionnés seront modifiés par insertion de noeuds de sorte que le premier et le dernier noeud (dans chaque direction) aient une multiplicité égale à l'ordre du patch (dans la direction respective). Voir également l'image ci-dessus, où une surface de largeur/hauteur quatre et les deux ordres également quatre, définis à l'origine sur les vecteurs de noeuds :
[ 0 0.1428 0.2857 0.4285 0.5714 0.7142 0.8571 1.0 ]
a été serrée et est maintenant définie sur les vecteurs de noeuds :
[ 0.4285 0.4285 0.4285 0.4285 0.5714 0.5714 0.5714 0.5714 ].

Notes

La forme des patchs ne changera pas, mais la position de certains points de contrôle le sera. Les patchs interpolent ensuite le premier et le dernier point de contrôle dans la direction respective (sauf si le poids de ces points n'est pas de 1.0). Les types de noeuds des patchs seront changés en type "Custom". Il existe également des outils qui permettent de brider un patch seulement dans la direction U ou V. Voir également la documentation des commandes correspondantes de l'interface de script clampuNP et clampvNP et l'outil correspondant pour les courbes Outil de resserrage (Clamp).

Outil de desserrage des surfaces (Unclamp Surface)

Outil de desserrage des surfaces (à gauche : patch original, à droite : patch déserré)

Arguments

Outil de desserrage des surfaces prend un certain nombre de patchs NURBS dans la sélection.

Opération

Les vecteurs de noeuds des patchs NURBS sélectionnés seront modifiés de manière à ce qu'il n'y ait pas de noeuds multiples aux extrémités respectives des vecteurs de noeuds. La forme des patchs ne changera pas, mais la position de certains points de contrôle le sera. Les types de noeuds des patchs peuvent être changés en type "Custom". Voir également l'image ci-dessus, où une surface de largeur/hauteur quatre et les deux ordres trois, définis à l'origine sur les vecteurs de noeuds :
[ 0 0 0 0.5 1 1 1 ]
a été déserrée et est maintenant défini sur les vecteurs de noeuds :
[ 0 0.1666 0.3333 0.5 0.6666 0.8333 1 ].

Notes

Le desserrage n'est pas exactement l'opération inverse du serrage (et vice et versa). En outre, comme l'opération de desserrage ne fonctionne que sur des surfaces complètement serrées, l'outil de desserrage peut devoir serrer la surface en premier. Il existe également des outils permettant de desserrer un patch dans le sens U ou V uniquement. Voir également la documentation des commandes correspondantes de l'interface de script unclampuNP et unclampvNP et l'outil correspondant pour les courbes Outil de desserrage (Unclamp).

Outil d'insertion de noeuds (Insert Knot Surface)

Outil d'insertion de noeuds (à gauche : patch original, à droite : un noeud a été inséré une fois à t = 0.5)

Arguments

L'outil d'insertion de noeuds prend un certain nombre de patchs NURBS dans la sélection et demande deux valeurs supplémentaires, une valeur paramétrique t et une valeur entière i.

Opération

Un noeud ayant la valeur spécifiée t sera inséré i fois dans le vecteur noeud des patchs sélectionnés, sans en modifier la forme. Voir également l'image ci-dessus, où un noeud a été inséré à u = 0.5 une fois dans une surface de largeur quatre et d'ordre quatre qui a été définie à l'origine sur le vecteur de noeud U :
[ 0 0 0 0 1 1 1 1 ].
La surface transformée de largeur cinq est définie sur le vecteur noeud u :
[ 0 0 0 0 0.5 1 1 1 1 ].

Notes

Le type de noeud du patch sera changé en "Custom". Cet outil ne modifie pas la géométrie des patchs. La sélection de points sera supprimée des objets originaux. Voir également la documentation des commandes correspondantes de l'interface de script insknuNP and insknvNP et l'outil correspondant pour les courbes Outil d'insertion de noeud (Insert Knot).

Outil de suppression de noeuds (Remove Knot Surface)

Outil de suppression de noeuds (à gauche : surface d'origine, à droite : le noeud à t = 0.5 a été enlevé une fois)

Arguments

L'outil de suppression de noeuds prend un certain nombre de surfaces NURBS dans la sélection et demande trois valeurs supplémentaires, une valeur paramétrique t, une valeur entière r, et une valeur de tolérance tol.

Opération

Le noeud à la valeur paramétrique spécifiée t sera supprimé r fois du vecteur noeud des surfaces sélectionnées si la forme des surfaces résultantes ne s'écarte pas de plus de tol des surfaces d'origine en un point quelconque. Depuis Ayam 1.20, le noeud à supprimer peut également être spécifié en utilisant son indice (basé sur le zéro) dans le vecteur noeud ; par exemple en entrant "-i 3" au lieu de "0.5" pour le vecteur noeud :
[ 0 0 0 0.5 1 1 1 ].
Si le noeud ne peut être enlevé r fois en raison de la tolérance donnée, une erreur est signalée et la surface d'origine est laissée inchangée.
Cette opération échoue également, si l'élimination du noeud conduisait à une surface d'ordre moindre. Voir également l'image ci-dessus, où le noeud t = 0.5 a été supprimé une fois sur une surface de largeur cinq et d'ordre quatre qui a été définie à l'origine sur le vecteur noeud u :
[ 0 0 0 0 0.5 1 1 1 1 ].
La surface traitée de largeur quatre est définie sur le vecteur noeud :
[ 0 0 0 0 1 1 1 1 ].

Notes

Si tol est "0.0" l'outil de suppression des noeuds essaie de travailler sans modifier la forme de la surface, c'est-à-dire que seuls les noeuds superflus seront supprimés. Si tol est "Inf" (infini), le noeud spécifié sera enlevé indépendamment des changements potentiels de la surface. La sélection de points sera supprimée des objets originaux. Voir également la documentation des commandes correspondantes de l'interface de script remknuNP, et remknvNP et l'outil correspondant pour les courbes Outil de suppression de noeud (Remove Knot).

Outil de suppression des noeuds superflus (Remove Superfluous Knots)

Arguments

L'outil de suppression des noeuds superflus prend un certain nombre de surfaces NURBS dans la sélection et demande une valeur de tolérance tol.

Opération

Tous les noeuds qui ne contribuent pas à la forme de la surface seront éliminés du vecteur noeuds des surfaces sélectionnées si la forme de la surface résultante ne s'écarte pas de plus de tol de la surface d'origine en un point quelconque.

Il n'y a pas d'erreur si aucun noeud ne peut être enlevé.

Notes

La sélection de points sera retirée des objets traités. Voir également la documentation des commandes de l'interface de script correspondante remsuknuNP et remsuknvNP. Voir aussi l'outil correspondant pour les courbes Outil de suppression des noeuds superflus.

Outil de fractionnement de la surface (Split Surface)

Outil de fractionnement de la surface (à gauche : surface d'origine, à droite : la surface a été fractionnée à t = 0.5)

Arguments

L'outil de fractionnement de la surface prend un certain nombre de patchs NURBS dans la sélection et demande une valeur paramétrique t (dans la dimension paramétrique U ou V, respectivement). En outre, une option append peut être définie.

Opération

Les patchs seront fractionnés à la valeur paramétrique t en deux patchs (en dimension paramétrique U ou V, respectivement) en utilisant l'insertion de noeuds.

|-NPatch     ==>     |-NPatch
                     |-NPatch

Notes

Le(s) objet(s) original(s) du patch NURBS sera (seront) modifié(s). La ou les nouvelles surfaces seront insérées dans le niveau juste après la ou les surfaces respectives à fractionner, à moins que l'option append ne soit définie.[∗] La sélection de points sera retirée des objets originaux. Les courbes trim éventuellement présentes ne seront paspas correctement respectées. Voir également la documentation des commandes correspondantes de l'interface de script splituNP, splitvNP et l'outil correspondant pour les courbes Outil de fractionnement (Split).

Outil d'interpolation de surface (Interpolate Surface)

Outil d'interpolation de surface (gauche-blanc : surface d'origine, gauche-bleu et droite : surface d'interpolation)

Arguments

L'outil d'interpolation de surface prend un certain nombre de patchs NURBS dans la sélection et demande un paramètre supplémentaire o.

Opération

Les patchs seront modifiés de manière à interpoler tous les points de contrôle d'origine avec l'ordre d'interpolation souhaité o. Voir également l'image ci-dessus.

Notes

Les informations relatives au poids des patchs originaux seront finalement ignorées. La sélection de points sera supprimée des objets originaux. Voir également la documentation des commandes correspondantes de l'interface de script interpuNP et interpvNP, ainsi que l'outil correspondant pour les courbes Outil d'interpolation (Interpolate).

Outil pour rendre les surfaces compatibles (Make Surfaces Compatible)

Outil rendre compatible (en haut : Original, au milieu : Compatible par l'ordre, en bas : Surfaces entièrement compatibles)

Arguments

L'outil "Make Compatible" prend un certain nombre de surfaces NURBS dans la sélection et demande un côté et un niveau.

Opération

Les surfaces seront rendues compatibles, de sorte que, sur la base des paramètres de côté et de niveau donnés, elles soient du même ordre, largeur/hauteur, et définies sur le même vecteur de noeud.

Notes

Cet outil ne modifie pas la géométrie des surfaces. Cependant, comme le serrage, l'élévation en degrés et l'insertion de noeuds peuvent être utilisés sur les surfaces, leur ordre, les vecteurs de noeuds et les points de contrôle peuvent être modifiés. Les ordres de toutes les surfaces seront simplement augmentés jusqu'à l'ordre maximum de toutes les surfaces ; aucune tentative n'est faite pour vérifier, si l'abaissement des ordres ne conduiraient pas à un résultat plus simple. La sélection des points sera supprimée des objets originaux. Voir également la documentation de la commande correspondante de l'interface de script makeCompNP et l'outil correspondant pour les courbes Outil pour rendre compatible (Make Compatible).

Outil de redimensionnent des noeuds en fonction de la plage (Rescale Knots to Range)

Arguments

L'outil de redimensionnent des noeuds en fonction de la plage prend un certain nombre de patchs NURBS dans la sélection et demande une plage.

Opération

Les vecteurs de noeuds des patchs seront mis à l'échelle, de sorte que leurs première et dernière valeurs correspondent à la plage donnée. Les courbes de trim, si elles existent, seront également mises à l'échelle pour correspondre à la nouvelle plage.

Notes

Depuis Ayam 1.20, le type de noeud de la surface ne doit plus être "Custom". De plus, le fait de redimensionner les noeuds ne change pas le type de noeud. Cet outil ne modifie pas la géométrie des patchs. Voir également la documentation de la commande correspondante de l'interface de script rescaleknNP et l'outil correspondant pour les courbes Outil de répartition des noeuds sur une plage (Rescale Knots to Range).

Outil Redimensionnent des noeuds à la distance minimale (Rescale Knots to Mindist)

Arguments

L'outil de redimensionnement des noeuds à la distance minimale prend un certain nombre de patchs NURBS dans la sélection et demande une valeur de distance minimale.

Opération

Les vecteurs de noeuds des patchs seront mis à l'échelle, de sorte qu'aucun noeud n'ait une distance inférieure à la distance minimale donnée (sauf pour les noeuds multiples). Les courbes de trim, si elles existent, seront également mises à l'échelle pour correspondre à la nouvelle plage.

Notes

Depuis Ayam 1.20, le type de noeud de la surface ne doit plus être "Custom". De plus, le fait de redimensionner les noeuds ne change pas le type de noeud. Cet outil ne modifie pas la géométrie des patchs. Voir également la documentation de la commande correspondante de l'interface de script rescaleknNP et l'outil correspondant pour les courbes Outil de répartition des noeuds à une distance minimale (Rescale Knots to Mindist).

5.6 Outils de conversion

Ces outils convertissent des objets paramétriques.

Outil d'extraction de courbe (Extract Curve)

Arguments

L'outil d'extraction de courbe prend le premier des objets sélectionnés dans la sélection.

Opération

L'outil crée une instance à partir du premier des objets sélectionnés, puis crée un objet "ExtrNC" et déplace l'instance vers celui-ci.

|-NPatch             |-NPatch
             ==>     +-ExtrNC
                      \-Instance_of_NPatch(Instance)

Notes

Cet outil utilise le presse-papiers des objets pour déplacer les objets de manière à ce que le contenu original du presse-papiers soit perdu lorsque cet outil est terminé. Voir la section L'objet ExtrNC (Extraction de courbe NURBS) Object pour plus d'informations concernant l'objet "ExtrNC".

Outil d'extraction de patch (Extract Patch)

Arguments

L'outil d'extraction de patchs prend le premier des objets sélectionnés dans la sélection.

Opération

L'outil crée une instance à partir du premier des objets sélectionnés, puis crée un objet "ExtrNP" et déplace l'instance vers celui-ci.

|-NPatch             |-NPatch
             ==>     +-ExtrNP
                      \-Instance_of_NPatch(Instance)

Notes

Cet outil utilise le presse-papiers des objets pour déplacer les objets de manière à ce que le contenu original du presse-papiers soit perdu lorsque cet outil est terminé. Voir la section Extraction d'un patch NURBS (ExtrNP) pour plus d'informations concernant l'objet "ExtrNP".

Voir également la documentation de la commande correspondante de l'interface de script extrNP.

Outil décomposition en courbes (Break into Curves)

Exemple de décomposition en courbes

Arguments

L'outil de décomposition en courbes prend tous les patchs NURBS de la sélection et demande certains paramètres.

Opération

Les patchs NURBS sélectionnés seront décomposés en courbes NURBS, selon la direction donnée (U ou V).
Si l'option "ApplyTrafo" est définie, les transformations des objets "NPatch" seront appliquées aux points de contrôle et les objets "NCurve" seront créés avec des attributs de transformation par défaut, sinon les objets "NCurve" obtiendront les attributs de transformation du "NPatch" respectif. Voir également l'image ci-dessus.
Si l'option "ReplaceOriginal" est activée, les courbes remplaceront chaque objet "NPatch" original, cependant, par défaut, de nouveaux objets de courbe seront ajoutés au niveau actuel :

|-NPatch             |-NPatch
                     |-NCurve
             ==>     |-NCurve
                     |-NCurve
                     |-NCurve

Notes

Voir également la documentation de la commande correspondante de l'interface de script breakNP.

Outil de construction à partir de courbes (Build from Curves)

Exemple de construction à partir de courbes

Arguments

L'outil de construction à partir de courbes prend un certain nombre de courbes NURBS dans la sélection et demande certains paramètres.

Opération

Les courbes NURBS sélectionnées seront analysées, toutes les courbes qui sont de longueur égale ou supérieure à la première courbe sélectionnée seront utilisées pour former un nouveau patch NURBS aux dimensions suivantes :
Width: Nonmbre de courbes utilisées, Height: longueur de la première courbe sélectionnée. Si l'ordre fourni est 0 (c'est l'ordre par défaut), l'ordre de la nouvelle surface dans la direction U (Order_U) sera égal au nombre de courbes utilisées pour les nombres de deux à quatre et quatre pour un nombre supérieur de courbes utilisées.
Le type de noeud dans la direction U (Knot-Type_U) sera toujours NURB. Les autres paramètres (Order_V, Knot-Type_V, Knots_V) sont tirés de la première courbe.
Voir également l'image ci-dessus ; notez que le point de contrôle étranger de la courbe supérieure et le vecteur de noeud de la courbe inférieure sont ignorés. Pour éviter cela, l'outil "Make Compatible" peut être utilisé en premier lieu, voir la section Outil pour rendre compatible (Make Compatible).

Si l'option "ApplyTrafo" est activée, les attributs de transformation des différents objets de la courbe seront appliqués aux points de contrôle, sinon ils seront simplement ignorés.

Si l'option "ReplaceOriginal" est activée, le nouvel objet de surface remplacera la première des courbes et les autres courbes seront supprimées. Cependant, par défaut, le nouvel objet NPatch sera ajouté au niveau actuel :

|-NCurve               |-NCurve
|-NCurve               |-NCurve
|-NCurve     ==>       |-NCurve
|-NCurve               |-NCurve
                       |-NPatch

Notes

Voir également la documentation de la commande correspondante de l'interface de script buildNP.

Outil de tessellation (triangularisation)

GUI de l'outil de tessellation

Arguments

L'outil de tessellation prend tous les patchs NURBS et les patchs NURBS fournissant des objets de la sélection.

Opération

Une boîte de dialogue modale (voir image ci-dessus) s'affiche, qui permet de sélectionner une méthode de tessellation via un menu déroulant et de régler le(s) paramètre(s) de tessellation correspondant(s) à l'aide d'un curseur et d'un widget d'entrée. La méthode initiale et les valeurs des paramètres seront dérivées de la balise "TP" du premier des objets sélectionnés (s'il possède une telle balise).

Les patchs NURBS sélectionnés ou fournis seront tesselés avec la méthode et les paramètres choisis. Les objets PolyMesh créés par la tessellation seront immédiatement affichés dans toutes les fenêtres de visualisation à la place des objets originaux. Chaque fois que la méthode ou les paramètres de tessellation sont modifiés, la tessellation sera recalculée et affichée, ce qui permettra une estimation immédiate de la qualité de la tessellation et du nombre d'éléments polygonaux créés.

Si l'option "LazyUpdate" est activée, les mises à jour de la tessellation qui se produisent normalement en faisant glisser le(s) curseur(s) seront reportées jusqu'à ce que le bouton de la souris soit relâché. La valeur initiale de cette option sera déterminée par le paramètre de préférence "LazyNotify".

Les options "UseTexCoords" et "UseVertColors" contrôlent le traitement des coordonnées de texture et des couleurs de sommet stockées sous forme de balises PV dans les objets à tesseler (Voir aussi la section Balise PV (Primitive Variable)).

Lorsqu'ils sont activés, les objets PolyMesh résultants auront également des balises PV du type respectif.
Notez que les balises PV doivent être nommées comme défini par les options de préférences cachées "PVTexCoordName" et "PVColorName" respectivement. Par défaut, ces options sont définies comme "st" et "Cs".
Si l'option "UseTexCoords" est activée, mais qu'aucun tag PV correspondant n'est présent, les coordonnées de texture seront générées à partir des données fournies par un tag TC ou (si aucun tag TC n'est présent) à partir des valeurs des noeuds des surfaces NURBS à tesseler.[∗] Voir aussi la section Balise TC (Texture Coordinates).

L'option "UseVertNormals" contrôle le traitement des normales des sommets stockées sous forme de balises PV dans les objets à tesseler (Voir aussi la section Balise PV (Primitive Variable)).

Lorsqu'il est activé, les objets PolyMesh résultants auront des normales dérivées de ces balises au lieu de normales dérivées de la surface NURBS.
Notez que les balises PV doivent être nommées comme défini par l'option de préférence cachée "PVNormalName". Par défaut, cette option est définie à "N", de sorte qu'un exemple de balise correct ressemble à ceci :

PV N,varying,n,4,0,0,1,0,0,1,1,1,0,0,0,1

L'option "RefineTrims" contrôle combien de fois les courbes de trim doivent être affinées avant la tessellation pour améliorer la fidélité de la tessellation le long des bords de trim.[∗] Voir aussi les images ci-dessous.

Exemple de valeurs pour "RefineTrims" (à gauche : 0, à droite : 2)

L'option "Primitives" permet de conserver les triangles créés par la tessellation (mode "TrianglesEtQuads") ou de synthétiser de nouveaux triangles à partir de triangles compatibles (mode "Quads").[∗]

Si le bouton "Ok" est enfoncé, l'outil de tessellation sera fermé et tous les objets sélectionnés seront remplacés par leurs homologues tesselés. Les objets originaux seront supprimés.
Si des objets référencés/maîtres font partie des objets sélectionnés ou de leurs enfants, et si l'une de leurs références n'est pas sélectionnée ou est un enfant des objets sélectionnés (c'est-à-dire qu'elle ne sera pas également supprimée), alors ces objets maîtres ne seront pas supprimés mais déplacés dans le presse-papiers à la place.

Si le bouton "Save" est utilisé, le dialogue de tessellation sera fermé et les balises "TP" contenant la méthode et la valeur de paramètre actuellement sélectionnées seront ajoutées à tous les objets sélectionnés. Ces balises peuvent être évaluées ultérieurement, lorsque les objets respectifs sont convertis en objets PolyMesh (par exemple, lors de l'exportation). Depuis Ayam 1.11, le mécanisme de conversion des objets conserve les balises "TP" intactes, de sorte que, par exemple, les paramètres de tessellation enregistrés sur une sphère ou un objet Revolve seront également préservés, et peuvent également être utilisés plus tard lorsque l'objet sera finalement converti en un objet PolyMesh (via un patch NURBS).

Si "Cancel" est utilisé, le dialogue sera fermé et tous les objets sélectionnés resteront inchangés.

Notes

L'outil de tessellation bloquera la plupart des autres parties de Ayam pendant son exécution, c'est-à-dire qu'il n'est pas possible de modifier la sélection ou d'exécuter d'autres outils. Il est toutefois possible de régler les paramètres de vue lorsque l'outil de tessellation est ouvert, afin d'examiner le résultat de la tessellation de plus près ou sous différents angles de vue. Les valeurs des limites du curseur de paramètre peuvent être modifiées en entrant simplement les valeurs qui sont en dehors des limites actuelles dans le widget d'entrée respectif, puis en appuyant sur la touche <Tab>. La plage et la résolution du curseur seront recalculées automatiquement à partir de la valeur dans le widget d'entrée. Les balises PV qui ne fournissent pas suffisamment de données pour la surface à tesseler seront ignorées en silence. Les objets PolyMesh créés par cet outil ne seront pas optimisés. La fonction de tessellation est basée sur le tessellator NURBS GLU (V1.3+).

Méthodes et paramètres d'échantillonnage

Six méthodes d'échantillonnage sont disponibles :

  1. "ParametricError" garantit que la distance entre la surface tesselée et la surface d'origine n'est pas supérieure à la valeur spécifiée par "SParamU".
  2. La méthode d'échantillonnage "PathLength" garantit qu'aucun bord d'un polygone généré par la tessellation n'est plus long que la valeur spécifiée par "SParamU" et la méthode de tessellation
  3. "DomainDistance" (par défaut jusqu'à 1.22) permet simplement de paver la surface NURBS en morceaux de taille égale en ce qui concerne l'espace paramétrique ; "SParamU" et "SParamV" contrôlent le nombre de points de prélèvement dans la direction U et V respectivement par unité de longueur. Cela conduit à un nombre différent d'échantillons pour des vecteurs de noeuds de différentes longueurs totales dans l'espace des paramètres.
  4. "NormalizedDomainDistance" assure que la tessellation crée le même nombre de points d'échantillonnage (comme indiqué via "SParamU" et "SParamV") pour les vecteurs de noeuds de n'importe quelle longueur totale dans l'espace de paramètres[∗] et
  5. "AdaptiveDomainDistance" ajoute en outre des points d'échantillonnage en fonction du nombre de points de contrôle (largeur ou hauteur du patch) pour permettre une meilleure adaptation aux patchs complexes.[∗]
  6. "AdaptiveKnotDistance" normalise le nombre de points d'échantillonnage par rapport au nombre d'intervalles de noeuds et à la longueur [∗]
"SParamU" est un paramètre pour la méthode d'échantillonnage ci-dessus.
La valeur par défaut de la méthode d'échantillonnage "AdaptiveKnotDistance" est 3. Des valeurs plus élevées conduisent à une meilleure qualité et à un plus grand nombre de polygones tesselés.
La valeur par défaut de la méthode d'échantillonnage "DomainDistance" est 8. Des valeurs plus élevées conduisent à une meilleure qualité et à un plus grand nombre de polygones tesselés.
La valeur par défaut pour la méthode d'échantillonnage "PathLength" est de 1.5. Des valeurs plus petites permettent d'obtenir une meilleure qualité et un plus grand nombre de polygones tesselés.
La valeur par défaut de la méthode d'échantillonnage "ParametricError" est de 0.25. Des valeurs plus petites conduisent à une meilleure qualité et à un plus grand nombre de polygones tesselés.

Notez que "SParamU" est exprimé en unités d'espace objet pour les méthodes d'échantillonnage "PathLength" et "ParametricError". "SParamV" est uniquement disponible pour les méthodes d'échantillonnage "DomainDistance", "NormalizedDomainDistance", et
"AdaptiveKnotDistance".
La valeur par défaut est égale à la valeur respective du paramètre "SParamU" ci-dessus.

Voir aussi les deux images suivantes et les tableaux correspondants qui permettent de comparer les résultats des quatre principales méthodes d'échantillonnage avec des paramètres différents.

Comparaison des méthodes d'échantillonnage, valeurs par défaut (à gauche : ParametricError, au milieu à gauche : PathLength, au milieu à droite : DomainDistance, à droite : AdaptiveKnotDistance)

MethodParametricErrorPathLengthDomainDistanceAdaptiveKnotDistance
Parameter0.251.58 / 83 / 3
Cylinder88104368192
Sphere9680112120
Box3660384108
Total220244864420

Méthodes d'échantillonnage Paramètres et résultats (1/2)

 

Comparaison des méthodes d'échantillonnage, meilleure qualité (à gauche : ParametricError, au milieu à gauche : PathLength, au milieu à droite : DomainDistance, à droite : AdaptiveKnotDistance)

MethodParametricErrorPathLengthDomainDistanceAdaptiveKnotDistance
Parameter0.1250.912 / 124 / 4
Cylinder152168840352
Sphere216160264224
Box36108864192
Total4044361968768

Méthodes d'échantillonnage Paramètres et résultats (2/2)


Page suivante Page précédente Table des matières