Patrick_35 Posté(e) le 22 novembre 2011 Posté(e) le 22 novembre 2011 Salut Dans le 2e onglet, il suffit de décocher la case "Ouvrir" pour gérer soi même l'ouverture des fichiers (ça permet d'utiliser la commande _recover à la place par ex.).Ok, je n'avais pas vu (et je viens de changer de lunettes) Normalement je ne vois pas ce qui pourrait nécessiter de faire un rechercher remplacer, puisqu'il suffit de modifier la liste Ben justement, en reprenant ton exemple, remplacer _.open par _.recoverOu encore, pour quitter sans sauvegarder, remplacer _.close par _.close _no Dans le 2em onglet, tu as une option Sauver dans et je n'ai vu aucune incidence dans le script J'ai remarqué aussi que tu ne conservais pas les options retenues (par exemple, je choisis de voir les versions dans la liste de fichiers et quand je relance séquence, je suis obligé de re-sélectionner cette option)J'ai vu qu'il était possible d'importer/d'exporter des séquences au format seq.Si on avait la même chose, mais au format scr ps : Il serait bien d'ouvrir un nouveau sujet pour éviter de polluer ce post @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
lovecraft Posté(e) le 22 novembre 2011 Posté(e) le 22 novembre 2011 Bonjour, Vous trouverez ci-joint un fichier Zip contenant 3 fichiers un fichier lisp, un fichier excel et une fichier dwg (exemple) Ce programme permet le remplacement un bloc par rapport à un fichier excel (cf extrait ci-dessous) http://images.imagehotel.net/1dtix629ml.jpg bloc1 = nom du bloc a remplacercalque 1 = le bloc se trouve dans le calque xxxx mettre * pour sélectionner dans tous les calques bloc 2 = nom du bloc de remplacementcalque 2 = calque de destination donc pour résumer: 1 charger le lisp puis taper la commande: rplce_block2 choisir le fichier excel voila c'est fini Votre trouverez un fichier excel fournir avec uniquement un bloc. Bonne utilisation, Cordialement, Laurentlisp rbloc.zip http://www.youtube.com/user/CADMINATOR?feature=mhee
bryce Posté(e) le 22 novembre 2011 Posté(e) le 22 novembre 2011 Salut ;)Ben justement, en reprenant ton exemple, remplacer _.open par _.recoverOu encore, pour quitter sans sauvegarder, remplacer _.close par _.close _no Justement, il suffit de remplacer (une seule fois) _.open par _.recover dans la séquence de commandes (2e onglet) pour que tout le script se mette à jour dans le 3e onglet.C'est pour cela que je ne vois pas l'intérêt d'ajouter une fonction rechercher/remplacer... Dans le 2em onglet, tu as une option Sauver dans et je n'ai vu aucune incidence dans le scriptOui, c'est une option qui n'est pas vraiment finie...Pour l'instant, elle ne sert que si on utilise la "variable prédéfinie" $(savefolder) dans la séquence de commandes (quand on édite une séquence, un clic droit permet d'insérer des variables). J'ai remarqué aussi que tu ne conservais pas les options retenues (par exemple, je choisis de voir les versions dans la liste de fichiers et quand je relance séquence, je suis obligé de re-sélectionner cette option)En l'occurrence, c'est pour des raisons de performance: dans le cas où le nombre de fichiers à traiter est très important, le fait de scanner la version de chaque fichier ralentit pas mal le remplissage de la liste. On peut par contre cocher la case après le remplissage pour connaître la version des fichiers.L'opération étant effectuée dans un thread séparé, on peut en même temps travailler dans le 2e onglet par exemple. ;)J'ai vu qu'il était possible d'importer/d'exporter des séquences au format seq.Si on avait la même chose, mais au format scrOn peut exporter le script complet en scr depuis le 3e onglet.Pour les séquences, j'ai choisi une extension différente car justement ce ne sont pas des scripts complets. De plus, chaque fichier seq contient 3 séquences de commandes correspondant aux 3 zones du 2e onglet.Cela dit, ces fichiers sont de simples fichiers texte, on peut donc renommer un seq en scr et vice versa... ps : Il serait bien d'ouvrir un nouveau sujet pour éviter de polluer ce post Je vais faire ça, mais pas forcément tout de suite. Il faudrait que je modifie encore certains points avant. Brice, formateur AutoCAD - Inventor - SolidWorks - ZWCad - DraftSight - SketchUp indépendant
Patrick_35 Posté(e) le 22 novembre 2011 Posté(e) le 22 novembre 2011 Justement, il suffit de remplacer (une seule fois) _.open par _.recover dans la séquence de commandes (2e onglet) pour que tout le script se mette à jour dans le 3e onglet.Je ne comprends pas.Dans le 2em onglet, j'ai les options Ouvrir, Sauver et fermer, Sauver dans et Evaluer diesel.Ensuite, on ajoute les commandes préliminaires, celles qu'on applique à chaque dessin et les commandes terminales.Je ne vois pas où remplacer dans la séquence de commandes Par exemple, l'option ouvrir n'est pas sélectionnée et je mets une commande à appliquer à chaque dessin, je retrouve dans le script généré ma commande multipliée par le nombre de dessins (normal)Si l'option ouvrir est choisie, je retrouve ma liste de fichier (normal), mais rien qui permette de remplacer _.open par _.recover En l'occurrence, c'est pour des raisons de performanceCe qui est tout à ton honneur, mais ce que je voulais indiquer, c'est d'avoir la possibilité de conserver les paramètres (comme aussi le dernier répertoire selectionné pour la liste de fichiers par exemple) On peut exporter le script complet en scr depuis le 3e onglet.Oui, mais si on a déjà des scripts ou si on a une séquence assez longue et que l'on teste notre script/lisp sur un dessin avant de le lancer sur un ensemble de fichiers.C'est tout simplement avoir le choix de l'extension dans le 2em onglet Je vais faire ça, mais pas forcément tout de suite. Il faudrait que je modifie encore certains points avant. Et j'en rajoute une couche ;) ps : je suis en version 1.0 bêta Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
bryce Posté(e) le 22 novembre 2011 Posté(e) le 22 novembre 2011 Par exemple, l'option ouvrir n'est pas sélectionnée et je mets une commande à appliquer à chaque dessin, je retrouve dans le script généré ma commande multipliée par le nombre de dessins (normal)Si l'option ouvrir est choisie, je retrouve ma liste de fichier (normal), mais rien qui permette de remplacer _.open par _.recoverEn effet, je n'ai pas été clair.Si la case "Ouvrir" est cochée, la commande _open est générée automatiquement, et on ne peut pas la remplacer par autre chose.Si l'utilisateur décoche la case "Ouvrir", c'est à lui de gérer l'ouverture du fichier.Il faut alors insérer une nouvelle ligne dans la séquence de commandes, et y mettre par exemple_open "$(folder)$(file)$(ext)"ou_recover "$(folder)$(file)$(ext)"Au passage, j'ai vu que dans la version que j'ai postée les variables en question ne fonctionnent pas, il faudra retélécharger Sequence en Beta 2 pour tester ça et le Diesel.J'en ai profité pour ajouter l'import export en scr dans le 2e onglet. ;) Brice, formateur AutoCAD - Inventor - SolidWorks - ZWCad - DraftSight - SketchUp indépendant
JMBZ38 Posté(e) le 23 novembre 2011 Auteur Posté(e) le 23 novembre 2011 La question n'est pas très claire, mais voilà la démarche en gros:- on insère le bloc cartouche dans un dessin vide, et on renseigne les infos du cartouche qui sont communes à tous les folios- on insère ensuite ce fichier en XRef dans tous les folios- quand il faut modifier une info commune, on ouvre ce fichier et on édite les attributs du cartouche- pour les infos du cartouche qui sont spécifiques à chaque folio, on peutt dans chaque folio les ajouter sous la forme d'un bloc (constitué uniquement d'attributs) qui se superpose au cartouche en XRef (ou éventuellement en tant que textes). Bonjour, Pour des modifications ou des listes de plans par extraction d'attribut, tout les cartouches sont réalisés avec des attributs.Dans le cas présent, les parties communes du cartouche changent ainsi que la position des attributs. Même avec un cartouche en XREF, je dois réinsérer le bloc variable dans tous mes fichiers.
tiboulen Posté(e) le 18 décembre 2011 Posté(e) le 18 décembre 2011 bonjouril y a longtemps j' avais ecrit un petit lisp sans pretention que j' executait pour chaque dessinmais avec un script on peu l' oautomatiser : ;;*********************************************************************(defun c:rplbl ()(setq oldosmode (getvar "osmode"))(setvar "osmode" 0)(setq i0 0)(setq bl0 (entsel "reperez le bloc à changer"))(setq entbl0 (entget (car bl0)))(setq nombl0 (cdr (assoc 2 entbl0))) (setq bl1 (entsel "reperez le bloc à inserer"))(setq entbl1 (entget (car bl1)))(setq nombl1 (cdr (assoc 2 entbl1)))(setq newbloc0 (list '(0 . "INSERT") (assoc 2 entbl1) (assoc 10 entbl1) (assoc 41 entbl1) (assoc 42 entbl1) (assoc 43 entbl1) (assoc 50 entbl1))) (setq jsbl (ssget "X" (list (cons 0 "INSERT") (cons 2 nombl0))));;(setq jsbl (ssget (list (cons 0 "INSERT") (cons 2 nombl0)))) (repeat (sslength jsbl) (setq ent0 (ssname jsbl i0)) (setq ptins1 (cdr (assoc 10 (entget ent0)))) (setq entgt0 (entget ent0)) (entdel ent0) (setq newbloc (list '(0 . "INSERT") (assoc 2 entbl1) (assoc 8 entgt0) (assoc 10 entgt0) (assoc 41 entgt0) (assoc 42 entgt0) (assoc 43 entgt0) (assoc 50 entgt0))) (entmake newbloc) (setq i0 (+ i0 1)) ) (setvar "osmode" oldosmode))
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant