-
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
-
Ben non. Pour éviter le message, j'ai ajouté un control des erreurs (defun c:efo(/ doc) (setq doc (vla-get-activedocument (vlax-get-acad-object))) (vla-startundomark doc) (vlax-for lay (vla-get-layouts doc) (vl-catch-all-apply 'vla-delete (list lay)) ) (vla-endundomark doc) (princ) ) Ps : J'avais testé le code en EP et et n'ai pas eu ce message d'erreur. @+
-
Salut Comme tu utilises JAV, un lisp pour effacer toutes les présentations (defun c:efo(/ doc) (setq doc (vla-get-activedocument (vlax-get-acad-object))) (vla-startundomark doc) (vlax-for lay (vla-get-layouts doc) (vla-delete lay) ) (vla-endundomark doc) (princ) ) Ps : Dans jav, tu as une option qui permet de lancer d'autres applications comme le lisp ci-dessus. Cela veut aussi dire que tu peux y inclure tes macros traduites sous forme de lisp Par exemple : Mettre les unités de dessin en mètres (peu importe l'échelle générale) >> résolu, ^C^C-units;2; puis ^C^Cinsunits;6; (setvar "lunits" 2) (setvar "insunits" 6) Pps : Pour tes images, regarde la commande -image @+
-
Salut Pour automatiser mes tâches, je fais mes propres lisps et je n'ai personnellement (c'est peut-être un tort) jamais utilisé cet outil. L'avantage du lisp est que l'on peut envisager toutes les solutions possibles et réagir en conséquence, ce qui n'est pas le cas de l'enregistreur d'actions. On a beau essayer de standardiser les dessins, il y aura toujours un cas qui ne rentre pas dans les cases. @+
-
Salut Lecrabe 1) Oui, c'est la dernière version. 2) Je n'avais jamais pensé à cette possibilité et oui, c'est normal que tu ne puisses pas faire un copier/coller. Tu peux néanmoins charger le lisp et faire -jav pour éviter les boites de dialogues (les options de jav sont conservées). 3) Ben, ce n'est pas du tout prévu pour cela. Néanmoins, tu peux lancer jav normalement et ensuite faire undo pour revenir à l'état précédent. 4) De rien pour le partage. En général, c'est des outils qui me sont utiles (sauf quand il y a des techniques à rechercher et pour un intérêt purement intellectuel ou que ça peut dépanner et que cela ne me prends pas plus de 5 mn). Après une période d'utilisation et de tests, si ça peut profiter à d'autres, je partage. @+
-
Salut Le fichier après un petit coup de jav @+
-
Et les switchs ? Voir aussi avec si ça ne vient pas du FAI ? @+
-
Salut C'est ton réseau passif qui doit être ancien (les câbles qui partent de la baie info vers les prises RJ45). L'idéal seait de refaire un nouveau câblage ou encore d'installer des antennes wifi pour un moindre cout. Pour info, on est actuellement en catégorie 7 @+
-
Présentation en N&B alors que le plan est en couleur
Patrick_35 a répondu à un(e) sujet de Titi95 dans AutoCAD 2015
Cela permet de corriger d'éventuels erreurs dans le dessin et ainsi corriger ton problème. Je viens déjà d'en touver une :D http://www.deguisement-magic.com/media/catalog/product/cache/2/image/9df78eab33525d08d6e5fb8d27136e95/c/h/chapeau-humoristique-crabe-rigolo-60223.jpg @+ -
Présentation en N&B alors que le plan est en couleur
Patrick_35 a répondu à un(e) sujet de Titi95 dans AutoCAD 2015
Alors je pense qu'un _audit ne serait pas surperflu @+ -
Présentation en N&B alors que le plan est en couleur
Patrick_35 a répondu à un(e) sujet de Titi95 dans AutoCAD 2015
Salut Gestionnaire de mise en page --> Choix de la présentation --> Modifier --> Décocher Afficher les stytles de tracé Ou avec ce lisp qui fait la même chose @+ Ast.lsp -
Bonjour Un petit lisp sur la base d'un réacteur qui déplace les objets du calque 0 ves le calque "Calque_0" Le réacteur (defun patrick:sauvegarde(rea data / cal doc sel) (and (ssget "x" (list (cons 8 "0") (cons 67 0))) (progn (alert (strcat "Déplacement des objets du calque 0\nVers le calque \"" (setq cal (vlr-data rea)) "\"")) (setq doc (vla-get-activedocument (vlax-get-acad-object))) (or (tblsearch "layer" cal) (vla-add (vla-get-layers doc) cal) ) (vlax-for ent (setq sel (vla-get-activeselectionset doc)) (vl-catch-all-apply 'vla-put-layer (list ent cal)) ) (vla-delete sel) ) ) ) Pour lancer le réacteur (setq reacteur_sauve (vlr-dwg-reactor "Calque_0" (list (cons :vlr-beginsave (function patrick:sauvegarde))))) Pour effacer le réacteur (vlr-remove reacteur_sauve) @+
-
Salut Et toi qui te dis une buse en lisp ;) Tu me semble "prêt" :D @+
-
macro ouverture fichier
Patrick_35 a répondu à un(e) sujet de Demixav dans Personnalisation, macros, DIESEL
Salut Et avec la variable TASKBAR ? @+ -
Salut Le lisp modifié @+
-
Ah oui, c'est des attributs sur des blocs dynamiques. Le lisp ne fonctionne pas sur ce type de bloc actuellement Je regarde ça dès que j'ai un moment. @+
-
Salut Tu as juste un T de trop ;) Voir même la valeur des attributs. Pour y remedier, tu as SYN @+
-
Salut (setq js (ssget "x" (list (cons 0 "*TEXT") (cons 1 "S:*")))) @+
-
Alphanumérique --> Numérique
Patrick_35 a répondu à un(e) sujet de dfbiagio dans LISP et Visual LISP
Salut Tu as aussi READ Son avantage est qu'il fonctionne aussi bien sur des entiers que des réels (type (read "1.23")) (type (read "123")) @+ -
Salut (defun c:ang0(/ nombl blo doc nom sel) (defun nombl(bl) (if (vlax-property-available-p bl 'effectivename) (vla-get-effectivename bl) (vla-get-name bl) ) ) (setq doc (vla-get-activedocument (vlax-get-acad-object))) (vla-startundomark doc) (and (setq blo (entsel)) (setq nom (nombl (vlax-ename->vla-object (car blo)))) (ssget "x" (list (cons 0 "insert") (cons 66 1) (cons 2 (strcat "`**," nom)))) (progn (vlax-for blo (setq sel (vla-get-activeselectionset doc)) (and (eq (nombl blo) nom) (mapcar '(lambda(x)(vla-put-rotation x 0)) (vlax-invoke blo 'getattributes)) ) ) (vla-delete sel) ) ) (vla-endundomark doc) (princ) ) @+
-
Salut Tu peux modifier le bloc de base et ensuite, clic droit sur le bloc dynamique -> reinitialiser le bloc et cela autant de fois que nécessaire. Si cette solution te conviens, et éviter n clics droit pour traiter tous les blocs dans le dessin avec le lisp de lee-mac Tu remplaces (defun LM:AddObjectstoBlock ( doc block ss / lst mat ) (setq lst (LM:ss->vla ss) mat (LM:Ref->Def block) mat (vlax-tmatrix (append (mapcar 'append (car mat) (mapcar 'list (cadr mat))) '((0. 0. 0. 1.)))) ) (foreach obj lst (vla-transformby obj mat)) (vla-CopyObjects doc (LM:SafearrayVariant vlax-vbobject lst) (vla-item (vla-get-Blocks doc) (cdr (assoc 2 (entget block)))) ) (foreach obj lst (vla-delete obj)) (vla-regen doc acAllViewports) ) par (defun LM:AddObjectstoBlock ( doc block ss / ele lst mat sel nom nombl) (defun nombl(bl) (if (vlax-property-available-p bl 'effectivename) (vla-get-effectivename bl) (vla-get-name bl) ) ) (setq lst (LM:ss->vla ss) mat (LM:Ref->Def block) mat (vlax-tmatrix (append (mapcar 'append (car mat) (mapcar 'list (cadr mat))) '((0. 0. 0. 1.)))) ) (foreach obj lst (vla-transformby obj mat)) (vla-CopyObjects doc (LM:SafearrayVariant vlax-vbobject lst) (vla-item (vla-get-Blocks doc) (setq nom (nombl (vlax-ename->vla-object block)))) ) (and (ssget "x" (list (cons 0 "insert"))) (progn (vlax-for ele (setq sel (vla-get-activeselectionset doc)) (and (eq (nombl ele) nom) (vla-resetblock ele) ) ) (vla-delete sel) ) ) (foreach obj lst (vla-delete obj)) (vla-regen doc acAllViewports) ) @+
-
Salut Tu n'es pas obligé d'utiliser ObjectDbx. Tu peux aussi travailler de cette manière. C'est plus long et moins propre, mais cela fonctionne avec les dxf et évite les conversions. (setq doc (vla-open (vla-get-documents (vlax-get-acad-object)) "Mon_fichier.dxf")) @+
-
Salut 1) Un fichier dxf est un fichier texte. Donc il faut le traiter en tant que tel et se lancer à fond dans les codes dxf 2) Tu n'as pas besoin d'une doc spécifique ObjectDbx car on utilise (à peu de chose près) les mêmes méthodes, les mêmes objets que IAcadApplication La différence se fait surtout sur la sélection des objets (possible uniquement sur le dessin courant) 3) Je ne pense pas que la pérennité d'objectdbx soit remise en cause, mais je ne suis pas dans le secret des dieux. @+
-
Zlib fichier cryptés STB
Patrick_35 a répondu à un(e) sujet de tyrese69_ dans Pour aller plus loin en LISP
Salut Merci pour le partage. Si on pouvait voir le code pour éventuellement le traduire en lisp. @+ -
Masquer les Attributs sélectionnés
Patrick_35 a répondu à un(e) sujet de zebzeb dans LISP et Visual LISP
Salut Tu as bien fait un regen après l'utilisation du lisp comme indiqué à la fin du message #4 ? @+ -
Masquer les Attributs sélectionnés
Patrick_35 a répondu à un(e) sujet de zebzeb dans LISP et Visual LISP
Si, ca fonctionne car j'ai testé sur un dessin en xref contenant des attributs et ils sont bien invisible. Par contre, si on sauvegarde et qu'on réouvre le dessin, ils redeviennent visible. Il est possible de faire quelque chose de plus poussé pour conserver dans le dessin ce qui a été rendu invisible dans les xrefs, mais en rentre dans une appli beaucoup plus complexe que mes 3 lignes. Oui, c'est faisable comme (defun c:gat(/ doc ent ele) (vl-load-com) (setq doc (vla-get-activedocument (vlax-get-acad-object))) (vla-startundomark doc) (while (setq ent (entsel)) (and (setq ent (vlax-ename->vla-object (car ent))) (eq (vla-get-objectname ent) "AcDbBlockReference") (vlax-property-available-p ent 'path) (progn (vlax-for ele (vla-item (vla-get-blocks doc) (vla-get-name ent)) (and (eq (vla-get-objectname ele) "AcDbBlockReference") (eq (vla-get-hasattributes ele) :vlax-true) (mapcar '(lambda(x) (vla-put-visible x :vlax-false)) (vlax-invoke ele 'getattributes)) ) ) (vla-regen doc acallviewports) ) ) ) (vla-endundomark doc) (princ) ) @+
