TitOoN Posté(e) le 30 août 2006 Posté(e) le 30 août 2006 Bonjour tout le monde,c'est encore moi... <acronym class=dict title= ... j'ai besoin d'aide pour créer une boucle . Explication : je créé un bloc en LISP avec différents attributs etc... je l'insère ... OK , jusque la ca roule .. Le soucis est que quand je redonne les meme info au programme pour créé le bloc, il me créé le meme bloc, seulement celui-ci est deja défini ... donc le programme STOP car AutoCAD me demande si je veut ou non redéfinir mon bloc .. j'essaye d'écrire la condition : si telle bloc est deja sur le plan alors ne pas créé mais insérer directement ! comment est ce possible ? Cordialement... TitOoN... :P
(gile) Posté(e) le 30 août 2006 Posté(e) le 30 août 2006 Salut, Pour savoir si un bloc est déjà présent dans la collection du dessin, tu peux utiliser la fonction tblsearch (ou tblobjname) : (if (tblsearch "block" "Nom_du_bloc") (princ "\nLe bloc existe déjà.") (princ "\nLe bloc n'existe pas encore.") ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
TitOoN Posté(e) le 30 août 2006 Auteur Posté(e) le 30 août 2006 je ne vois pas comment utiliser le tblsearch ...il faut juste que le programme examine le fichier pour savoir si le bloc existe deja ou pas .. pour pouvoir sauter l'étape de création du bloc et passer directement à l'insertion du bloc ..comment faire ??se sera normalement la derniere question pour enfin le finir... Cordialement .. TitOoN :P
(gile) Posté(e) le 30 août 2006 Posté(e) le 30 août 2006 Re, (if (not (tblsearch "block" "Nom_du_bloc"))(progn ; ici ton code pour créer le bloc ) ; fin de progn) ; fin de if (command "_.insert" ...) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
zebulon_ Posté(e) le 31 août 2006 Posté(e) le 31 août 2006 Bonjour, Pour éviter ce genre de problèmes, je mets les blocs que je veux insérer avec un lisp par (command "_insert"...) dans un répertoire référencé dans les chemins de recherche de fichier de support (outils / options), comme ça je n'ai pas besoin d'indiquer de chemin dans la commande _insert mais seulement le nom.Alors, soit le bloc n'est pas défini et autocad va le piocher dans le répertoire de fichier de support ,soit le bloc est déjà défini et autocad va le piocher dans la table de blocs du fichier. Ce qui est intéressant, c'est que les 2 opérations se font avec la même ligne de commande du genre : (command "_INSERT" NOMBLOC pick_pt "1" "1" "0") Amicalement Zebulon_ [Edité le 31/8/2006 par zebulon_] C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme) C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi)
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