Aller au contenu

Supprimer les présentations


Messages recommandés

Posté(e)

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

Posté(e)

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

 

./__\.
(.°=°.)
Posté(e)

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

 

 

Posté(e)

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

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité