TitOoN Posté(e) le 23 août 2006 Posté(e) le 23 août 2006 Bonjour,Je voudrais savoir comment fait-on pour suspendre un programme LISP ?Ex: Je lance le programme qui me créé un bloc sous autocad et qui l'insère ensuite. Le bloc se créé mais ne s'insère pas: ; création de hachure(command "-hachures" "p" "s" "e" "" "0,0" "0,1" "1,1" "1,0" "c" "" "") ; création du bloc(command "-bloc" "nom bloc" "0,0" "d" "") ; édition du bloc pour ajouter les attributs(command "-bedit" "nom bloc" "-attdef" "" "etiquette1" "invite1" "valeur1" "0,0" "0.3" "" "-attdef" "" "etiquette2" "invite2" "valeur2" "0,0" "0.3" "" "-attdef" "" "etiquette3" "invite3" "valeur3" "0,0" "0.3" "" "bclose" "") ; insertion du bloc:(command "-inserer" "nom bloc") Comment faire ? Par la suite j'aimerai remplacer les attributs écrite en dur par des valeurs tirées des propriétés de polyligne (périmètre, Aire ). Comment arriver à sortir l'aire et le pétimètre d'une polyligne en LISP ? Cordialement . TitOoN :casstet:
(gile) Posté(e) le 23 août 2006 Posté(e) le 23 août 2006 Salut, Pour insérer ton bloc avec la fonction LISP command, il faut lui passer comme arguments tous les arguments que tu donnes quand tu fait -inserer à la ligne de commande : - le nom du bloc, le point d'insertion, le facteur d'échelle en X, celui en Y et l'angle de rotation : (command "_.insert" "nom bloc" pt_insertion echX echY angle) Pour l'aire et le périmètre, on suppose que la variable pline stocke une polyligne (récupérée par (entlast), (car (entsel)) ou autre), il est possible de se servir de la commande AIRE (_area) et de récupérer les valeurs dans les variables système AREA et PERIMETER : (command "_.area" "_object" pline) (setq perimetre (getvar "PERIMETER") aire (getvar "AREA") ) On peut aussi transformer le "nom d'entité" de la polyligne en "vla-object" et récupérer les propriétés "area" et "length" : (setq vla-pline (vlax-ename->vla-object pline) perimetre (vla-get-length vla-pline) aire (vla-get-area vla-pline) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
TitOoN Posté(e) le 23 août 2006 Auteur Posté(e) le 23 août 2006 Yeah... je pense que tu as trouvé une chose qui me bloqué, seulement pour l'insersion du bloc je veux que ce soit moi qui donne le point d'insersion (manuellement)...C'est à ce moment là que ca ne fonctionne pas. Cordialement.. TitOoN.. :casstet:
(gile) Posté(e) le 23 août 2006 Posté(e) le 23 août 2006 Re, (command "_.insert" "nom bloc" pause echX echY angle) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Patrick_35 Posté(e) le 23 août 2006 Posté(e) le 23 août 2006 SalutSi tu inséres un bloc avec des attributs, ne pas oublier la variable attreq @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
Bred Posté(e) le 24 août 2006 Posté(e) le 24 août 2006 ... ou tu peux demander de choisir le point d'insertion AVANT de lancer l'insertion du bloc : (setq pt (getpoint "\n Point d'insertion du Bloc :")) (command "_.insert" "nom bloc" pt echX echY angle) Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
TitOoN Posté(e) le 24 août 2006 Auteur Posté(e) le 24 août 2006 Bonjour, je n'arrive pas à mettre la commande sur pause au moment ou je veux insérer mon bloc manuellement, c'est à dire avec la sourie ... :P HELP ME ... Cordialement... TitOoN
Bred Posté(e) le 24 août 2006 Posté(e) le 24 août 2006 ???? ... pour la pause (gile) t'as répondu juste au dessus (???) ... ou alors si tu veux tout rentré (c'est à dire le point d'insert, l'echelle et la rotation) tu fait : (command "_.insert" "nom bloc" pause pause pause pause) Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
TitOoN Posté(e) le 24 août 2006 Auteur Posté(e) le 24 août 2006 C'est bon merci a tous ca marche... j'ai utilisé le getpoint enfait .. puis bien vu pour le attreq ... A + TitOoN :o
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