Fraid Posté(e) le 24 décembre 2019 Posté(e) le 24 décembre 2019 Bonjour, En faisant des testes avec la fonction TYPE, j'ai remarqué que le type USUBR n’étais renvoyé que si la fonction étais déclarée dans Vlide. Commande: (defun foo nil (princ)) FOO Commande: (type foo) SUBR _$ (defun foo nil (princ)) FOO _$ (type foo) USUBR on retourne ensuite dans Autocad Commande: (type foo) USUBR Y a t'il une explication? Car en dehors de Vlide je n'arrive jamais à avoir USUBR pour une fonction perso. Ou je n'est rien compris... https://github.com/Fraiddd
(gile) Posté(e) le 24 décembre 2019 Posté(e) le 24 décembre 2019 Salut, La différence entre SUBR et USUBR semble assez floue, même dans l'aide : SUBR Internal AutoLISP functions or functions loaded from compiled (FAS or VLX) files Functions in LISP source files loaded from the AutoCAD Command prompt may also appear as SUBR USUBR User-defined functions loaded from LISP source files Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Fraid Posté(e) le 24 décembre 2019 Auteur Posté(e) le 24 décembre 2019 encore un zone mystèrieuse...Merci https://github.com/Fraiddd
Fraid Posté(e) le 14 janvier 2020 Auteur Posté(e) le 14 janvier 2020 (modifié) Bonjour, Si on part sur le principe que les USUBR sont les fonctions autres que les fonctions natives, voici une solution pour les dénicher et les écrire dans un fichier texte. (defun get-usubr ( / *error* file fct) (defun *error* (msg) (if file (close file)) (or (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*") (princ (strcat "\n** Error: " msg " **"))) (princ) ) (load "c:\\<Mon Dossier>\\fct.lsp") (setq file (open "c:\\<Mon Dossier>\\usubr.txt" "w")) (foreach atome (acad_strlsort (atoms-family 1)) (if (and (= (type (eval (read atome))) 'SUBR) (not (wcmatch (strcase atome) "ACET*,BNS*,VLA-*,:*,C:*")) (not (member (strcase atome) fct )) ) (write-line (strcase atome) file) ) ) (close file) ) (defun c:GUS nil (get-usubr)) Il faut télécharger fct.lsp, c'est la liste des SUBR natives.Et remplacer <Mon Dossier> par votre dossier préféré(approuvé par Autocad).Si vous n'avez pas chargé de Lisp, vous n'aurez que get-usubr dans le fichier texte usubr.txt.J'ai rajouté la gestion d'erreur, c'est mieux. Modifié le 14 janvier 2020 par Fraid https://github.com/Fraiddd
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant