Aller au contenu

eklundh80

Membres
  • Compteur de contenus

    9
  • Inscription

  • Dernière visite

  • Jours gagnés

    1

eklundh80 a gagné pour la dernière fois le 26 janvier 2021

eklundh80 a eu le contenu le plus aimé !

eklundh80's Achievements

Newbie

Newbie (1/14)

  • Conversation Starter Rare
  • First Post Rare
  • Week One Done Rare
  • One Month Later Rare
  • One Year In Rare

Recent Badges

1

Réputation sur la communauté

  1. Bonjour, Si cela peut aider j'avais fait un bloc pour le recouvrement des TS (répartition d'ou les 240), à adapter pour le sens porteur (600). (voir Wbloc en PJ) Cela peut éviter de passer par un Lisp, ou mieux utiliser le Lisp et le commander en Lisp (gestion de la longueur et de la visibilité selon le recouvrement, ..) TS rec1&2.dwg
  2. Bonjour, Voici un lisp qui affiche dans la ligne de commande le nom du scu si présent, à adapter selon les besoins pour entrer la valeur dans un texte. Il suffit de sélectionner la fenêtre. (defun c:ucs_viewport ( / vp a b) (if (and (setq vp (car (entsel "Choix de la fenêtre"))) (= (cdr (assoc 0 (entget vp))) "VIEWPORT") (setq a (assoc 345 (entget vp))) (setq b (assoc 2 (entget (cdr a)))) ) (cdr b) (princ) ) )
  3. Je me sers également de la routine de Didier (merci au passage pour ton site qui m'a servi et me sert encore a mieux comprendre le langage) avec le lisp suivant pour changer de lisp (j'ai toujours la variable ucsfollow à 1 pour que d'autres puissent basculer les scu avec l'icone). Cela me permet de créer un menu déroulant reprenant la liste des mes scu et de valider par le chiffre devant le nom du scu. La bascule me permettant de rester au même endroit avec le même zoom. ;;changer le scu (defun c:90 ( / *error* dyn ucs lst i lst2 a b c h ) (defun *error* (msg) (if dyn (setvar "DYNMODE" dyn)) (if ucs (setvar "UCSFOLLOW" ucs)) (if (or (= msg "Fonction annulée") (= msg "quitter / sortir abandon") ) (princ) (princ (strcat "\nErreur: " msg)) ) ) (vl-load-com);charge le support ActiveX Vlisp (setq dyn (getvar "DYNMODE") ucs (getvar "UCSFOLLOW") ) (setvar "DYNMODE" 3) (setvar "UCSFOLLOW" 1) (vlax-for n (vla-get-usercoordinatesystems (vla-get-activedocument (vlax-get-acad-object))) (setq lst (append lst (list (vla-get-name n)))) ) (setq lst (acad_strlsort (append (list "_SCG") lst)) c (trans (getvar "viewctr") 1 0) ;;stocker centre de la vue en SCG h (getvar "viewsize") ;;stocker hauteur d'affichage i 0) (foreach n lst (setq n (strcat (itoa (setq i (1+ i))) " " n);; concatène chiffre " " et nom du scu lst2 (cons n lst2);; crée la liste avec chiffre en préfixe ) );;fin de foreach (setq lst2 (reverse lst2)) (initget 6) (or (setq a (getint (strcat "choix du scu" " [" (lst2str lst2 "/") "] <" (nth 0 lst2) ">"))) (setq a (atoi;;convertit en entier (substr (nth 0 lst2) 1;;début de la chaîne (vl-string-position (ascii " ") (nth 0 lst2));;position de " " ))) ) (foreach n lst2 (if (= a;;si chiffre = (atoi (substr n 1 (vl-string-position (ascii " ") n))));;chiffre de l'élément (setq b (substr n (+ 2 (vl-string-position (ascii " ") n)));;crée le nom du calque choisi ))) (and b (if (= b "_SCG") (progn (command "_ucs" "_world"); passer au scg (command "_ZOOM" "_C" c h) ) (progn (command "_ucs" "_Named" "R" b) (command "_ZOOM" "_C" (trans c 0 1) h) ) ) ) (setvar "DYNMODE" dyn) (setvar "UCSFOLLOW" ucs) (princ) )
  4. Bonjour, Après une modification de bloc si ucsfollow est à 1, la fermeture de l'éditeur de bloc entraîne un retour au point 0.0. Problème connu d'Autodesk: zoom avant après bclose Voici un lisp qui m'a permis d'utiliser les réacteurs : Si ucsfollow à 1 = mise à 0 de ucsfollow automatique à l'ouverture de l'éditeur de bloc et mise à 1 de ucsfollow à la fermeture de l'éditeur de bloc. (defun c:ucs1 () (kd:ucsfollow T)) ;;activation manuelle (defun c:ucs0 () (kd:ucsfollow nil)) ;;désactivation manuelle (defun kd:ucsfollow ( on ) ;;nettoyage des réacteurs (foreach grp (vlr-reactors :vlr-command-reactor) (foreach obj (cdr grp) (if (= "kd:ucsfollow" (vlr-data obj)) (vlr-remove obj) ) ) ) (or (and on (vlr-command-reactor "kd:ucsfollow" '( (:vlr-commandwillstart . kd:ucs_off) (:vlr-commandended . kd:ucs_on) (:vlr-commandcancelled . kd:ucs_on) (:vlr-commandfailed . kd:ucs_on) ) ) (princ "\nreacteur ucsfollow sur bedit actif") ) (princ "\nreacteur ucsfollow sur bedit inactif") ) (princ) ) ;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;; (defun kd:ucs_off (reac arg ) (if (and (wcmatch (car arg) "BEDIT,-BEDIT,BCLOSE") (= 1 (getvar "ucsfollow")) ) (progn (setq *ucsfollow* T) (setvar "ucsfollow" 0) ) ) (princ) ) ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; (defun kd:ucs_on (reac arg) (if (and *ucsfollow* (= (getvar "UCSFOLLOW") 0) (wcmatch (car arg) "BEDIT,-BEDIT,BCLOSE") ) (setvar "UCSFOLLOW" 1) ) (setq *ucsfollow* nil) (princ) ) ;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;execution auto au lancement ;;à intégrer à acaddoc si existe, ;|((lambda ( ) (vl-load-com) (if (= 'list (type s::startup)) (if (not (member '(kd:ucsfollow t) s::startup)) (setq s::startup (append s::startup '((kd:ucsfollow t)))) ) (defun-q s::startup nil (kd:ucsfollow t)) ) (princ) ) )|;
  5. eklundh80

    CTB et présentations

    Bonjour, Voici un lisp pour afficher le style de tracé dans toutes les présentations ;;affiche le style de tracé dans toutes les présentations (defun c:actb ( / *error*) (defun *error* (msg) (if (or (= msg "Fonction annulée") (= msg "quitter / sortir abandon") ) (princ) (princ (strcat "\nErreur: " msg)) ) ) (vl-load-com) (vlax-for l (vla-get-layouts (vla-get-activedocument (vlax-get-acad-object))) (or (= (vla-get-name l) "Model") (vla-put-showplotStyles l :vlax-true) ) ) (vla-Regen (vla-get-activedocument (vlax-get-acad-object)) acAllViewports) (princ) )
  6. Bonjour, Et en utilisant le lisp de Lee Mac Nburst?
  7. eklundh80

    xRef relatif<->absolu

    Salut, voici un lisp avec une routine de Lee Mac pour remettre les chemins relatifs en absolu: (defun c:fullxref ( / etat) (defun *error* (msg) (if (or (= msg "Fonction annulée") (= msg "quitter / sortir abandon") ) (princ) (princ (strcat "\nErreur: " msg)) ) ) (vl-load-com) (vlax-for b (vla-get-blocks (vla-get-ActiveDocument (vlax-get-acad-object))) (if (and (= (vla-get-isxref B) :vlax-true) ;; bloc = xref (wcmatch (vla-get-path B) ".*") ;; chemin commence par . ) (progn (setq etat (logand 32 (cdr (assoc 70 (tblsearch "block" (vla-get-name B)))))) ;;enregistre l'état de chargement (if (findfile (LM:XRef:Relative->Full (vl-filename-directory (getvar 'dwgprefix)) (vla-get-path B))) ;;si chemin existe (progn (vla-put-path b (LM:XRef:Relative->Full (vl-filename-directory (getvar 'dwgprefix)) (vla-get-path B)));; modifie le chemin de l'xref (vla-reload B) ;;recharge l'xref (if (/= etat 32) ;;si état différent de 32 (chargé) (vla-unload B) ;;décharger l'xref ) ;;fin de if ) ;;fin de progn ) ;;if findfile ) ;;progn ) ;;fin de if ) ;;fin de vlax (princ) ) ;;-------------=={ Relative Path to Full Path }==-------------;; ;; ;; ;; Converts a Relative XRef path to a Full Path. ;; ;;------------------------------------------------------------;; ;; Author: Lee Mac, Copyright © 2011 - www.lee-mac.com ;; ;;------------------------------------------------------------;; ;; Arguments: ;; ;; dir - Directory of the Drawing in which the Xref resides ;; ;; path - Relative Xref Path ;; ;;------------------------------------------------------------;; ;; Returns: Full XRef Path ;; ;;------------------------------------------------------------;; (defun LM:XRef:Relative->Full ( dir path ) (setq dir (vl-string-right-trim "\\" dir)) (cond ( (eq ".." (substr path 1 2)) (LM:XRef:Relative->Full (substr dir 1 (vl-string-position 92 dir nil t)) (substr path 4) ) ) ( (eq "." (substr path 1 1)) (strcat dir (substr path 2)) ) ( (strcat dir "\\" path)) ) )
  8. Salut, Merci pour ces routines. Cela fonctionne comme le souhaitait l'auteur de ce post. Je suis sur Autocad 2016. Mais je pensais que cela créait une polyligne avec le motif de l'isolant, Je me suis dit: si je mettais en pratique les explications sur DA-Code (il est super ce site, merci Didier) "bulge, vlax-curve" mais en cherchant sur le net je suis tombé sur ce lien qui semble bien fonctionné InsulBattPoly.zip Merci lecrabe pour le partage des routines
  9. Salut à tous, est-ce que quelqu'un aurait ces 4 routines en stock ? (liens hs) J'ai fait un bloc dynamique avec une option réseau, mais ce n'est pas très concluant wbloc isolation
×
×
  • 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é