FormIt for Windows
Français
Français
  • Introduction
  • Nouveautés
  • Fonctionnalités FormIt
    • Clients multiples
    • Modélisation de solides conceptuels
    • Utilisation des formats de données
    • Langues
    • Collaboration
    • Graphiques de présentation
    • FormIt et Autodesk Docs
    • FormIt et Dynamo
    • Analyse d’ensoleillement et d’énergie
    • FormIt et Revit
    • FormIt + JavaScript pour les plug-ins
  • Introduction à FormIt
    • Questions fréquemment posées
    • Conditions préalables et installation
    • Configuration d’un projet
    • Barres d’outils et palettes
    • Navigation dans la scène
  • FormIt Primer
    • Partie I
      • 1.1 – Définition de l’emplacement
      • 1.2 – Configuration d’un projet avec des images et une grille
      • 1.3 – Esquisse 3D et Faire glisser la face
      • 1.4 – Ajout de sols avec des niveaux
      • 1.5 Groupement d’objets
      • 1.6 – Contrôle de la visibilité avec les calques
      • 1.7 – Peinture avec matériaux
      • 1.8 – Création de poteaux avec un réseau
      • 1.9 –Ajout de détails
      • 1.10 – Groupes de calcul avec Dynamo
      • 1.11 – Importation de modèles avec la bibliothèque de contenu
      • 1.12 – Styles visuels
      • 1.13 – Plans de coupe
      • 1.14 – Exportation de l’image
      • 1.15 – Utilisation de Revit
    • Partie II
      • 2.1 – Outil Ligne de décalage
      • 2.2 – Outils de modélisation avancés : Coque et Couverture
      • 2.3 Workflow de la vue Orthogonale
      • 2.4 – Workflows de terrain 3D
      • 2.5 – Plug-ins
      • 2.6 – Nœuds Dynamo FormIt
      • 2.7 – Outils de diagnostic
      • 2.8 – Workflows Revit avancés
      • 2.9 – Analyse d’ensoleillement et d’énergie Insight
      • 2.10 – Sessions de collaboration
  • Bibliothèque d’outils
    • 3D Text
    • Aligner caméra avec face
    • Arc
    • Réseau
    • Array Along Path
    • Enregistrement automatique
    • Coupe booléenne
    • Intersection booléenne
    • Jointure booléenne
    • Circle
    • Collaboration
    • Bibliothèque de contenu
    • Copier l’objet
    • Couverture, Balayage, Lisser
    • Créer un panorama
    • Facettage de courbe et de surface
    • Supprimer, Modifier, Déplacer
    • Dynamo
    • Analyse d’énergie avec Insight
    • Faces : extrusion, coupe et décalage
    • Faces : aplanir
    • Faces : inclinaison et facette/lissage
    • Arborescence des groupes
    • Groupes
    • Importation et exportation de données
    • Calques
    • Niveaux et aire
    • Lignes
    • Matériaux
    • Mesurer l’angle
    • Mesurer
    • Mailles
    • Mise en miroir
    • Statistiques du modèle
    • Arborescence du modèle
    • Modification des faces, des arêtes et des points
    • Échelle non uniforme
    • Droite décalée
    • Vues orthogonales
    • Caméra orthogonale et en perspective
    • Placement de primitives
    • Placer un sommet
    • Plug-ins
    • Polygone
    • Propriétés
    • Railing Along Path
    • Rectangle
    • Revit
    • Rotation d’un objet
    • Mise à l’échelle·d’un objet
    • Scènes
    • Plans de coupe
    • Sélection
    • Définition de l’emplacement
    • Soleil + Ombres
    • Coque
    • Accrochages et déductions
    • Analyse d’ensoleillement
    • Spline
    • Système de meneaux de vitrine/mur-rideau
    • Gestionnaire d’annulation
    • Styles visuels
    • Plans de construction
    • Axes universels
  • Plug-ins
    • Introduction aux plug-ins
    • Utilisation des plug-ins
    • Développement de plug-ins
      • Votre premier plug-in
        • Plugin Playground (Playground de plug-ins)
        • Lancement de l’exemple de plug-in
        • Ajout de vos propres fonctionnalités
        • Enregistrement de votre travail dans GitHub
        • Publication de votre projet
      • Développement avancé
        • Utilisation d’un IDE
        • Clonage d’un exemple de plug-in
        • Hébergement d’un plug-in sur un serveur local
        • Aperçu d’un plug-in dans Plugin Manager
        • Configuration de FormIt pour le développement
        • Hébergement d’un plug-in sur GitHub
        • Configuration générale de plug-in dans le fichier manifest
        • Rechargement pour les modifications locales
        • Moteurs côté client et Web
        • Débogage
        • Gestion des versions
      • Options de développement supplémentaires
        • Création d’un plug-in de groupe de fonctions HTML
        • Création d’un plug-in combiné de barre d’outils et de groupe de fonctions HTML
        • Création d’un plug-in basé sur une barre d’outils
        • Test d’un plug-in combiné de barre d’outils et de groupe de fonctions HTML
        • Création d’un add-in
        • Appel de plug-ins et d’API à partir de Dynamo
    • API FormIt
    • Exemples
      • Génération de guirlandes lumineuses
      • Plug-in Manage Cameras (Gérer les caméras)
      • Plug-in Properties Plus (Propriétés plus)
      • 3D Context Creator
      • Communauté de plug-ins FormIt
  • Annexe
    • Raccourcis clavier
Powered by GitBook
On this page
Edit on GitHub
  1. Plug-ins
  2. Développement de plug-ins
  3. Options de développement supplémentaires

Création d’un add-in

PreviousTest d’un plug-in combiné de barre d’outils et de groupe de fonctions HTMLNextAppel de plug-ins et d’API à partir de Dynamo

Last updated 2 years ago

Un add-in est un plug-in qui charge également les DLL qui exposent les nouvelles API JavaScript.

Télécharger l’API FormIt

Pour créer des DLL prenant en charge FormIt, l’API FormIt est nécessaire. L’API FormIt peut être téléchargée sur le site . Une connexion est nécessaire pour accéder au téléchargement.

Une fois que vous êtes connecté, l’API FormIt est disponible sous LOGICIEL.

Un add-in a la structure suivante :

            // FormIt looks for REGISTERAPIMETHODS to load new JS APIs
            REGISTERAPIMETHODS
            {
                // Declare new namespace for the new JS APIs
                REGISTERNAMESPACE("HelloDLL")
                // Create a JS API with no arguments
                APIMETHOD(HelloDLL, API1, "") {}
                // Create a JS API with 1 argument
                APIMETHOD(HelloDLL, API2, "arg1") {}
                // Create a JS API with 2 argument
                APIMETHOD(HelloDLL, API3, "arg1, arg2") {}
                ...
                ...
            }

Pour obtenir les arguments dans les variables C++, utilisez SCRIPTCONVERTER-

            // Create a JS API with 2 argument
            APIMETHOD(HelloDLL, API3, "arg1, arg2")
            {
                // NOTE: The arg names above ^^^^ have to match the args in the macros below.
                // arg1 expects a bool
                SCRIPTCONVERTER(bool, arg1);
                // arg2 expects an int
                SCRIPTCONVERTER(int, arg2);
                return JSON_UNDEFINED;
            }

JSON_UNDEFINED ou tout autre objet JSON peut être renvoyé. Utiliser to_json pour convertir votre variable C++ en JSON

            // Create a JS API with 2 argument
            APIMETHOD(HelloDLL, API3, "arg1, arg2")
            {
                // NOTE: The arg names above ^^^^ have to match the args in the macros below.
                // arg1 expects a bool
                SCRIPTCONVERTER(bool, arg1);
                // arg2 expects an int
                SCRIPTCONVERTER(int, arg2);

                std::string myValue = "Test";
                return to_json(myValue);
            }
        "DLLs" : ["PLUGINLOCATION/MyClass.dll", "PLUGINLOCATION/HelloDLL.dll"]

Un add-in a accès à l’ et à l’.

Une fois que la DLL définit toutes les API JS nécessaires, le plug-in doit indiquer à FormIt les DLL à charger. Cette opération est effectuée dans le fichier .

est un exemple qui explique comment créer un add-in.

est un exemple qui explique comment créer un add-in avec l’.

API FormIt
API FormIt Modeling Kernel C++
manifest
HelloAddIn
HelloWSMAddIn
API FormIt Modeling Kernel C++
Autodesk Developers Network