-
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
-
Masquer les Attributs sélectionnés
Patrick_35 a répondu à un(e) sujet de zebzeb dans LISP et Visual LISP
Une version qui rends invisible les attributs, sur xref ou pas et sans tenir compte de la variable attmode (defun c:gat(/ calque doc ent) (vl-load-com) (setq doc (vla-get-activedocument (vlax-get-acad-object))) (vla-startundomark doc) (while (setq ent (nentsel)) (and (setq ent (vlax-ename->vla-object (car ent))) (eq (vla-get-objectname ent) "AcDbAttribute") (vla-put-visible ent :vlax-false) ) ) (vla-endundomark doc) (princ) ) Ne pas oublier de faire un regen à la fin. @+ -
Masquer les Attributs sélectionnés
Patrick_35 a répondu à un(e) sujet de zebzeb dans LISP et Visual LISP
Salut Et pourquoi ne pas mettre ces attributs dans un calque gelé ? Par exemple (defun c:gat(/ calque doc ent) (vl-load-com) (setq calque "Mon_Calque_à_Geler") (setq doc (vla-get-activedocument (vlax-get-acad-object))) (vla-startundomark doc) (while (setq ent (nentsel)) (and (setq ent (vlax-ename->vla-object (car ent))) (eq (vla-get-objectname ent) "AcDbAttribute") (vla-put-layer ent calque) ) ) (vla-endundomark doc) (princ) ) Ps : Tu as cette valeur à adapter à ton besoin "Mon_Calque_à_Geler" @+ -
Zlib fichier cryptés STB
Patrick_35 a répondu à un(e) sujet de tyrese69_ dans Pour aller plus loin en LISP
Salut Pour la simple raison que l'on pas obligé de passer par un éditeur et qu'on ne maitrise pas son évolution, ce qui n'est pas le cas d'une DLL fourni par Windows. ps : j'ai aussi trouvé un zlib.dll dans le répertoire d'autocad (C:\Program Files\Autodesk\AutoCAD 2014\Acade\Setup\fr-FR\Setup\Setup) et une trace dans les registres avec ce chemin (dont la logique reste à trouver) @+ -
Salut Lecrabe Ta variable sert à afficher ou pas la boite de dialogue des fichiers. SF.Designer Regarde la variable CMDECHO @+
-
Zlib fichier cryptés STB
Patrick_35 a répondu à un(e) sujet de tyrese69_ dans Pour aller plus loin en LISP
Salut C'est amusant car je suis en train de regarder pour modifier des pc3 et on m'a renvoyé sur ce sujet qui correspond à ta demande et à la mienne car les pc3 sont fait de la même manière que les stb (d'après ce que l'on m'a indiqué). j'ai vu qu'il y a une dll à télécharger, mais je souhaite l'éviter pour l'instant. Donc, je continue de chercher pour ma problèmatique, mais au coup par coup. @+ -
Filtre de calques - Ne pas faire apparaitre certains calques
Patrick_35 a répondu à un(e) sujet de La Lozère dans AutoCAD 2015
Salut Tu peux imbriquer des filtres de calques. Par exemple sur le 1er niveau, tu exclues (avec le ~) les calques indésirables. Clic droit sur ce filtre + nouveau filtre dans lequel tu choisis ceux que tu veux faire apparaitre. @+ -
Renommer plusieurs blocs
Patrick_35 a répondu à un(e) sujet de zebzeb dans Pour aller plus loin en LISP
Une liste est un ensemble d'élements (chiffre, objet, ...) La fonction mapcar est une boucle qui traite une, deux voir plus de listes dans une fonction Par exemple, je souhaite faire une addition des chiffres de deux listes '(1 2 3 4) et '(4 5 6 7) (mapcar '+ '(1 2 3 4) '(4 5 6 7)) --> (5 7 9 11) (mapcar '+ '(1 2 3 4) '(4 5 6 7) '(8 9 10 11)) --> (13 16 19 22) L'avantage dans ton cas de procéder avec le mapcar, c'est que c'est plus visuel, plus facile à manipuler comme listes @+ -
Renommer plusieurs blocs
Patrick_35 a répondu à un(e) sujet de zebzeb dans Pour aller plus loin en LISP
Salut Tu pourrais te simplifier la vie Par exemple (mapcar '(lambda(a B) (and (tblsearch "block" a) (vla-put-name (vla-item (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object) ) ) a ) b ) ) ) '("LU9451" "LU3902") '("LU-TYP-01" "LU-TYP-02") ) Ou encore, sans tblsearch (mapcar '(lambda(a B) (vl-catch-all-apply 'vla-put-name (list (vl-catch-all-apply 'vla-item (list (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object) ) ) a ) ) b ) ) ) '("LU9451" "LU3902") '("LU-TYP-01" "LU-TYP-02") ) ps : je te laisse méditer le code et répondrai si besoin. @+ -
On peut intégrer une tolérance par exemple (equal (cadar a) (cadar B) 0.0001) à la place de (eq (cadar a) (cadar B)) (equal 0.00011 0.00012 0.00001) --> T (equal 0.00011 0.00012 0.000001) --> Nil @+
-
Si tu as trouvé, et bien c'est parfait :D ps : la mise en page est automatique, c'est ce qu'indique tous les (vla-put-... lay ...) après vla-refreshplotdeviceinfo @+
-
Alors l'erreur est ailleurs. Pour info, si on interroge la variable acWindow sur Autocad, on a la réponse 4. La ligne est là pour indiquer que l'on choisit une fenêtre comme zone de tracé. Le lisp recherche un bloc nommé "feuilledereperage3" et fait autant d'impression via une fenêtre (d'où la ligne avec acWindow) Si ça continue de bloquer, donne-moi un exemple @+
-
Salut Et si tu remplaces acWindow par 4 ? @+
-
Créer une entité complexe avec entmake
Patrick_35 a répondu à un sujet dans Pour aller plus loin en LISP
Salut Une liste des objets avec l'indication du minimum requis pour les codes dxf Provenant de ce sujet @+ Entmake Min Codes CAB.LSP -
Salut N'ayant pas 2015, difficile de juger. D'autant que cela fonctionne sur les autres versions. Il faudrait tester le lisp ligne par ligne pour trouver ce qui coince. @+
-
Salut Je n'utilise pas les rubans, mais à l'ancienne avec les flèches ? @+
-
[résolu]Trouver sa présentation quand on a 50 à 60 présentations
Patrick_35 a répondu à un(e) sujet de Circus dans AutoCAD 2014
Salut Avec FOG ? @+ -
Salut Le principal est que tu sois content de ton lisp Comme tu demandes quelques améliorations ;) 1) Pas besoin de redéfinir filedia car c'est inutile en lisp ou en script. Ce n'est pas comme quand on teste sur la ligne de commande. 2) Tu peux simplifier (if (not ...)) par (or ...) car la valeur recherchée est nil et l'astuce avec le or est qu'il va évaluer le 1er argument. s'il est nil, il va évaluer le suivant et etc... Par exemple (or nil nil nil nil (alert "Test réussi")) fonctionne Par exemple (or nil T nil nil (alert "Test réussi")) s'arrêtera à la 2em évaluation Par exemple (or (= (getvar "OSMODE") 1024) (setvar "OSMODE" 1024)) 3) Si tu souhaites savoir quel est la fonction la plus rapide (command, entmake, etc...), utilise le Benchmark @+
-
Présentation et petite question autoload
Patrick_35 a répondu à un(e) sujet de SF.Designer dans LISP et Visual LISP
Un quote devant une fonction indique qu'il ne faut pas évaluer la fonction Je t'invite à lire ce sujet Je t'ai juste donné des pistes où chercher. Pour savoir si un chemin est existant, tu peux tester avec (vl-string-search "ce chemin" "et oui, ce chemin existe") Ou mieux, avec wcmatch qui offre énormément de possibilités (wcmatch "et oui, ce chemin existe" "*ce chemin*") ps : il ne faut pas hésiter à poser des questions. Comme le disais Sacha Guitry "Le peu que je sais, c'est à mon ignorance que je le dois." @+ -
Présentation et petite question autoload
Patrick_35 a répondu à un(e) sujet de SF.Designer dans LISP et Visual LISP
Salut Bienvenue sur le site Avec Autoload, tu n'as plus ce besoin. Normalement, en utilisant cette fonction, quand tu tapes au clavier le nom du lisp, il se charge si besoin et se lance ensuite. Mais quand même pour répondre à ta question (if (eval 'c:mon_lisp) (alert"Lisp chargé")) En plus subtil (or (eval 'c:mon_lisp) (alert"Lisp à charger")) Pour les différents chemins, tu peux aller voir ici (vlax-dump-object (vla-get-files (vla-get-preferences (vlax-get-acad-object)))) Pour les différentes imprimantes, tu peux aller voir ici (vlax-invoke (vla-get-activelayout (vla-get-activedocument (vlax-get-acad-object))) 'getplotdevicenames) Pour les différents styles de texte, par exemple le romans (tblsearch "style" "romans") Et enfin pour les menus, par exemple Fichier (si j'ai bien compris ton Barre_Onglets) (vlax-dump-object (vla-item (vla-get-menubar (vlax-get-acad-object)) "&Fichier")) @+ -
macro pour traiter tous les blocs d'un dessin
Patrick_35 a répondu à un(e) sujet de mathaw dans AutoCAD LT 2015
Salut Tu calcules le temps passé à faire tes manips sur une LT Tu fais la même chose sur une version pleine (si tu en as une qui traine). Avec la différence de temps multiplié par le taux horaire, tu peux déterminer le retour sur investissement d'une version complète. Et c'est juste en reprenant ce besoin. Je ne parle pas de ce que l'on peut gagner à coté. Il reste plus qu'à convaincre le chef (et avec des chiffres en main, en général il est très vite convaincu) Je de donne aussi un tableau comparatif entre version LT et version pleine @+ -
Salut Tu as aussi ctrl + break (ou pause selon les claviers) pour forcer, mais il faut être insistant @+
-
problème avec attributs annotatifs de bloc
Patrick_35 a répondu à un(e) sujet de sebLM5P dans AutoCAD 2012
Salut Sans être mauvaise langue, je ne pense pas que tu bosses avec des archis car j'ai vu des projets changer de matériels plusieurs fois. Et plus les projets se font, pire c'est. Sans compter les bets qui passent leurs temps à botter en touche avec des soi-disant pré-études @+ -
problème avec attributs annotatifs de bloc
Patrick_35 a répondu à un(e) sujet de sebLM5P dans AutoCAD 2012
Ce que je veux dire, c'est que la personne qui intervient regarde auparavant ce qu'elle doit faire pour au moins bien préparer sont travail. Par contre, je suis d'accord pour les besoins du chantier. C'est eux qui nous disent ce qu'ils veulent et cela n'empêche pas aussi d'avoir une discussion avec le BE car on a aussi un budget d'heures à respecter. @+ -
problème avec attributs annotatifs de bloc
Patrick_35 a répondu à un(e) sujet de sebLM5P dans AutoCAD 2012
Salut Je suis comme Neptune. Rien ne vaut une légende car c'est plus facile à faire évoluer que de changer plusieurs éléments dans le dessin. Tu as plusieurs corps de métiers dans ton dessin, donc logiquement plusieurs plans, alors plusieurs légendes (au moins une par corps de métier). Et dans le même corps de métier tu peux avoir plusieurs plans, ceci afin que cela soit raisonnablement lisible. Oui mais normalement, un plan s'étudie avant de commencer quoi que ce soit. @+ -
problème avec attributs annotatifs de bloc
Patrick_35 a répondu à un(e) sujet de sebLM5P dans AutoCAD 2012
Salut Je n'ai pas de solution concernant ton problème car on n'utilise pas les attributs annotatifs pour la simple raison qu'on a une légende et que toutes les infos y sont reportées. Cela évite aussi de surcharger le plan. Pour la réalisation, on donne les fiches techniques des luminaires au chantier qui auront été validées auparavant par le client, bet, etc... @+
