krunch Posté(e) le 19 février 2012 Auteur Posté(e) le 19 février 2012 Impeccable, l'erreur a disparu... Merci encore
krunch Posté(e) le 17 avril 2012 Auteur Posté(e) le 17 avril 2012 Bonjour (gile) J'ai intégré gc-vplayerremoveall et j'ai une 'Erreur: eNotApplicable' dès que je tente de l'appliquer sur la présentation (la Viewport #0), peu importe que le calque ait ou pas des overrides pour la vue. Pas d'erreur avec les fenêtres normales... A noter qu'elle renvoie T même si le calque n'avait pas d'overrides (donc mm si elle ne s'applique pas) mais c'est pas grave.. Sinon je n'ai pas eu de nouvelle erreur avec gc-vplayeroverride, super !
krunch Posté(e) le 7 mai 2012 Auteur Posté(e) le 7 mai 2012 Bonjour (gile) Je me permets de revenir à la charge parce qu'un autre problème empêche d'utiliser gc-vplayerremoveall (du moins dans une boucle) : le regen intégré... Avec le problème des VPort0 ça la rend difficilement utilisable, et tel quel on ne peut pas toujours supprimer les overrides affectées avec gc-vplayeroverride
(gile) Posté(e) le 7 mai 2012 Posté(e) le 7 mai 2012 J'ai mis à jour la DLL, ça semble marcher. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
krunch Posté(e) le 7 mai 2012 Auteur Posté(e) le 7 mai 2012 J'ai fait plusieurs essais mais je ne vois pas de différence avec la version précédente (toujours erreur VPort#0 et Regen) C'est bien toujours cette adresse : à partir de cette adresse : http://dl.dropbox.com/u/14851751/LispVpLayer.zip) ??
(gile) Posté(e) le 7 mai 2012 Posté(e) le 7 mai 2012 Essaye de nettoyer le cache de ton navigateur avant de refaire le téléchargement. Si le problème persiste, peut-être pourrais-tu poster le code qui appelle la fonction afin que je voie mieux le contexte dans lequel tu as des problèmes. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
krunch Posté(e) le 7 mai 2012 Auteur Posté(e) le 7 mai 2012 Essaye de nettoyer le cache de ton navigateur avant de refaire le téléchargement. C'est fait, mais j'ai bien un fichier différent (légèrement + petit) .. Le code est encore trop en vrac, mais je peux reproduire l'erreur de la VP#0 ... Il faut passer en Présentation, et la VP0 est la vue active (la vue "Présentation"), je la récupère comme ça : (vlax-vla-object->ename (vla-get-ActivePViewport (vla-get-ActiveDocument (vlax-get-acad-object)))) Ca marche très bien avec gc-vplayeroverride : le code suivant applique une override "Rouge" au calque "0". Soit à la VP#0 si tu es en espace Papier, soit à la VP#1 si tu as double-cliqué dedans (c'est ce que je cherche à obtenir, d'où ce code vla) ..(gc-vplayeroverride (vlax-vla-object->ename (vla-get-ActivePViewport (vla-get-ActiveDocument (vlax-get-acad-object)))) "0" 1)Pour effacer l'override j'ai une erreur avec le même code, mais uniquement si je suis en espace Papier ..(gc-vplayerremoveall (vlax-vla-object->ename (vla-get-ActivePViewport (vla-get-ActiveDocument (vlax-get-acad-object)))) "0") Quant au Regen j'ai intégré la fonction dans une boucle de calques et j'ai bien un Régénération du modèle déclenché pour chaque calque
(gile) Posté(e) le 7 mai 2012 Posté(e) le 7 mai 2012 Je viens de tester les deux expressions que tu donnes avec la version en téléchargement avec A2011 et A2012.Dans les deux cas, l'expression retourne T et faut faire un regen pour que l'affichage se mette à jour... Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
krunch Posté(e) le 7 mai 2012 Auteur Posté(e) le 7 mai 2012 Je viens de tester les deux expressions que tu donnes avec la version en téléchargement avec A2011 et A2012. Alors ça doit venir de la 2010 (j'ai un Erreur: eNotApplicable) et faut faire un regen pour que l'affichage se mette à jour...C'est comme pour l'autre fonction .. En fait j'essaye de les piloter par une interface OpenDCL, et quand je valide ça traite les calques à la suite, d'où l'ennui avec le Regen .. Voilà à quoi ça ressemble : http://img15.hostingpics.net/thumbs/mini_955170overrides.gif
(gile) Posté(e) le 7 mai 2012 Posté(e) le 7 mai 2012 Je viens de faire un test avec A2010 et tout fonctionne comme attendu, aussi bien avec gc-vplayeroverride (le calque "0" passe en rouge et il faut régénérer pour que l'affichage en rende compte) qu'avec gc-vplayerremoveall (le calque "0" revient en noir et il faut régénérer pour que l'affichage en rende compte). Assure toi de bien avoir la dernière version et de bien charger celle là dans AutoCAD. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
krunch Posté(e) le 7 mai 2012 Auteur Posté(e) le 7 mai 2012 C'est curieux car je l'ai aussi testé dans un autre 2010 (32 bits) et j'avais aussi cette erreur.Le déroulement est bien ce que tu décris mais j'ai une erreur uniquement si je suis en espace Papier (pas dans une vue je précise). et il faut régénérer pour que l'affichage en rende compte Oui il faut régénérer, mais on peut aussi vouloir appliquer gc-vplayerremoveall à plusieurs calques à la suite et préférer régénérer à la fin (c'est le cas de l'interface en exemple), plutôt que déclencher autant de Regen qu'il y a de calques. ---------------------------------Je réessaierai sur d'autres postes, sinon voilà l'erreur (pas toujours affichée) que j'ai avec la dernière version : Autodesk.AutoCAD.Runtime.Exception: eNotApplicable à Autodesk.AutoCAD.Runtime.Interop.ThrowExceptionForErrorStatus(Int32 errorStatus) à AcMgUserInteraction.{ctor}(AcMgUserInteraction* , AcApDocument* pDoc, Boolean prompting) à Autodesk.AutoCAD.EditorInput.Editor.WriteMessage(String message, Object[] parameter) à LispVpLayer.LispErrorMsg.Message(String msg) à LispVpLayer.VpLayer.VpLayerRemoveAll(ResultBuffer resbuf) à Autodesk.AutoCAD.Runtime.CommandClass.InvokeWorker(MethodInfo mi, Object commandObject, Boolean bLispFunction) à Autodesk.AutoCAD.Runtime.CommandClass.InvokeWorkerWithExceptionFilter(MethodInfo mi, Object commandObject, Boolean bLispFunction) à Autodesk.AutoCAD.Runtime.PerDocumentCommandClass.Invoke(MethodInfo mi, Boolean bLispFunction) à Autodesk.AutoCAD.Runtime.CommandClass.CommandThunk.InvokeLisp(); erreur: Demande ADS erronée
(gile) Posté(e) le 8 mai 2012 Posté(e) le 8 mai 2012 Oui, j'ai bien compris que le problème avait lieu dans la fenêtre de présentation (CVPORT = 1).Oui, j'ai bien compris que tu souhaitais que la fonction gc-vplayerremoveall ne s'occupe pas de régénération (comme tu l'avais demandé pour gc-vplayeroverride) pacre que tu l'utilises dans une boucle. C'est exactement dans ce ce sens que j'ai fait la modification hier (c'était la méthode utilisée pour régénérer qui n'était pas supportée par la fenêtre de présentation, je l'ai supprimée).C'est exactement dans ce cadre que j'ai fait mes tests : fenêtre de présentation active et calque "0", fenêtre de présentation active et boucle sur tous les calques, boucle sur toutes les fenêtres (présentation + flottantes) et sur tous les calques. Dans tous les cas, j'ai dû faire un REGEN explicitement après l'exécution des LISP. Je persiste donc à penser que tu n'utilises pas la dernière version (postée hier). D'ailleurs, dans l'aide de cette version, pour la fonction gc-vplayerremoveall, il est clairement précisé qu'une régénération est nécessaire. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
krunch Posté(e) le 8 mai 2012 Auteur Posté(e) le 8 mai 2012 D'accord merci :) Je viens de re-télécharger et ça marche impeccable. Pourtant hier j'avais bien vidé la mémoire cache du navigateur (2 fois), remplacé le bon fichier .. j'ai même redémarré l'ordi.Et effectivement hier le bouton Débloquer (dans les propriétés) des fichiers téléchargés n'était pas disponible .. Je n'ai pas tout compris. Merci encore
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