GEGEMATIC
Membres-
Compteur de contenus
1 416 -
Inscription
-
Dernière visite
-
Jours gagnés
19
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par GEGEMATIC
-
Drone pour zones "compliquees/encombrees"
GEGEMATIC a répondu à un(e) sujet de lecrabe dans CAO, généralités
Alors le chien Trimble, il est déjà dépassé ? -
Salut Eric, Donc j'ai fait la manip, pas seulement sur civil.mnl, mais aussi sur c3d.mnl, qui avait c:ai_molc aussi. (il y a donc 3 définitions de ai_molc, je ne sais pas où est la 3eme ...) après les avoirs supprimés tous les 2, plus de message, mais toujours le pb de blocage au chargement, qu'il faut débloquer avec un esc. si je décharge le menu express, le blocage disparait. mais le menu express est automatiquement rechargé, donc le pb réapparait a l'ouverture du dessin suivant ... Je vais me pencher sur les solutions du Crabe, dès que j'en ai le temps ... a+ gégé
-
AutoCAD est lent, c'est tout, c'est une fatalité. Il l'a toujours été d'ailleurs, mais ça s'est empiré.
-
salut à toutes et à tous, les mise à jour de windows 10, dans la nuit de mardi a mercredi, concernaient apparemment dotNet. Elle m'ont provoqué une série d'écrans bleu comme je n'en avais pas connu depuis longtemps: il suffisait de lancer la commande vlisp ou vlide depuis autocad pour avoir instantanément le plantage. pas testé avec d'autres version que civil 2018. revenu au point de restauration, tout est rentré dans l'ordre. a+, gégé
-
merci a tous les 2, j'essaye vos solutions dès que j'ai un peu de temps !
-
Salut Eric, merci de m'aider pas encore, mais franchement je comprend pas la manoeuvre: ça revient a supprimer le .mnl ou j'ai pas compris ? gégé
-
Complètement dingue, cette histoire ... En supprimant le acetmain.mnl(qui ne contient rien d'utile) j'ai pu supprimer le problème du c:ai_molc mais toujours pas le bloquage au chargement. autre bug, j'avais un mécanisme initialisation de variables système: aucun pb pour toutes les variables sauf une: INDEXCTL ça plante avec n'importe quelle valeur: "paramètre de la variable AutoCAD rejeté: \"INDEXCTL\" 0" Bien entendu, ce serait simple si ce n’était pas aléatoire : le premier dessin s'ouvre normalement ... Maintenant, j'ai le problème, c'est que je n'arrive plus à me débarrasser de ce menu express ! je le décharge, il revient ! Un cauchemard !
-
jamais simple avec Autocad ... le menu marche bien, mais les express tools me plantent quelque chose au chargement, toujours pareil : ; Avertissement utilisateur: affectation au symbole protégé: c:ai_molc <- #<USUBR @0000027007576318 c:ai_molc> ça fait des années que j'ai ce pb, mais je l'avais résolu en changeant les préférence visual lisp: SETQ pour les symboles protégés : O Transparent Mais là y a rien à faire, si je fait pas echap, je reste bloqué, et ensuite ça me plante le chargement des autres lisp ! GRR
-
Chemin d'un Lisp selon la commande lancée
GEGEMATIC a répondu à un(e) sujet de DenisHen dans Débuter en LISP
Salut Luna, la tu as le AutoCAD.exe, mais toujours pas le chemin de la clef usb ou les lisps de denis sont ... Il faut a un instant marier les 2, de la manière la plus transparente pour l'utilisateur. si tu dois faire un scan du dd a chaque démarrage, ça peut être quand même long ? a part si denis impose le chemin sauf la lettre, dans ce cas il peut metre dans acaddoc.lsp une fonction qui cherche: C:\Société\MesLisp D:\Société\MesLisp E:\Société\MesLisp jusqu'a ce qu'il trouve. a+ Gégé -
Chemin d'un Lisp selon la commande lancée
GEGEMATIC a répondu à un(e) sujet de DenisHen dans Débuter en LISP
Salut Vincent, Oui, mais toute la difficulté est d'obtenir ce "H:\Société\MesLisp" dans le path, car si ça change au gré des postes, des clef usb, il faudra demander a l’utilisateur de spécifier ce chemin à chaque fois. Il y a des personnes, tu ne peux pas leur demander ces choses là ... C'est triste, mais beaucoup de gens abandonnent un programme qui peut les aider a la moindre difficulté ... L'autre jour, un type m'a même expliqué que les xref, c'est nul, car si tu casse le chemin, tu perds tout ! je lui dit: si on utilise les xref, il faut éviter de changer les chemins relatifs. il me dit: oui mais si on le change ? Je lui dit: il faut corriger le chemin ... Lui "Ben voilà, faut tout refaire !" (Comme ils n'utilisent pas les xref, aucun de leur plan n'est à jour, tout les fonds de plan sont faux, mais "les xref c'est nul") A+ gégé -
Chemin d'un Lisp selon la commande lancée
GEGEMATIC a répondu à un(e) sujet de DenisHen dans Débuter en LISP
Salut Denis, j'ai eu ce problème avec PowerClic, à une époque ou Autodesk n'avait absolument pas prévu d'emplacement standard pour les plug-in Il fallait gérer également le dos et windows. ma 1er technique était de crée un raccourcis "aveugle" qui appelait simplement AutoCAD.exe, sans préciser de chemin, mais en précisant un script a exécuter, et un dessin à ouvrir, le tout sans chemin, car dans le même répertoire une fois que j'avais choppé un dwg, je savais où j'étais et j'installais en conservant les chemins. Mais ensuite, Autocad n'a plus écrit de variable d’environnement path, donc appeler AutoCAD.exe sans chemin ne marchait plus. Et puis un chemin d'installation n'avait pas de sens, puisque les intérimaires mettaient PowerClic sur une clef USB. Donc j'ai du programmer un acadlauncher en c, en copiant des pans entier de code ici et là... cet acadlauncher détecte les installations d'autocad, les profils, et les propose a l'utilisateur. L'utilisateur lance Autocad avec tes lisp, ton environnement, depuis là ou il veut, cles usb, mes document, bureau etc ... ensuite les chemins suivent une logique locale, et on s'en sort. Je ne m'occupe plus de ça, je crois avoir vu passer de bien meilleurs "acadLauncher" que le mien, qui ne marche plus avec windows 64 ... ça c'est pour les clef usb, qui comme tu l'as dit, changent tout le temps. si le chemin reste, l'installation "manuelle" de powerClic demande a l'utilisateur: - de lancer l'autocad qu'il veut avec le profil qu'il veut. - d'ouvrir un dessin dans le répertoire d'installation de ton applicatif (a la racine) - de lancer un script, qui lance un programme d’installation: * recherche acaddoc.lsp et écriture dedans * chargement des menus, qui conservent leur chemin Une fois cette installe faite, l'utilisateur n'a plus à y revenir. C'est très archaïque, mais c'est pas mal pour un environnement complet avec des bibliothèques etc ... Pour rigoler, PowerClic version 3 s'installait sous dos à partir d'une disquette 3 pouce ! a l'époque, les fougères faisaient 30m de haut ... a+ Gégé -
Triage des blocs incrémentés depuis MicroStation Atlas V3
GEGEMATIC a répondu à un(e) sujet de DenisHen dans AutoCAD 2019
salut Denis, c'est une routine très utile, ça ne devrait plus l'être, car ustation permet les "cellules partagées" qui suppriment ce problème. mais tout le monde n'a pas encore pris en compte cette possibilité ... Il m'arrive d'avoir ce problème également avec les plans archi (all_plan, archicad ? je ne sais pas) a+ gégé -
Salut et merci ! burst se lance, pas de pb Justement, il n'y étaient pas : C:\Users\root\AppData\Roaming\Autodesk\C3D 2018\fra\Support oui j'avais également (en 1er) tape cette commande, il se passait rien. Et bien c'est nickel, j'ai pris ta version traduite, je l'ai renommée acetmain.cuix, je l'ai mise dans roaming avec acetmain.mnl, un _menuload, et ça a l'air d'être tout bon ! a+ gégé
-
salut à toutes et à tous, je viens de m'apercevoir que je n'avais pas les expresstools sur mon autocad civil 2018. accetest.fas est bien là, mais la commande expressmenu ne fait rien, ne dit rien. les expresstools sont bien installés, semble t-il, de toute façon je ne peux pas modifier mon installe d'autocad 2018. mais il n'y a pas de acetmain.cuix pourtant, il y a bien : "C:\Program Files\Autodesk\AutoCAD 2018\Support\fr-fr\acetmain.mnl" des idées ? (décidément, j'ai fait une mauvaise pioche avec la 2018 ...) a+ Gégé
-
Changer de dessin sans réduire la fenêtre autocad
GEGEMATIC a répondu à un(e) sujet de GEGEMATIC dans AutoCAD 2018
Salut, ça marche comme les onglet, mais je suis pas fan, quand on a 6 dessins d'ouvert, on veux pas les faire défiler ... Je vais essayer de m'habituer aux onglet, mais ça m'emmerde, car pour les autre logiciels, j'utilise windows, donc c'est encore une gymnastique de plus ... a+ gégé -
Changer de dessin sans réduire la fenêtre autocad
GEGEMATIC a répondu à un(e) sujet de GEGEMATIC dans AutoCAD 2018
Salut, avec alt+tab, j'ai la réduction de la fenêtre également. -
Salut a toutes et tous, peu de gens ici ont connu le "double bureau" des logiciels comme Microstation ou StarOffice avaient leur propre bureau, donc sous Windows, on se retrouvait avec un double bureau. Autocad a ajouté des onglets pour changer de dessin, ce qui fait double emploi avec le gestionnaire Windows. Truc stupide et inutile que l'on retrouve sous Revit. a part me faire perdre un bande de 10mm d'affichage utile, je vois pas l'interet. sauf que si je passe par Windows pour changer de dessin, ma fenêtre Autocad se réduit systématiquement, occasionnant une régénération très lente, et ensuite, il faut que je la ragrandisse, donc c'est la double peine. les onglets ne posent pas ce pb. comment c'est chez vous ? a+, Gégé
-
Un peu hors sujet, mais très utile lorsque regex n'est pas suffisant: les fonction de similarité de texte par Giles: ;;************************************************************************ ;;§/STR/définie le nombre minimal de caractères qu'il faut remplacer, insérer ou modifier pour transformer la chaîne $str1 en $str2/ $str1 $str2 ;;La complexité de l'algorithme est en O(m*n), où n et m sont les tailles respectives de $str1 et $str2 : ;;c'est plutôt bien, en comparaison de similar_text(), qui est en O(max(n,m)**3), mais cela reste très coûteux. ;;http://cadxp.com/topic/46142-utiliser-une-fonction-php-avec-lisp/page__gopid__268839#entry268839 ;;(C) Giles Chanteau ;;(LevenshteinDistance (strcase "str1") (strcase "Str2"))-> 1 (defun LevenshteinDistance (str1 str2 / lst1 lst2 len1 len2 matrix i j cost) (vl-load-com) (setq lst1 (vl-string->list str1) len1 (length lst1) lst2 (vl-string->list str2) len2 (length lst2) ) (cond ((zerop len1) len2) ((zerop len2) len1) ) (setq matrix (vlax-make-safearray vlax-vbInteger (cons 0 len1) (cons 0 len2))) (setq i 0) (repeat (1+ len1) (vlax-safearray-put-element matrix i 0 i) (setq i (1+ i)) ) (setq j 0) (repeat (1+ len2) (vlax-safearray-put-element matrix 0 j j) (setq j (1+ j)) ) (setq i 1) (repeat len1 (setq j 1) (repeat len2 (setq cost (if (= (nth (1- i) lst1) (nth (1- j) lst2)) 0 1 ) ) (vlax-safearray-put-element matrix i j (min (1+ (vlax-safearray-get-element matrix (1- i) j)) (1+ (vlax-safearray-get-element matrix i (1- j))) (+ (vlax-safearray-get-element matrix (1- i) (1- j)) cost) ) ) (setq j (1+ j)) ) (setq i (1+ i)) ) (vlax-safearray-get-element matrix len1 len2) ) ;;************************************************************************ ;;§/STR/donne le pourcentage de similarité entre 2 chaines de texte/str1 str2 ;;http://cadxp.com/topic/46142-utiliser-une-fonction-php-avec-lisp/page__gopid__268839#entry268839 ;;(C) Giles Chanteau ;;(Similarity (strcase "str1") (strcase "Str2"))-> 0.75 (defun Similarity (str1 str2) (- 1. (/ (float (LevenshteinDistance str1 str2)) (max (strlen str1) (strlen str2)))) ) ;;************************************************************************ ;;§/STR/donne le pourcentage de similarité entre 2 noms de fichier, sans prendre en compte ni le chemin ni l'extension/str1 str2 ;;http://cadxp.com/topic/46142-utiliser-une-fonction-php-avec-lisp/page__gopid__268839#entry268839 ;;(C) Giles Chanteau ;;(SimilarityFile (strcase "str1.pdf") (strcase "Str2.dwg"))-> 0.75 (defun SimilarityFile (str1 str2) (setq str1 (vl-filename-base str1) str2 (vl-filename-base str2) ) (- 1. (/ (float (LevenshteinDistance str1 str2)) (max (strlen str1) (strlen str2)))) ) ;;************************************************************************ ;;§/STR/donne le pourcentage de similarité entre 2 chaines de texte/str1 str2 ;;http://cadxp.com/topic/46142-utiliser-une-fonction-php-avec-lisp/page__gopid__268839#entry268839 ;;(C) Giles Chanteau ;;(similartext (strcase "str1") (strcase "Str2")) (defun similartext (str1 str2 / similarStr similarSum lst1 lst2) (defun similarStr (begin1 len1 begin2 len2 / pos1 pos2 len end1 end2 p q r pr qr isEqual) (setq pos1 begin1) (setq pos2 begin2) (setq len 0) (setq end1 (+ begin1 len1) end2 (+ begin2 len2) ) (setq p begin1) (repeat len1 (setq q begin2) (repeat len2 (setq r 0 pr p qr q isEqual T ) (while (and (< pr end1) (< qr end2) isEqual ) (if (= (nth pr lst1) (nth qr lst2)) (setq r (1+ r)) (setq isEqual nil) ) (setq pr (1+ pr) qr (1+ qr) ) ) (if (< len r) (progn (setq len r) (setq pos1 p) (setq pos2 q) ) ) (setq q (1+ q)) ) (setq p (1+ p)) ) (list pos1 pos2 len) ) (defun similarSum (begin1 len1 begin2 len2 / lst pos1 pos2 len sum e1 e2) (setq lst (similarStr begin1 len1 begin2 len2) pos1 (car lst) pos2 (cadr lst) len (caddr lst) ) (setq sum len) (if (/= sum 0) (progn (if (and (< begin1 pos1) (< begin2 pos2)) (setq sum (+ sum (similarSum begin1 (- pos1 begin1) begin2 (- pos2 begin2)))) ) (setq e1 (+ pos1 len) e2 (+ pos2 len) ) (if (and (< e1 (+ begin1 len1)) (< e2 (+ begin2 len2))) (setq sum (+ sum (similarSum e1 (+ len1 begin1 (- e1)) e2 (+ len2 begin2 (- e2))))) ) ) ) sum ) (setq lst1 (vl-string->list str1) len1 (length lst1) lst2 (vl-string->list str2) len2 (length lst2) ) (if (= 0 (+ len1 len2)) '(0 0.0) (list (setq similar (similarSum 0 len1 0 len2)) (/ (* similar 200.) (+ len1 len2)) ) ) ) Aujourd'hui je suis étonné que beaucoup de programmateur web ne prennent même plus la peine d'utiliser un applet pour corriger un numéro de téléphone ou un code INSEE Il m'arrive souvent d'être face à une page qui refuse de valider, bien entendu sans aucun message intelligible, parcequ'il y a un espace devant le numéro ... a+ gégé
-
Salut Luna, bien content que ça t'ouvre des perspectives, et tu verra que les expressions régulières sont un outil indispensable dès qu'on veut avoir des traitements un peu "intelligents" des entrées utilisateurs ou des données. la vie est ainsi faite que, pour une fois qu'un Lisp que je propose crée autant d’enthousiasme, et ben il est pas de moi ! mais je me fais pas de soucis, la relève est là ! a+ gégé
-
Incroyable ce vieux Crabe, toujours un truc dans sa poche ! Franchement je ne pensais pas qu'il y avait une nouvelle version.. J'avais commencé a réfléchir à mon propre "stripmtext", et franchement, devant l’ampleur de la tache, même en utilisant les expression régulières, j'avais renoncé. Puis j'ai découvert cet excellent Lisp de Joe Burcke, Il est bien codé avec les expression régulières, et pour moi il a toujours marché (or (vl-bb-ref '*REX*) (vl-bb-set '*REX* (vlax-create-object "VBScript.RegExp")) ) la seule chose que j'ai fait, c'est bien d'en faire une commande Lisp qui extrait le texte sans toucher à l'original, car c'était mon besoin. a+, gégé
-
Salut Luna, Pour les formatages de MText , connais-tu stripmtext ? site original ma version de stripmtext Dans ma version j'ai juste fait une modif pour extraire en Lisp la chaine sans le formatage: usage type: (stripformat (vla-get-TextString (pw_to_object etxt) ) "*" ) a+ gégé
-
Geler des claques nouveaux dans des FMULT existantes
GEGEMATIC a répondu à un(e) sujet de BernardL dans AutoCAD, liste de souhaits
Salut, Longtemps une exclusivité "PowerClic" "Voulez vous geler le nouveau calque dans les présentations existantes ?" Autodesk a du ajouter cette option vers la 2015 : "Nouveau calque gelé dans les présentation" voir l'icône dédiée dans le gestionnaire des calque. mais par contre, il sera toujours gelé par défaut dans toutes les présentations, a ce qu'il me semble ... a+ gégé -
j'ai pas ... je regarderais lorsque je relancerai ...
-
Salut Thierry C'est bien ce qui me semblait, mais je ne vois rien ! pas la moindre référence à Covadis ! bizare je suis sous Civil 2018 a+ gégé
-
Merci a tous les 2, le jeune valide, et le vieux fatigué !
