Aller au contenu

Routine GEF V3.21


Messages recommandés

Posté(e)

Bonjour à tous,

 

Pour faire suite à ce sujet et plus précisément au message 14 et aux réponses de Steven : Lien

 

Je n'arrive pas à utiliser la routine GEF de Patrick

 

Je précise que le chemin de recherche de la routine est bien implémenter dans mes options.

 

La routine se charge bien avec la commande "-appload"

 

Par contre au chargement de la dll "vplayerlisp_19.dll" j'ai un message d'erreur à rallonge et un pop-up qui s'affiche.

 

Je n'arrive pas à voir ou se situe le problème.

 

Commande: GEF
_netload Nom du fichier d'assemblage: vplayerlisp_19.dll Impossible de charger l'assemblage. Détails de l'erreur: System.IO.FileLoadException: Impossible de charger le fichier ou l'assembly 'file:///D:\07_resources_dao_cao_pao\01_acad\01_lisp\vplayerlisp_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:///D:\07_resources_dao_cao_pao\01_acad\01_lisp\vplayerlisp_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.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()

 

 

r2vr.jpg

 

 

Merci d'avance pour réponses

Posté(e)

Bonjour

 

Bonjour à tous,

 

Pour faire suite à ce sujet et plus précisément au message 14 et aux réponses de Steven : Lien

 

 

Personnellement je n'utilise pas cette routine mais pour développer la réponse faite par Steven, j'ai regardé rapidement le code (code qui a toujours été très formateur et agréable à lire chez Patrick_35)

Une dll se charge bien avec la commande NETLOAD, tu as tout bon wink.gif

 

Mais tu n'es pas obligé de la charger ladite dll pour faire fonctionner le lisp GEF. En tous cas, je n'en ai pas eu besoin.

Tu peux juste charger gef.lsp wink.gif

 

 

Effectivement, tu n'as pas besoin de charger les dll, le chargement est automatique pris en charge par ces quelques lignes de codes implantés dans le fichier lisp (fichier Gef.lsp).

Extrait du code du fichier Gef.lsp:

(and	(not (eval 'gc-vpthaw))
(setq dcl (findfile "VpLayerLisp.dll"))
   (if (< 18 (atoi (getvar 'acadver)))
     (vl-cmdf "_netload" "vplayerlisp_19.dll")
     (vl-cmdf "_netload" "vplayerlisp.dll")
   )
 )
 (if (fra)
   (setq dcl "gef_fr.dcl")
   (setq dcl "gef_en.dcl")
 )

 

Au lancement la routine détecte: ta version d'AutoCAD et charge la dll correspondant (soit vplayerlisp_19.dll ou vplayerlisp.dll), ainsi que l'option de langue pour charger la version francaise ou anglaise de la boite de dialogue (gef_fr.dcl ou gef_en.dcl), après je suppose que tous ces fichiers doivent être installé dans un des chemins de recherche de fichiers de support pour le bon fonctionnement du programme.

 

En conclusion le programme s'installe et se lance comme un lisp classique, l'usage de dll est transparent pour l'utilisateur.

 

Salutations Bruno

Apprendre => Prendre => Rendre

Posté(e)

On est d'accord...

- Les fichiers sont installés dans un chemin de recherche de fichiers de support

- Et les dll doivent se chargées

 

Mais au final je n'arrive pas à utiliser la routine GEF

Posté(e)

Salut dilack,

 

As-tu suivi la procédure que j'ai expliqué ---> ici?

 

 

Lorsque tu as télécharger le fichier compressé Gef-v3.22.zip, décompresse le contenu dans un dossier.

 

Dans les options d'AutoCAD, dans l'onglet Fichiers, ajoute le chemin dudit dossier dans les Chemins de recherche de support en cours d'utilisation.

 

Ensuite, tape la commande APPLOAD puis va chercher le fichier gef.lsp dans ton dossier puis charge-le.

Tape ensuite, dans la ligne de commande, gef wink.gif

Steven________________________________________

Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD.

Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD.

En rêve; AutoCAD sous Linux.

Posté(e)

On est d'accord...

- Les fichiers sont installés dans un chemin de recherche de fichiers de support

- Et les dll doivent se chargées

 

Mais au final je n'arrive pas à utiliser la routine GEF

 

Bonjour,

Avec windows il peut être nécessaire de débloquer les dll

Pour ce faire dans l'explorateur, click-droit sur le fichier et si dans l'onglet général" il est stipulé que ce fichier provient d'un autre ordinateur il est proposé de de le débloqué si tu lui fais confiance.

Après ceci la commande pourra être lancée, si il n'est pas débloqué, il n'est pas chargé et tu as droit a commande inconnue.

 

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Posté(e)

@ Steven: oui j'ai appliqué la procédure.

 

@ bonuscad: même en débloquant la dll cela ne fonctionne pas!

 

J'ai bien récupéré la version 3.22

 

Commande: _appload Gef.lsp correctement chargé(s)


Commande:
GEF.LSP Chargé......Tapez GEF pour l'éxecuter.
Commande:
Commande: GEF
_netload Nom du fichier d'assemblage: vplayerlisp_19.dll Impossible de charger l'assemblage. Détails de l'erreur: System.IO.FileLoadException: Impossible de charger le fichier ou l'assembly 'file:///D:\07_resources_dao_cao_pao\01_acad\01_lisp\vplayerlisp_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:///D:\07_resources_dao_cao_pao\01_acad\01_lisp\vplayerlisp_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.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()


Commande:
Erreur : type d'argument incorrect: fixnump: nil

Posté(e)

Bon après moulte essais, je suis arrivé à faire fonctionner la routine mais celle ci est en anglais, y a t-il un moyen de l'avoir en français?

J'ai essayé de supprimer le dcl anglais mais ce n'est pas la meilleur méthode car je me chope un message d'erreur.

Posté(e)

Bon après moulte essais, je suis arrivé à faire fonctionner la routine mais celle ci est en anglais, y a t-il un moyen de l'avoir en français?

 

Tu peux tenter dans le lisp de mettre cette séquence d'instruction en commentaire..

(if (fra)
   (setq dcl "gef_fr.dcl")
   (setq dcl "gef_en.dcl")
 )

 

Pour la remplacer par la suivante

(setq dcl "gef_fr.dcl")

 

En théorie qq soit ta config il chargera la dcl en Français

 

A+

Apprendre => Prendre => Rendre

  • 1 an après...
Posté(e)

Bonjour, 

 

Je me permets de déterrer ce post. 

Malgré la correction indiquée par VDH-BrunoGEF V3.22 ne s'exécute pas intégralement en Français. 

Aussi, est ce quelqu'un a une solution pour

-soit faire accepter la boite DCL à un autocad 2020 

-soit obliger GEF à considérer intégralement et uniquement la boite GEF_FR.DCL

 

Voici ce que cela me donne

 

image.thumb.png.08be9c7d22131cbfa4a0766ebe172340.png

 

On a un "T"  devant les noms de calques et non une "A"

 

merci d'avance. 

 

Ch.Nounours

Chris

 

Que dure le partage ... et CadXp le top pour l'entraide en CAO/DAO

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité