-
Compteur de contenus
6 374 -
Inscription
-
Dernière visite
-
Jours gagnés
30
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par Patrick_35
-
Salut Essaye avec (acet-plines-explode (ssget "x")) @+
-
Tu as un Gremlin chez toi ;) Pour ton problème, me réponse te sied ? @+
-
Pour insérer la même chose dans plusieurs dessins via un script @+
-
Assembler plusieurs dwg en 1 seul
Patrick_35 a répondu à un(e) sujet de Slowhand91 dans Routines LISP
Le lisp modifié mais non testé et à affiner (defun c:grf(/ bg dirbox doc hd ele lst obj rep x y) (defun dirbox(txt / cdl rep) (if (setq cdl (vlax-create-object "Shell.Application")) (progn (and (setq rep (vlax-invoke cdl 'browseforfolder 0 txt 512 "")) (setq rep (vlax-get-property (vlax-get-property rep 'self) 'path)) ) (vlax-release-object cdl) ) ) rep ) (vl-load-com) (setq doc (vla-get-activedocument (vlax-get-acad-object))) (vla-startundomark doc) (and (setq rep (dirbox "Sélectionnez le répertoire pour grouper les folios")) (setq lst (vl-directory-files rep "*.dwg" 1)) (progn (setq rep (vl-string-translate "\\" "/" rep) x 0.0 y 0.0 ) (or (eq (substr rep (strlen rep) 1) "/") (setq rep (strcat rep "/"))) (foreach ele (acad_strlsort lst) (setq obj (vla-insertblock (vla-get-modelspace doc) (vlax-3d-point (list x Y 0.0)) (findfile (strcat rep ele)) 1 1 1 0 ) ) (vla-getboundingbox obj 'bg 'hd) (setq bg (vlax-safearray->list bg) hd (vlax-safearray->list hd) ) (setq x (+ x (- (car hd) (car bg)) 10.0)) (vl-catch-all-apply 'vla-explode (list obj)) (vla-delete obj) ) (vla-purgeall doc) ) ) (vla-endundomark doc) (princ) ) @+ -
Salut En utilisant un bloc et en le décomposant ps : (command "_.*insert" ...) @+
-
Salut On peut très bien rendre un calque inactif courant et même dessiner dessus (en objet), ce qui n'est pas le cas d'un calque gelé. @+
-
Salut Je doute que cela soit le résultat escompté mais répond à ta demande. (vl-remove-if-not '(lambda(x)(eq (type (eval x)) 'SUBR))(atoms-family 0)) Une autre solution pour retrouver tes petits. Au lancement d'Autocad, tu fais (setq liste (atoms-family 0)) Tu lances tes diverses routines et pour voir ce qui a été ajouté. (vl-remove-if '(lambda(x)(member x liste))(atoms-family 0)) @+
-
Salut Oui, sauf que je n'avais pas évolué et j'étais resté avec la commande classique réseau. Celle qui n'a plus de boite de dialogues. @+
-
stripmtext dans les attributs de blocs
Patrick_35 a répondu à un(e) sujet de x_all dans AutoCAD 2013
Le lisp modifié avec un regen incorporé --> V2.02 Rb.lsp -
Salut Ben oui, encore une ;) Essaye avec ATTREQ @+
-
Ah oui, je suis resté avec la commande reseau. Merci @+
-
@JUJUZAZA Elle a disparue depuis la 2013. Ce n'est pas ce qu'a fait de mieux Autodesk. @Turtle Avec le variable HPDLGMODE @+
-
stripmtext dans les attributs de blocs
Patrick_35 a répondu à un(e) sujet de x_all dans AutoCAD 2013
Bonjour Merci de tes tests VDH_Bruno Avec le fichier test de Lecrabe, le test 1 fonctionne mais prend en compte l'espace objet. Avec le test 2, cela ne fonctionne plus (pour l'affichage) mais évite l'espace objet. (defun c:test1() (setq doc (vla-get-activedocument (vlax-get-acad-object))) (vla-startundomark doc) (vlax-for bl (vla-get-blocks doc) (vlax-for ent bl (vla-put-layer ent "0") (vla-put-color ent 0) (vla-put-linetype ent "ByBlock") (vla-put-lineweight ent -2) ) ) (vla-endundomark doc) (princ) ) (defun c:test2() (setq doc (vla-get-activedocument (vlax-get-acad-object))) (vla-startundomark doc) (vlax-for bl (vla-get-blocks doc) (and (eq (vla-get-islayout bl) :vlax-false) (vlax-for ent bl (vla-put-layer ent "0") (vla-put-color ent 0) (vla-put-linetype ent "ByBlock") (vla-put-lineweight ent -2) ) ) ) (vla-endundomark doc) (princ) ) C'est là ou je bloque/bug ;) Va comprendre. C'est aussi ce qui nous fait avancer, rendre les lisps le plus fiable possible. @+ -
Salut (defun c:commentblk () (setq comment "commentaire") (vlax-for b (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object))) (and (eq (vla-get-islayout B) :vlax-false) (progn (setq n (vla-get-name B)) (vla-put-comments b comment) (print n) ) ) ) (princ) ) @+
-
stripmtext dans les attributs de blocs
Patrick_35 a répondu à un(e) sujet de x_all dans AutoCAD 2013
Salut @lecrabe Ce n'est pas ta carte graphique. J'ai exactement le même résultat que toi. Je me suis dit que c'est le vlisp qui passe mal. J'ai donc refais le lisp avec les codes dxf --> Idem. Je me suis dit que c'est la demande de sélection qui pose problème, donc je la supprime pour voir --> Idem. Grumf, commence à me titiller ce non affichage. Avec l'affichage de la demande de sélection ? --> Non. Je test avec uniquement le forçage des valeurs en vlisp --> Ok. Après mouts recherches et tests, il se trouve que c'est en testant si le bloc trouvé n'est pas un espace papier ou objet ou s'il a été choisis que l'affichage ne se fait pas. Je cherche à comprendre... @x_all Tu as uniquement chargé le lisp. Pour l'appeler depuis un lisp, tu fais (c:rb) @+ -
stripmtext dans les attributs de blocs
Patrick_35 a répondu à un(e) sujet de x_all dans AutoCAD 2013
C'est surprennant, car sur ma 2014 tout fonctionne correctement au niveau de l'affichage. Et sur un autocad classique ? En attendant, j'ai ajouté une fonctionnalité mais qui ralentit le résultat (v2.01) @+ Rb.lsp -
stripmtext dans les attributs de blocs
Patrick_35 a répondu à un(e) sujet de x_all dans AutoCAD 2013
A cause de la fonction substr. Si la variable app à la même longueur que la variable nom_lisp, alors la formule (- (strlen app) (strlen nom_lisp)) retourne 0, ce que ne peut pas supporter la fonction substr qui elle commence toujours à 1. La fonctionnalité que tu regardes est prévu pour afficher par exemple RB.LSP Chargé......Tapez RB pour l'éxecuter. quand tu utilises la fonction lisp load au clavier (ou glisser/déposer à la souris ou encore avec _appload) et afficher ...RB chargé. quand tu utilises les fonctions autoload (chargement/lancement automatique de lisps) @+ -
stripmtext dans les attributs de blocs
Patrick_35 a répondu à un(e) sujet de x_all dans AutoCAD 2013
Lors de la sélection, tu valides pour faire tout, sinon tu choisis direcement à l'écran. ps : le (vl-load-com) était déjà intégré. @+ -
stripmtext dans les attributs de blocs
Patrick_35 a répondu à un(e) sujet de x_all dans AutoCAD 2013
Hello Grand Maître d'Autocad Ce n'est pas le plus compliqué Il faut réécrire le lisp De rien, c'est fait (v2.00) Rb.lsp -
stripmtext dans les attributs de blocs
Patrick_35 a répondu à un(e) sujet de x_all dans AutoCAD 2013
Salut Normal, c'est juste la gestion des erreurs qui a été ajoutée. @+ -
Salut Il est disponible Ici @+
-
[Résolu] Besoin d'aide pour sortir "proprement" d'une fonction
Patrick_35 a répondu à un(e) sujet de Bortch59 dans Pour aller plus loin en LISP
Salut Par exemple (defun AI_EDIT_ALT (/) (setq ALT (GetDicoPerso "Altimétrie")) (setq AiReseau (getreal "\nNouvelle Altimétrie (m): ")) ; (setq AncText "AncText") (while (setq sel (entsel "\nSélectionnez le texte à éditer: ")) (setq AncText (entget (car sel))) (setq EditText (strcat (substr (cdr (assoc 1 AncText)) 1 (- (strlen (cdr (assoc 1 AncText))) 16) ) (strcat (rtos AiReseau 2 2) "m / " (rtos (+ AiReseau ALT) 2 2) "NGF" ) ) ) (entmod (subst (cons 1 EditText) (assoc 1 AncText) AncText)) ) ) ps : non testé @+ -
même pas peur (compris=
Patrick_35 a répondu à un(e) sujet de Big666 dans Pour aller plus loin en LISP
Pas tout à fait, le if regarde une valeur non nil Par exemple (if (setq a 45)(alert"Oui")(alert "Non")) @+ -
même pas peur (compris=
Patrick_35 a répondu à un(e) sujet de Big666 dans Pour aller plus loin en LISP
Salut Cela peut-être un peu plus subtile que ça Par exemple, on peut se servir du or comme condition "tant que" pour atteindre une fonction et ne pas attendre forcément une valeur en retour. (or nil nil nil (alert "Ma Fonction")) En reprennant mon exemple et qui ne lance pas la boite d'alerte (or nil T nil (alert "Ma Fonction")) La même chose est faisable avec le AND (logique inversé au or --> non nil) ps : (gile) aime bien ce genre de subtilité mais pas facile à aborder au début. pps : dans le message #4, tu as (if (not nom)(setq nom "")) peut être traduit par (or nom (setq nom "")) @+ -
ordinateur alergique à windows?
Patrick_35 a répondu à un(e) sujet de x_all dans Windows trucs et astuces
Salut Rien n'empêche avant de repartitionner le DD de regarder dans le bios si la détection automatique du DD est activée. Un petit rappel si la commande sous dos existe encore est d'utiliser sys. @+
