La possibilité d'écrire vos fonctions personnalisées vous permet d'étendre les fonctionnalités de PTC Mathcad Prime. Vos fonctions personnalisées se comportent comme des fonctions intégrées PTC Mathcad Prime. Une fonction personnalisée porte le libellé Fonction et peut comporter de nombreuses fonctionnalités similaires à celles des fonctions intégrées PTC Mathcad Prime, telles que les messages d'erreur personnalisés, l'interruption et la gestion des exceptions en cas de dépassement et de division par zéro. Les fonctions personnalisées sont autorisées à transmettre des scalaires complexes, des matrices complexes et des types de variables de chaîne. Vous pouvez regrouper un jeu de fonctions personnalisées dans une DLL (Dynamic Link Library). Une DLL regroupant plusieurs fonctions personnalisées est appelée une extension.
Fonctions personnalisées par défaut
PTC Mathcad Prime installe un dossier Custom Functions par défaut. Ce dossier contient les éléments suivants :
• Trois sous-dossiers contenant le code source pour les fonctions d'exemple
• MCADINCL.H : un fichier d'en-tête pour compiler les fonctions
• mcaduser.lib : un fichier bibliothèque pour la liaison des fonctions
Création de fonctions personnalisées
Le processus de création de fonctions personnalisées d'utilisateur comprend les étapes suivantes :
• Ecriture du code source en C ou C++ (ou renvoi à la ligne d'un code Fortran dans un C wrapper)
• Compilation du code source avec un compilateur tel que Visual C++
• Liaison des fichiers objets avec la bibliothèque MCADUSER.LIB pour créer une DLL
• Placement de votre DLL dans le dossier Custom Functions.
Conditions d'utilisation
Vous pouvez utiliser les spécifications de l'interface DLL pour créer des fonctions externes personnalisées qui fonctionnent avec PTC Mathcad uniquement pour une utilisation personnelle ou interne à votre entreprise. Ces spécifications ne peuvent pas être utilisées pour créer des fonctions externes dans un but commercial sans l'accord écrit préalable de PTC. Voir le contrat client PTC pour plus de détails.