-
Compteur de contenus
2 523 -
Inscription
-
Dernière visite
-
Jours gagnés
23
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par Fraid
-
[RESOLU] - Nom de dossier Windows dans un champ
Fraid a répondu à un(e) sujet de LElemurien dans AutoCAD 2020-2024
Pour que le champ soit mis à jour à l'ouverture: - Rajoute en fin de code (c:ddd) - Tu enregistre le code dans un fichier ddd.lsp (dans un dossier support/approuvé) - l'ajouté au applications chargées au démarrage (appload) Pour l'enregistrer sous, il suffit de taper ddd juste après, sinon il sera à jour à la prochaine ouverture. -
[RESOLU] - Nom de dossier Windows dans un champ
Fraid a répondu à un(e) sujet de LElemurien dans AutoCAD 2020-2024
Oups, j'ai corrigé, Un simple regen suffit. Et c'est maintenant en majuscule -
Bonjour, Peut être à cause d'un scu bizarre. Si tu tape SCU puis G, est ce mieux?
-
[RESOLU] - Nom de dossier Windows dans un champ
Fraid a répondu à un(e) sujet de LElemurien dans AutoCAD 2020-2024
Si tu veux absolument un champ, je te propose cette solution Le champ %<\AcVar.17.0 Lisp.dddir>% et un bout de lisp qui le met à jour. (defun c:ddd nil (setq dddir (xstrcase (car (str2lst (car (reverse (butlast (str2lst (getvar 'DWGPREFIX) "\\")))) " ")))) (command "_regen") ) (defun str2lst (str sep / pos) (if (setq pos (vl-string-search sep str)) (cons (substr str 1 pos) (str2lst (substr str (+ (strlen sep) pos 1)) sep) ) (list str) ) ) (defun butlast (lst) (reverse (cdr (reverse lst))) ) Cela fonctionne si c'est un espace qui sépare les mots du nom de ton dossier. Si c'est "-" par exemple remplace l'espace " " par "-" j'avais oublier de joindre les 2 fonctions str2lst et butlast ... -
[RESOLU] - Nom de dossier Windows dans un champ
Fraid a répondu à un(e) sujet de LElemurien dans AutoCAD 2020-2024
Oui, directement dans un champs. Par contre, à la place du champs, on peut imaginer une solution de mis à jour grâce à un lisp. Mais, ici, nous n'avons pas assez d'éléments pour le faire à ta place. Le texte est t'il un attribut, le chemin de base est t'il toujours le même ... -
[RESOLU] - Nom de dossier Windows dans un champ
Fraid a répondu à un(e) sujet de LElemurien dans AutoCAD 2020-2024
Bonjour, Taper champ En choisissant Nom de fichier tu peux choisir des options sur la droite. -
Bonjour, On peut aussi placer un attribut vide. Quand on clic sur la poignée, un simple barre espace et tu déplace ton bloc.
-
Suppression de calque par nom généric (?/*)
Fraid a répondu à un(e) sujet de zebzeb dans AutoCAD 2020-2024
Sans vouloir t'offenser, tu ne cherche pas beaucoup. Mais je vais t'aider quand même :D Pour la fonction de bonuscad il suffit d'utiliser un argument, ici calq. (defun SuppCalq ( calq / flag lay) (setq flag T) (while (setq lay (tblnext "LAYER" flag)) (if (and (zerop (boole 1 16 (cdr (assoc 70 lay)))) (/= (cdr (assoc 2 lay)) "0")) (if (wcmatch (cdr (assoc 2 lay)) calq) (command "-SUPCALQUE" "N" (cdr (assoc 2 lay)) "" "oui") ) ) (setq flag nil) ) );fin SuppCalq que tu utilisera dans ton code principal comme ceci (SuppCalq "Nom1*") L'utilisation de la fonction command est réservée théoriquement au commandes natives d'Autocad et doit être utilisé quand on ne sait pas faire autrement. Une suite de command, sans boucle, ni condition n'est pas de la programmation mais plutôt une Macro. Je t'encourage à visiter le site de Gile et celui de Didier ainsi que l'aide aux développeurs d'Autocad. L'apprentissage de l'Autolisp et ses technologies associées demande beaucoup d'effort, mais cela vaut le coup. Bonne chance -
Suppression de calque par nom généric (?/*)
Fraid a répondu à un(e) sujet de zebzeb dans AutoCAD 2020-2024
Bonjour, Pour rendre le calque 0 courant (setvar 'CLAYER "0") Pour dégeler l'ensemble des calques (vl-load-com) (defun degelay ( / n la doc) (setq doc (vla-get-activedocument (vlax-get-acad-object))) (repeat (setq n (vla-get-count (vla-get-layers doc))) (setq la (vla-item (vla-get-layers doc) (setq n (1- n)))) (if (= :vlax-true (vla-get-freeze la)) (vla-put-freeze la :vlax-false) ) ) );fin degelay Pour tout déverrouiller sur le même principe (defun develay ( / n la doc) (setq doc (vla-get-activedocument (vlax-get-acad-object))) (repeat (setq n (vla-get-count (vla-get-layers doc))) (setq la (vla-item (vla-get-layers doc) (setq n (1- n)))) (if (= :vlax-true (vla-get-lock la)) (vla-put-lock la :vlax-false) ) ) );fin develay Pour supprimer un calque il faut mieux qu'il soit vidé, et tu purge. -
Bonjour, Un petit lisp qui peut te rendre service. (defun c:idgn (/ path listdgn olddgnimportmode olddgnimportmax) (setq path (dirbox "Sélectionnez le dossier" "" 512) listdgn (vl-directory-files path "*.dgn" 1) olddgnimportmode (getvar 'DGNIMPORTMODE) olddgnimportmax (getvar 'DGNIMPORTMAX) ) (setvar 'DGNIMPORTMODE 1) (setvar 'DGNIMPORTMAX 0) (if listdgn (progn (foreach dgn listdgn (command "_-importdgn" (strcat path "/" dgn) "" "" "") ) (princ (strcat "\n " (itoa (length listdgn)) " dgn importés")) ) (princ "\n Aucun DGN dans le dossier." ) ) (setvar 'DGNIMPORTMODE olddgnimportmode) (setvar 'DGNIMPORTMAX olddgnimportmax) (command "_zoom" "_e") (princ) );fin idgn ;;; DirBox -Patrick_35- (defun DirBox (Message Chemin Drapeau / reep sh) (setq sh (vlax-create-object "Shell.Application")) (if (setq reep (vlax-invoke sh 'browseforfolder 0 Message Drapeau Chemin) ) (setq reep (vlax-get-property (vlax-get-property reep 'self) 'path)) (setq reep nil) ) (vlax-release-object sh) reep );fin DirBox
-
Bonjour, C'est du collector :(rires forts): Un site pour télécharger une version 2.X Bonne chance pour les installer sans remonter le temps.
-
Bonjour, Peut être un problème de place attribuée sur le serveur....
-
Bonjour, Il y a le logiciel Circé qui te permet de convertir des coordonnées. Evidemment il faut connaitre le système de départ. Tu convertis 2 points, et tu utilise l'outil aligner d'Autocad sur ses 2 points. Ce n'est pas dans les règles de l'art, pour cela il faut utilisé un logiciel comme Autocad Map.
-
Bonjour, Pour homogénéiser des plans, une charte graphique me semble l'idéal. Elle doit être accompagnée de gabarits, bibliothèque et moulinette de contrôle. En la rédigeant, le contenu de ton audit se feras tout seul.
-
Bonjour, Les fonctions déclarées avec DEFUN-Q sont des listes. Mais alors, comment faire la différence avec une liste qui n'est pas un DEFUN-Q? Je pensais y arriver avec DEFUN-Q-LIST-REF, mais cela retourne le contenu d'une liste si le symbole en est une. Je tourne en rond...
-
Bonjour, Merci pour ton partage, code intéressant. Par contre, je n'ai jamais rencontrer (de souvenir) de bug d'ordre des onglets. Peux tu nous dire dans quel cas, tu as des bugs (version d'Autocad, Index des onglets, nombres...?)
-
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.
-
Définition de bloc_Echelle annotative_Calque
Fraid a répondu à un(e) sujet de AdrienMEURET dans AutoCAD 2019
Bonjour, Pourquoi placer tout ton plan dans un bloc? Si c'est pour les côtes, c'est elles qui doivent être associative sans être dans un bloc. -
Définition de bloc_Echelle annotative_Calque
Fraid a répondu à un(e) sujet de AdrienMEURET dans AutoCAD 2019
Bonjour, Pour ce que tu cherche à faire, il me semble que des états de visibilités sont plus adaptés. Voir l' aide Tu crée un état par échelle. -
Par contre, je vient de faire un benchmark avec lambda Elapsed milliseconds / relative speed for 8192 iteration(s): ((LAMBDA (S) (VL-LIST->STRING (MAPCA...).....1139 / 1.36 <fastest> ((QUOTE ((S) (VL-LIST->STRING (MAPCA...).....1545 / 1 <slowest>
-
A toi aussi, et merci pour cette "petite" leçon d'utilisation du double QUOTE.
-
Gestionnaire des paramètres dans l'éditeur de bloc
Fraid a répondu à un(e) sujet de Steven dans AutoCAD 2019
Bonjour, Il y l'aide qui à l'air assez complète mais pas claire... Il peut être capricieux au lancement dans l'éditeur. La première fois j'ai du le lancer hors de l’éditeur de bloc en tapant PARAMETRES. Puis j'ouvre un bloc contenant au moins un paramètre. Il se place n'importe ou, du genre à coté des palettes, il faut trouver sa barre de déplacement, le glisser et hop, il apparaît. Cela doit être pratique quand on à beaucoup paramètres. Personnellement, j’évite de créer des usines à gaz dynamique, préférant plusieurs blocs dynamiques, mais apparemment il y a de quoi faire. -
encore un zone mystèrieuse... Merci
-
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...
-
Bonjour, Depuis le début d'Autolisp, je pense, il existe des fonctions non-documentées. Il suffit d'utiliser atoms-family pour en trouver un tas. et aller sur ce site. Si (_ver) répond "RTS v.5.0a0-21b", cela nous fait une belle jambe, autant quelle reste cachée... Par contre, XSTRCASE, la gardée secrète, c'est forcement volontaire depuis le temps!!!(met en majuscule en gardant les accents) On ne saura jamais si c'est parce qu’elle à été rajoutée, au dernier moment pour rattraper la boulette de STRCASE qui enlève les accents, ou que c'est tout simplement pour emm-BIP-der les non-anglophones. Absente et inutile pour les clones tel que ZWCAD (STRCASE n’enlève pas les accents ce qui occasionne d'autre problème...) je me demandais si elle étais présente sur Mac-Os? En tout cas, cet obscurantisme est agaçant et mal venu. Même l'aide n'as pas évoluée, il suffit de lire la description de COND pour rire et/ou pleurer. Un client me demande de rendre des routines de mise en conformités compatible Autocad, ZWCAD et Autocad Mac-os. C'est du sport quand on a pas de Mac...donc si une âme charitable possédant un Mac peux me dire si les fonctions non-documentées sont présentes, je la remercie d'avance.
