azop Posté(e) le 5 juin 2010 Posté(e) le 5 juin 2010 Bonjour, je souhaiterai transformer en bloc la polyligne et les cercles que j'ai programmer en lispj'ai crée des polylignes à partir un programme en lisp, je cherche une commande pour transformer mes éléments en bloc ( si j'utilise la commande -bloc, comment faire sélectionner automatiquement mes polylignes ? )
bseb67 Posté(e) le 5 juin 2010 Posté(e) le 5 juin 2010 Salut soupra, Si tu dessines avec un lisp, le plus simple est de garder un pointeursur le dernier objet avec entlast, puis de dessiner tes polylignes et cercleset donc de créer un bloc avec les entités crées depuis ta sauvegarded'entlast au nouveau et dernier entlast. Sinon, c'est que de créer une sélection vide avec ssadd, puis d'y ajouterau fur et à mesure la polyligne ou cercle dessiné. a+ Tous pour lisp, Lisp pour tous!Avec Revit, cela ne vas trop vite...
(gile) Posté(e) le 6 juin 2010 Posté(e) le 6 juin 2010 Salut, Tout dépend de ton niveau en LISP. Si tu crées tes entités avec la fonction command, il faut faire comme dit bseb67 : stocker les noms d'entités dans un jeu de sélection que tu passeras comme argument de (command "_block" ...) Si tu connais l'utilisation d'entmake ou des fonction vla-, alors tu crées tes entités directement dans la définition de bloc que tu insères ensuite. Le plus simple pour ceux qui seraient susceptibles de t'aider serait que tu postes un bout de code. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
azop Posté(e) le 6 juin 2010 Auteur Posté(e) le 6 juin 2010 Merci pour votre réponse,j'ai encore une ptite question, pour le nom à mon bloc, je voudrais lui donner un nom quelconque,comment faire pour avoir une variable aléatoire ?
(gile) Posté(e) le 6 juin 2010 Posté(e) le 6 juin 2010 Salut, Plutôt qu'un nom aléatoire, il vaut mieux donner un nom dont tu es sûr qu'il n'existe pas déjà dans la collection de blocs du dessin. Dans ce cas donner un nom incrémenté peut-être une solution :(setq i 1) (while (tblsearch "BLOCK" (setq nom (strcat "BLOC_" (itoa i)))) (setq i (1+ i)) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Carboleum Posté(e) le 7 juin 2010 Posté(e) le 7 juin 2010 D'accord avec (Gile), mais ca ne te génère pas un nom. C'est un choix. Si tu décides de tout de même utiliser un nom aléatoire, tu peux te baser sur la variable DATE: (rtos (getvar "date") 2 6) Cette expression génère une nouvelle chaine de tous les 10è de seconde. Carboléüm, qui dessine aussi à la main -> Carboleum's sketchblog
mateus Posté(e) le 12 avril 2013 Posté(e) le 12 avril 2013 c'est bon pour le bloc j'ai enfin trouvé merci encore :)
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