(gile) Posté(e) le 29 janvier 2012 Posté(e) le 29 janvier 2012 Salut, Une petite bibliothèque de fonctions LISP définies en .NET : gc-Brep gc-GetFieDlg gc-GetFolderDlg gc-InputBox gc-MessageBox gc-Purge gc-GetStrippedMtextString gc-CopyToClipboard gc-TextFromClipboard gc-VpFreeze gc-VpLayerOverride gc-VpLayerRemoveAll gc-VpThaw gc-VpThawAll gc-XlRead gc-XlWrite Mise à jour : Télécharger LispExtension depuis cette page. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Invité Patrick Posté(e) le 29 janvier 2012 Posté(e) le 29 janvier 2012 Si je comprend bien, ces fonctions LISP sont destinées à être utilisées dans d'autres programmes LISP? Les fonctions que tu proposes sont-elles impossibles à programmer en LISP et est-ce la raison pour laquelle tu les as programmées en .NET?
(gile) Posté(e) le 30 janvier 2012 Auteur Posté(e) le 30 janvier 2012 Salut, Oui, il est possible avec .NET de définir des fonctions LISP qui sont reconnues par AutoCAD comme des fonctions natives. Parmi les fonctions proposées ici, certaines sont impossible à programmer en LISP (Brep, GetFileDld avec choix multiple, les fonctions VpLayer) d'autres sont tellement plus simple en .NET que je les ai faites dans la foulée. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
VDH-Bruno Posté(e) le 30 janvier 2012 Posté(e) le 30 janvier 2012 Bonjour,Une petite bibliothèque de fonctions LISP définies en .NETDepuis l’annonce sur l’autre post, on peut dire que cela n’a pas trainé ;) Bravo et merci. Apprendre => Prendre => Rendre
fabcad Posté(e) le 30 janvier 2012 Posté(e) le 30 janvier 2012 Bonjour à tous, Merci pour cette extension, j'ai juste une question. Comment lire le fichier chm sous windows, l'application se lance avec l'ouverture du fichier mais les rubriques ne sont pas là. Avez-vous ce phénomène ? Fabcad
Invité Patrick Posté(e) le 30 janvier 2012 Posté(e) le 30 janvier 2012 Si tu n'extrais pas le fichier CHM tu ne verras pas les rubriques, il faut l'extraire et ça marche, j'avais eu le même problème que toi.
fabcad Posté(e) le 30 janvier 2012 Posté(e) le 30 janvier 2012 Merci Patrick, Je l'avais dézippé mais il faut aussi avec un clic droit-propriétés cliquer sur l'option Débloquer. Je ne connaissais pas cette option. Bonne journée,
Invité Patrick Posté(e) le 30 janvier 2012 Posté(e) le 30 janvier 2012 C'est curieux, je n'ai pas eu besoin de faire ce déblocage.
VDH-Bruno Posté(e) le 30 janvier 2012 Posté(e) le 30 janvier 2012 Salut, C'est curieux, je n'ai pas eu besoin de faire ce déblocage.Patrick, pour info sous vista au boulot je dois débloquer les fichiers d’aide (provenant d'un autre ordinateur) mais pas à mon domicile sous XP(Paramètre de sécurités ou système d’exploitation à voir..) A+ Apprendre => Prendre => Rendre
Patrick_35 Posté(e) le 30 janvier 2012 Posté(e) le 30 janvier 2012 Parmi les fonctions proposées ici, certaines sont impossible à programmer en LISP (Brep, GetFileDld avec choix multiple, les fonctions VpLayer)Salut J'avais fait cette fonction pour un choix multiple de fichiers en lisp. Par contre, tu as raison en ce qui concerne les viewports.Lire les valeurs, ok, mais les écrire :( @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
(gile) Posté(e) le 7 février 2012 Auteur Posté(e) le 7 février 2012 Mise à jour.gc-VpLayerOverride Accepte désormais 3 types d'arguments pour la couleur :- entier de 1 à 255 pour un couleur de l'index- liste de 3 entiers de 0 à 255 pour la valeur RGB (Rouge Vert Bleu)- liste de deux chaînes pour les carnets de couleurs (NomCouleur NomCarnet) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
(gile) Posté(e) le 23 juin 2012 Auteur Posté(e) le 23 juin 2012 Nouvelle version :amélioration de la gestion des erreursversions 18 (2010-2012) et 19 (2013-?) Le ZIP contient les DLLs, une fichier d'aide (LispExtension.chm), un fichier texte (lisez-moi.txt) avec les instructions de déploiement et un fichier LISP (Autoloader.lsp) à lancer la première fois depuis AutoCAD pour charger la dll correspondant à la version courante et l'inscrire dans la base de registre pour automatiser les prochains chargements. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Patrick_35 Posté(e) le 16 juillet 2014 Posté(e) le 16 juillet 2014 Salut (gile) Avec ta fonction (gc-vpfreeze ...), cela ne fonctionne pas sur une fenêtre en ObjectDbx.C'est parce que l'on donne un ename ? Merci @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
yethi Posté(e) le 12 octobre 2015 Posté(e) le 12 octobre 2015 Salut (giles) un petit problème avec LispExtension_19.dll sur Autocad Map 2016 si je tape la fct (command "netload" "LispExtension_19") j'ai ça en retour : netload Nom du fichier d'assemblage: LispExtension_19 Impossible de charger l'assemblage. Détails de l'erreur: System.IO.FileLoadException: Impossible de charger le fichier ou l'assembly 'file:///C:\Program Files\Autodesk\AutoCAD 2016\LispExtension_19.dll' ou une de ses dépendances. L'opération n'est pas prise en charge. (Exception de HRESULT : 0x80131515)Nom de fichier : 'file:///C:\Program Files\Autodesk\AutoCAD 2016\LispExtension_19.dll' ---> System.NotSupportedException: Tentative de chargement d'un assembly à partir d'un emplacement réseau qui aurait entraîné l'utilisation de l'assembly en mode Bac à sable (sandbox) dans les versions antérieures du .NET Framework. Cette version du .NET Framework n'activant pas la stratégie CAS par défaut, ce chargement peut être dangereux. Si ce chargement n'est pas destiné à utiliser l'assembly en mode Bac à sable (sandbox), activez le commutateur loadFromRemoteSources. Pour plus d'informations, consultez http://go.microsoft.com/fwlink/?LinkId=155569. à System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) à System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) à System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) à System.Reflection.RuntimeAssembly.InternalLoadFrom(String assemblyFile, Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm, Boolean forIntrospection, Boolean suppressSecurityChecks, StackCrawlMark& stackMark) à System.Reflection.Assembly.LoadFrom(String assemblyFile) à Autodesk.AutoCAD.Runtime.ExtensionLoader.Load(String fileName) à loadmgd() ces message semblent etre lié à la securité (sandbox)?????comment faire pour continuer à utiliser tes outils bien pratiques !!! merci Yethi
(gile) Posté(e) le 12 octobre 2015 Auteur Posté(e) le 12 octobre 2015 Salut, Regarde ici. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Olivier Eckmann Posté(e) le 9 mars 2016 Posté(e) le 9 mars 2016 Bonjour Gilles, Juste pour info, j'ai un petit souci avec cette DLL.Elle se charge et fonctionne parfaitement, mais c'est juste en quittant AutoCAD que j'ai un plantage (rapport d'erreur Autodesk).J'utilise des licences MAP 3D 2010 et MAP 3D 2012 sous WIndows XP et Windows 7.Le problème ne se pose que sous MAP 3D 2010 sous Windows 7 32.Toutes mes autres combinaisons : - MAP 2010 / XP => OK - MAP 2012 / XP => OK - MAP 2012 / Win7 x64 => OKC'est pas grave car je n'ai qu'un seul poste comme ça et le problème ne se pose qu'en quittant le programme donc une fois le travail sauvegardé. Je ne sais pas non plus si c'est lié à MAP ou si c'est reproductible sous AutoCAD seul.C'est juste pour te signaler le petit souci. Olivier
(gile) Posté(e) le 9 mars 2016 Auteur Posté(e) le 9 mars 2016 Merci pour le retour.Je n'ai jamais noté ce comportement (je n'ai eu jamais non plus de config telle que celle que tu décris).En fait, je ne me sers pas vraiment de ces extensions, je n'utilise plus le LISP que pour des petites routines écrites, en général, à la demande...Si j'ai le temps, j'y jetterais un œil. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
PHILPHIL Posté(e) le 9 mars 2016 Posté(e) le 9 mars 2016 bonsoir Gile je viens de tester "gc-vplayeroverride" et ca me met ca Choix de l'objet: no function definition: GC-VPLAYEROVERRIDE je l'ai bien charger avec un netload (command-s "_NETLOAD" "LispExtension_19.dll") (defun c:chcoucalFEN (/ acdoc ss ref ;;; name new ) (setq cav (getvar "clayer")) (command-s "-calque" "ch" "0" "") (setq typeentite (getcfg "APPDATA/TYPEENTITE")) (setq sfen (car (entsel "\nSELECTIONNER LA FENETRE DANS LAQUELLE FAIRE LA MODIFICATION DU CALQUE :"))) (command-s "espaceo") (initget "E e S s") (setq tmp (getkword (strcat "\nVOULEZ VOUS SELECTIONNER UNE Entité ou UNE Sous entité (E e / S s) <" typeentite "> : ") ) ) (if tmp (setq typeentite tmp) ) (setcfg "APPDATA/TYPEENTITE" typeentite) (if (or (= typeentite "E") (= typeentite "e")) (progn (setq ent1 (car (entsel "\nSELECTIONNER UNE ENTITE GLOBALE :"))) (setq name (vlax-get-property (vlax-ename->vla-object (cdr (assoc -1 (entget ent1)))) 'layer)) ) (progn (setq ent1 (car (nentsel "\nSELECTIONNER UNE SOUS-ENTITE :"))) (setq name (vlax-get-property (vlax-ename->vla-object (cdr (assoc -1 (entget ent1)))) 'layer)) ) ) (command-s "espacep") (setq couleurnew (acad_colordlg 1)) ;; (gc-vplayeroverride sfen name 1 nil -3) (gc-vplayeroverride (car ( entsel)) "C_MUR" 1 nil 0);; pour tester (setvar "clayer" cav) (princ) ) a+ merci Phil FREELANCE Autodesk Architecture 2025 sous windows 11 64 REVIT 24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal
PHILPHIL Posté(e) le 17 mars 2016 Posté(e) le 17 mars 2016 hello Gile as tu pu tester mon lisp ? et pourquoi j'ai cette erreur ? je pensai que ca venait du fait que la fenetre n'etait pas rectangulaire, mais non. SELECTIONNER LA FENETRE DANS LAQUELLE FAIRE LA MODIFICATION DU CALQUE :espaceoVOULEZ VOUS SELECTIONNER UNE Entité ou UNE Sous entité (E e / S s) <S> :SELECTIONNER UNE SOUS-ENTITE :espacepChoix de l'objet: no function definition: GC-VPLAYEROVERRIDE merci a+Phil FREELANCE Autodesk Architecture 2025 sous windows 11 64 REVIT 24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal
(gile) Posté(e) le 17 mars 2016 Auteur Posté(e) le 17 mars 2016 Salut, Au vu du message d'erreur, le problème vient plutôt du chargement de la DLL.Regarde bien ce que dit la ligne commande quand tu appelle NETLOAD. Quant au problème de fenêtre non rectangulaire, quand tu fais :(gc-vplayeroverride (car ( entsel)) "C_MUR" 1 nil 0);; pour tester et et que tu sélectionnes un fenêtre non rectangulaire, (car (entsel)) retourne l'entité qui a servi à faire la fenêtre. Pour sélectionner une fenêtre (rectangulaire ou pas) il vaut mieux utiliser ssget avec un filtre de sélection (et les options :S et :E si tu veux simuler entsel) :(if (setq ss (ssget "_+.:E:S" '((0 . "VIEWPORT")))) (progn (setq viewport (ssname ss 0)) (gc-vplayeroverride viewport ...) ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
PHILPHIL Posté(e) le 17 mars 2016 Posté(e) le 17 mars 2016 salut Gile merci ca fonctionne mieux maintenant en effet je devais avoir un souci de chargement de "lispextension" en effet CHCOUCALFEN : force la couleur du calque de l'entite ou sous entite dans la fenetreCHCOUCALFENanul : annule la couleur forcée du calque de l'entite ou sous entite dans la fenetre Grace a Gile voici deux Lisp. (command-s "_NETLOAD" "LispExtension_19.dll") (defun c:chcoucalFEN (/ acdoc ss ref name new ) (setq cav (getvar "clayer")) (command-s "-calque" "ch" "0" "") (setq typeentite (getcfg "APPDATA/TYPEENTITE")) (command-s "espaceo") (initget "E e S s") (setq tmp (getkword (strcat "\nVOULEZ VOUS SELECTIONNER UNE Entité ou UNE Sous entité (E e / S s) <" typeentite "> : ") ) ) (if tmp (setq typeentite tmp) ) (setcfg "APPDATA/TYPEENTITE" typeentite) (if (or (= typeentite "E") (= typeentite "e")) (progn (setq ent1 (car (entsel "\nSELECTIONNER UNE ENTITE GLOBALE :"))) (setq name (vlax-get-property (vlax-ename->vla-object (cdr (assoc -1 (entget ent1)))) 'layer)) ) (progn (setq ent1 (car (nentsel "\nSELECTIONNER UNE SOUS-ENTITE :"))) (setq name (vlax-get-property (vlax-ename->vla-object (cdr (assoc -1 (entget ent1)))) 'layer)) ) ) (command-s "espacep") (setq couleurnew (acad_colordlg 1)) (prompt "\nSELECTIONNER LA FENETRE DANS LAQUELLE FAIRE LA MODIFICATION DU CALQUE :") (if (setq ss (ssget "_+.:E:S" '((0 . "VIEWPORT")))) (progn (setq viewport (ssname ss 0)) (gc-vplayeroverride viewport name couleurnew nil -3) ) ) (setvar "clayer" cav) (princ) ) (defun c:chcoucalFENanul (/ acdoc ss ref name new ) (setq cav (getvar "clayer")) (command-s "-calque" "ch" "0" "") (setq typeentite (getcfg "APPDATA/TYPEENTITE")) (command-s "espaceo") (initget "E e S s") (setq tmp (getkword (strcat "\nVOULEZ VOUS SELECTIONNER UNE Entité ou UNE Sous entité (E e / S s) <" typeentite "> : ") ) ) (if tmp (setq typeentite tmp) ) (setcfg "APPDATA/TYPEENTITE" typeentite) (if (or (= typeentite "E") (= typeentite "e")) (progn (setq ent1 (car (entsel "\nSELECTIONNER UNE ENTITE GLOBALE :"))) (setq name (vlax-get-property (vlax-ename->vla-object (cdr (assoc -1 (entget ent1)))) 'layer)) ) (progn (setq ent1 (car (nentsel "\nSELECTIONNER UNE SOUS-ENTITE :"))) (setq name (vlax-get-property (vlax-ename->vla-object (cdr (assoc -1 (entget ent1)))) 'layer)) ) ) (command-s "espacep") (prompt "\nSELECTIONNER LA FENETRE DANS LAQUELLE FAIRE LA MODIFICATION DU CALQUE :") (if (setq ss (ssget "_+.:E:S" '((0 . "VIEWPORT")))) (progn (setq viewport (ssname ss 0)) (gc-vplayerremoveall viewport name) ) ) (setvar "clayer" cav) (princ) ) a+ Phil FREELANCE Autodesk Architecture 2025 sous windows 11 64 REVIT 24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal
PHILPHIL Posté(e) le 18 mars 2016 Posté(e) le 18 mars 2016 Hello Gile dans tes extensions tu n'aurais pas un outils qui rend invisible une entite dans une fenetre par hazard ?tout en la laissant visible dans l'onglet model. bonne nuit Phil FREELANCE Autodesk Architecture 2025 sous windows 11 64 REVIT 24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal
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