LUDWIG Posté(e) le 18 novembre 2004 Posté(e) le 18 novembre 2004 Je cherche à faire un lisp qui supprime toutes les présentations. (defun c:Layout_killer (/ n layouts)(setvar "ctab" "Model")(setq layouts ((layoutlist)))(foreach n layouts(command "presentation" "EF" n)))) Mais celui-ci ne fonctionne pas. Quelqu'un pourrait me dire le problème (mais sans me donner la réponse du programme histoire que je cherche un peu...). J'imagines déjà que je donne la présentation "n" à effacer qu'il n'apprécie pas... Chaque éléments de la liste "layout" représente une présentation et il me doit falloir en extraire le nom ? Pourtant : (defun c:Layout_killer (/ n layouts)(setvar "ctab" "Model")(setq layouts ((layoutlist)))(foreach n layouts(command "presentation" "EF" (cdr(assoc 410 n))))) ne fonctionne pas non plus. [Edité le 18/11/2004 par LUDWIG] Autocad 2021 - Revit 2022 - Windows 10
Tramber Posté(e) le 18 novembre 2004 Posté(e) le 18 novembre 2004 Corrigé : (defun c:Layout_killer (/ n layouts) (setvar "ctab" "Model") (setq layouts (layoutlist)) (foreach n layouts (command "presentation" "EF" n))) T'avais trop de parenthèses autour de layoutlist Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
didier Posté(e) le 18 novembre 2004 Posté(e) le 18 novembre 2004 hello,avec le décalage horaire qui profite aux gens de l'Est,je me suis fait grillé, ;) par ailleurs, une autre chose me chagrine dans ton code,mais tu vas nous expliquer,ce qui te feras progresser, c'est :pourquoi faire un (cdr(assoc 410 n)) pourquoi faire simple quand on peut faire compliqué ? ;) Amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
LUDWIG Posté(e) le 18 novembre 2004 Auteur Posté(e) le 18 novembre 2004 Ah ces fichues parenthèses ! Je les avais doublées car la commande s'écrit elle-même entre parenthèses et que dans certains cas on met des parenthèses après setq [(setq A (length B))]. Quand à (cdr (assoc 410 n)) , c'est que je me suis dit que dans mon "layouts" était une liste d'objets dont il fallait extraire le nom. Un peu comme dans mon programme précédent : [...] (setq PROP (entget (setq ENT (ssname JEU N)(setq CALQUE (cdr (assoc 8 PROP)))[...] Mais bien sûr, maintenant que je l'écris, je me rend compte de mon erreur et je comprends mieux le fonctionnement de certains trucs... Si j'avais fait (cdr (assoc 410 n)) sur une entité, ça m'aurait donné le nom de l'espace où il se situe... En gros je ne peux pas demander dans quel espace se situe mon espace... J'adore ce forum ! Au fur et à mesure que j'écris, je comprends des choses... Autocad 2021 - Revit 2022 - Windows 10
Patrick_35 Posté(e) le 19 novembre 2004 Posté(e) le 19 novembre 2004 Salut,Puisque tu gères les onglets, un lisp qui pourrait t'intéresser @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
Serge Posté(e) le 19 novembre 2004 Posté(e) le 19 novembre 2004 Ludwig, N'oublie pas que ton dessin doit contenir au moins une présentation. Je te lasisse chercher un peu. Serge
rebcao Posté(e) le 20 novembre 2004 Posté(e) le 20 novembre 2004 Pour info l'onglet "OBJET" ne peut être supprimé. après suppression de toutes les présentation AutoCAD recrée toujours un onglet "Présentation 1"... Christian Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
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