G2.toff Posté(e) le 25 avril 2014 Posté(e) le 25 avril 2014 Bonjour, Sous forme de lisp j'ai trouvé sur CADXP un moyen de décomposer (explode) tous les blocs affichés d'un fichier.C'est un lisp de BONUSCAD je crois. En fait comment le modifier afin qu'il ne décompose que les blocs XX et YY d'un fichier même s'ils ne sont pas affichés ? Voici le code dont je vous parlais avant, même si dans mon cas je doute qu'il puisse servir: defun c:TEST (/ jeu-sel) (while (setq jeu-sel (ssget "_x" '((0 . "INSERT")))) (mapcar '(lambda (e) (command "_explode" (cadr e))) (ssnamex (ssget "_x" '((0 . "INSERT"))))) ) (princ)) Merci...
didier Posté(e) le 26 avril 2014 Posté(e) le 26 avril 2014 coucou, il me semble avoir déjà eu l’occasion de te dire que "copier-coller" des bouts de codeglanés çà et là n'est pas la meilleur façon d'apprendre à le faire soi-même mais qu'à cela ne tienne on va quand même te filer un coup de main.par contre je vais faire le pervers (hihi)je te colle une image pour t'obliger à taper le code, ce n'est qu'ainsi (taper du code)que tu comprendras vraiment ce que tu fais. amicalement et bon apprentissage Éternel débutant... Mon site perso : Programmer dans AutoCAD
didier Posté(e) le 26 avril 2014 Posté(e) le 26 avril 2014 Coucou sans rancune ? (hihi) tu te rends compte que dans ce que je t'ai livré il est demandé le nom du bloc,ensuite la recherche se fera dans TOUT le fichier dessin, sur les calques inactifs aussi, les gelés seront traités aussi(c'est le "x" qui fait la différence).ensuite une boucle se lance pour décomposer les blocs un par undonc si tu veux décomposer deux blocs, soit tu relances la fonction avec un autre nom ou bien tu regardes la fonction ORou bien tu viens demander de l'aide iciamicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
G2.toff Posté(e) le 26 avril 2014 Auteur Posté(e) le 26 avril 2014 Salut, Déjà merci pour ta réponse, saches que j'essaye chez moi de les modifier avec la liste des fonctions lisp, le seul soucis (le premier plutôt) c'est que je n'arrive pas à utiliser l'éditeur de visual lisp, j'ai trouvé une notice mais pas en french . Avant de poster j'ai fais des modifs sur le lisp joint mais n'aboutissant pas et donc notant ma nullité en lisp, j'en suis venu à écrire un sujet sur CADXP. J'ai cru bon de mettre un lisp qui m'avait servi (ou pas) de démarrage, mais en tapant mon message j'ai compris par la suite qu'il risquait de servir à rien, pour vous les rois du lisp. Voici ce que j'ai failli poser:; initialise l'environnement Visual Lisp (nécéssaire aux fonctions qui commencent par vl- )(vl-load-com); fonction principaledefun c:Toto; pour selectionner les blocs commençants par XXssget "_x" '((0 . "INSERT" "XX*"))));pour les décomposercommand "_explode" (ssget "x" '((0 . "INSERT" "XX*"))))) )defun Forcément il marche pas et j'arrive pas à tester les différentes étapes dans l'éditeur... Voilà pourquoi tu as trouvé ce post avec ce lisp Merci de me lire et surtout j'espère que tu étais assis avant de lire mon """lisp"""....(rires forts) @+Toff
didier Posté(e) le 26 avril 2014 Posté(e) le 26 avril 2014 Coucouc'est bien ce que je te disais, il ne faut pas copier-collerfranchement tu n'as pas besoin d'aide pour commencer avec l'IDE, c'est simple au départquand tu voudras aller plus loin il y a des options à connaître mais c'est assez intuitif.commence par faire simplele code que je t'ai filé, tape-le mot à mot, contrôle tes parenthèses et lance le dans AutoCADun truc qui aide au début mais qui est rarement respecté, ne fais qu'une modification à la foiscar si ça fonctionne tu ne sauras pas pourquoipour revenir sur ce que tu donnes en exemple(vl-load-com) : INUTILE avec les fonctions que tu utilises (pas de VL)defun c:Toto pas de parenthèse ouvrante avant defun et pas de () à la fin qui signifient qu'il n'y a pas d'argumentje me permets de t'inviter à lire les tutoriels multiples qu'on trouve sur la toile.je suis sur le point de relancer mon site et tu devrais être clientamicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
(gile) Posté(e) le 26 avril 2014 Posté(e) le 26 avril 2014 Salut, Il existe un "tuto" en français à propos de l'éditeur Visual LISP, ici sur CADxp : L'éditeur Visual LISPTu trouveras aussi d'autres sujets "épinglés" en tête des forums Débuter en LISP, Aller plus loin en LISP et Visual LISP. Ce "tuto" est en fait un des chapitres d'un document plus complet : "Introduction à AutoLISP" que j'ai finalement publié gratuitement sur Exchange Apps Store et sur mon site. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
G2.toff Posté(e) le 26 avril 2014 Auteur Posté(e) le 26 avril 2014 Ha voilà ! Merci à tous les deux ! En effet étant donné l'intérêt que je porte depuis que j'ai découvert ce que permet de faire un lisp, il est en effet fort probable que je devienne un client de ton site (didier). pour qui est de ton image, plus que des paroles, j'ai enfin compris pourquoi vous vous "embêtiez" à mettre des parenthèses à différents niveaux, comme quoi plus que des paroles une image suffit ! Merci à toi Gile pour ton lien vers le tuto, pourtant il me semble bien avoir fouillé par là, mais bon ce doit être mes yeux comme dirait Jean-Claude !!! Dans la semaine je vais commencer à m'y mettre,j'ai un peu plus de temps, sur le tuto et le lisp façon didier, car j'ai plein de trucs à faire évoluer dans ma boite, et ça me gave de ne faire que demander solutions, certes c'est pratique, mais j'aimerais au moins pour de petits lisp y arriver tout seul ou presque (sinon je suis pas prêt d'avoir des lisps qui fonctionnent. Bonne soirée et à très bientôt... Toff
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