Pour vous inscrire cliquer ici

Assistant de fonctions
Créer un assistant de fonction

 

Commencez par ouvrir un éditeur de texte et sauvegardez votre document avec l’extension .3da pour que 3D-géom .net le reconnaisse.
La création d’un assistant de fonction se présente sous la forme d’une succession de lignes de code qui permettent de définir le nom (1), les types d’arguments attendus (2), la manière dont les arguments sont demandés à l’utilisateur (3), le commentaire (4), les noms des objets définis à l’intérieur de l’assistant de fonction (5), le préfixe sur les noms des nouveaux objets (6) et enfin le code correspondant à la création des objets (7).

Voici un exemple qui permet de détailler tous ces points : il s’agit de la construction d’un cone complet.

 

(
3SGEOMassistant
      (3DGEOMassistantName "ConeDouble")                                                                                 (1)
                (3DGEOMassistantTypesArgs'("NomDePoint" "NomDePoint" "NomDeDistance"))         (2)
                (3DGEOMassistantLabelsArgs '("1er point?" "2nd point?" "Rayon Base?"))                     (3)                                     (3DGEOMassistantComments "Construction d'un cone")                                                 (4)                       (3DGEOMassistantNamesAuto '(S1 M1 C1 C2 ConeComplet))                                    (5)
                (3DGEOMassistantPrefix "TP_")                                                                                     (6) 
               
                (
                3DGEOMassistantCode                                                                                                  (7)
                             '(
                              (llg:Schene:Sdd:Add "SegmentPar2Points" S1 (vector __Arg1 __Arg2))
                              (llg:Schene:Sdd:Add "PointMilieuDeSegment" M1 (vector S1))
                              (llg:Schene:Sdd:Add "ConeParRayonEt2Points" C1 (vector __Arg3 __Arg1 M1))
                              (llg:Schene:Sdd:Add "ConeParRayonEt2Points" C2 (vector __Arg3 __Arg2 M1))
                              (llg:Schene:Sdd:Add "UnionImplicite" ConeComplet (vector C1 C2))

                               )
                   )
)

 


Les lignes de code doivent figurer dans cet ordre, seul ce qui est entre les parenthèses (en bleu) varie.

(1) (3DGEOMassistantName "ConeDouble") : Permet de définir le nom de votre assistant de fonction, qui apparaît dans la première colonne. Il doit être entouré de guillemets. Attention : si vous choissisez un nom déjà utilisé par le language 3D géom (par exemple Triangle, Point, …), vous écraserez la fonction préexistante. 

(2) (3DGEOMassistantTypesArgs'("NomDePoint" "NomDePoint" "NomDeDistance")) : Permet de définir le type d’arguments attendus lors de l’exécution de l’assistant, ici deux points et une distance. Voici la liste des différents possibilités :
"NomDePoint" "NomDeNombre" "Nombre" "NomDeDistance" "NomDeAngleCS" "NomDeAngle" "NomDeVecteur"NomDeSegment" "NomDeDroite" "NomDePlan » "NomDeTP" "NomDeSphere" "NomDeCercle" "NomDeCone" "NomDeCylindre" "NomDePolygone" "NomDePolygoneRegulier" "NomDeUnion" "NomDeIntersection" 

(3) (3DGEOMassistantLabelsArgs '("1er point?" "2nd point?" "Rayon Base?")) : Cette ligne est en lien étroit avec la précédente. Il s’agit des questions posées à l’utilisateur (qui apparaissent dans la deuxième colonne) pour l’entrée de chaque argument, dans l’ordre précisé à la ligne précédente. Chaque question doit être entre guillemet comme sur l’exemple. Il doit y avoir le même nombre de question que d’arguments attendus dans la ligne précédente.

(4) (3DGEOMassistantComments "Construction d'un cone") : Cette ligne, facultative, indique le commentaire qui s’affiche au dessus de la ligne final de l’assistant de fonction. Elle peut apporter des précisions sur la construction par exemple.

(5) (3DGEOMassistantNamesAuto '(S1 M1 C1 C2 ConeComplet)) : Cette ligne est indispensable pour pouvoir utiliser plusieurs fois de suite l’assistant de fonction. Elle indique les noms successifs des objets qui seront construits (voir zone (7)). Ainsi les noms S1, M1, … sont « internes » à l’assistant de fonctions.

(6) (3DGEOMassistantPrefix "TP_") : Cette ligne, facultative, permet de définir un préfixe qui sera automatiquement ajouté à tout les objets crée par l’assistant de fonction afin de les différentier de la construction préalable. Ici, les objets s’appeleront TP_1, TP_2, …

(7) 3DGEOMassistantCode :  les lignes qui suivent sont écrites dans le language 3D géom et permettent de construire les différents objets. Elles se présentent sous la forme suivante : 

(llg:Schene:Sdd:Add "ConeParRayonEt2Points" C1 (vector __Arg3 __Arg1 M1))
--------------------   -------------------------  ---  ------------------------------
            (A)                              (B)                    (C)                  (D)

 

  • (A)   : préfixe obligatoire qui annonce une ligne de code.
  • (B)     : entre guillemet, nom de la fonction créée. C’est le nom qui apparaît dans le tableur à la ligne « définition fonctionelle ». Pour avoir une liste complète, se reporter à la documentation sur le tableau 3D-géom.net.
  • (C)    : Nom de l’objet créé. Avec la ligne 3DGEOMassistantPrefix, il s’agit des noms annoncés dans cette liste qui reste à l’intérieur de l’assistant de fonctions. Ce ne sont pas les noms qui apparaitront dans le tableur (qui seront Prefixe_numéro de création), ce qui permet d’utiliser plusieurs fois l’assistant de fonction.
  • (D)    : le (vector est obligatoire et précède la liste des objets préexistants utilisés dans la construction (pour un cone comme ici, une longueur et deux points). Pour appeler un objet entré par l’utilisateur en n-ième position, utiliser la syntaxe __Argn. Si l’objet a été construit à l’intérieur de l’assisant de fonction, il suffit de mettre son nom (comme ici M1).
© Editions POLE