Aller au contenu

création boutons pour LISP


philous2

Messages recommandés

Bjr,

 

Je voudrais créer des nouveaux boutons avec quelques lisp existant et les insérer ds des barres de menus existantes.

par exemple j'ai ce lisp

 

(defun c:xy()

 

(setq npt1 (getpoint "Point de COTE : "))

(setq npt2 (getpoint npt1 "Point Final : "))

(setq

totox (car npt1)

totoy (cadr npt1)

totoz (caddr npt1) )

 

Variante avec 3 decimales

(setq pt1x (strcat "X: " (rtos totox 2 3)))

(setq pt1y (strcat "Y: " (rtos totoy 2 3)))

 

; Variante avec 2 decimales

; (setq pt1x (strcat "X: " (rtos totox 2 2)))

; (setq pt1y (strcat "Y: " (rtos totoy 2 2)))

 

(command "_.leader" npt1 npt2 "" pt1x pt1y "")

)

 

 

(defun c:xyz()

 

(setq npt1 (getpoint "Point de COTE : "))

(setq npt2 (getpoint npt1 "Point Final : "))

(setq

totox (car npt1)

totoy (cadr npt1)

totoz (caddr npt1) )

 

et je voudrais en faire un bouton comment procéder !

J'ai commencé mais j'ai un soucis ds la macro (entrer la commande)

merci de vos lumières

Phil

 

Lien vers le commentaire
Partager sur d’autres sites

Re,

 

Il était question d'un Lisp et pas d'une macro, non ?
,

 

lesourd2 a donné la réponse =>

 

Apres le ^C^C tu tapes le code de ta routine ( de ton lisp) et le tour est joué.
,

 

C'est à dire le nom de la commande qui se trouve après le "defun c:", c'est à dire ici "xy" :

 

(defun c:xy() 

 

Quoiqu'il en soit, bravo pour l'explication en images; Comme à son habitude.

 

Merci les gars, ;)

Civil 3D 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

Bjr,

 

Je trouve ça super contraignant de devoir taper tout le code dans "l'éditeur de chaîne longue"

surtout qu'à priori il ne faut pas le saisir n'importe comment ...

 

Une solution plus simple, à mon goût, renseigner sur la ligne macro

^C^C(load"xy") par exemple, en ayant toute fois pris la précaution de placer le lisp

dans un répertoire de fichiers de support biensûr ;)

Lien vers le commentaire
Partager sur d’autres sites

Bonjour à toutes et tous,

 

^C^C(load"xy") par exemple, en ayant toute fois pris la précaution de placer le lisp

dans un répertoire de fichiers de support biensûr

 

Oui, c'est comme cela qu'il faut pratiquer, bien sûr !!! (Quoi que je n'écrit pas (load...), puisque je lance les lisps à chaque démarrage d'AutoCAD,...

 

L'exemple sur l'image ci-dessus est pour une pure macro de quelques lignes,...

 

Pour un Lisp, on rappelle seulement le nom de la commande de lancement, d'où ici =>

 

 

defun c:xy
,

 

Bonne journée,

Civil 3D 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

Salut try0

 

Je trouve ça super contraignant de devoir taper tout le code dans "l'éditeur de chaîne longue"

surtout qu'à priori il ne faut pas le saisir n'importe comment ...

 

Une solution plus simple, à mon goût, renseigner sur la ligne macro

^C^C(load"xy") par exemple, en ayant toute fois pris la précaution de placer le lisp

dans un répertoire de fichiers de support biensûr

.

 

1) Dans l'editeur de chaine longue inutile de tout retaper. tu fais exactement ceci:

 

Apres le ^C^C tu tapes le code de ta routine ( de ton lisp) et le tour est joué.

C'est à dire le nom de la commande qui se trouve après le "defun c:", c'est à dire ici "xy" :

defun c:xy

.

 

2) Commande : _appload

=> clic sur la valise

=> ajouter

=> chercher le Lisp à lancer au demarrage

=>Fermer

 

Esperant avoir ete assez clair.

 

@+

 

 

Edit : Excuses moi lili 2006 on a posté partiquement ensemble.

 

 

 

 

[Edité le 28/8/2008 par lesourd2]

Lien vers le commentaire
Partager sur d’autres sites

Re,

 

Y'a pas à être désolé thry0, c'est comme cela que l'on apprend,.... ;)

 

Et je pense que ce post va profiter à tous ceux qui n'osent pas poser de questions,....

 

Donc merci à tous ceux qui "osent" car tout le monde a à apprendre de tout le monde,.... :P

Civil 3D 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

Attention ça sent la confusion dans les réponses :

 

 

^C^C(load"xy"), ou copier tout le code derrière ^C^C seraient les macros pour charger un LISP (personnellement je ne vois aucun intérêt à créer une macrou pour charger une routine).

 

^C^Ctoto serait la macro pour exécuter un LISP défini avec (defun c:toto ...)

 

 

Je vous renvoie à cette page où, me semble-t-il tout ça est décrit dans le détail.

Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
ADSK_Expert_Elite_Icon_S_Color_Blk_125.png

Lien vers le commentaire
Partager sur d’autres sites

Salut (gile)

 

Ok je suis bien d'accord avec toi, mais là, la demande etait de creer un bouton dans une barre d'outils pour lancer in Lisp.

Alors oui il y a confusion .Quelle donc la bonne reponse.

Personnellement la reponse de lili2006 me parait pas deconnante.... et chez moi j'en use et abuse et fonctionne tres bien.

 

Lien vers le commentaire
Partager sur d’autres sites

  • 2 ans après...
  • 5 ans après...

Bonjour à tous.

 

Je relance ce forum car quand j'appuis sur mon bouton j'obtiens juste le message d’erreur "commande inconnue".

 

J'ais pourtant vérifié l'orthographe et enregistré les lignes de code dans un nouveau fichier en passant par VLISP puis l'ais ajouté au commandes chargées au démarrage et l'ais également chargée pour la session courante, mais rien à faire, AutoCAD me retourne toujours "commande inconnue".

 

Je crois qu'il manque à ce poste comment enregistrer la LISP.

 

Merci de votre aide.

Je suis dysorthographique alors lâchez-moi les basques avec ça, je fait déjà de mon mieux.
Membre d'Extinction Rebellion, car pour sauver le monde il n'est jamais trop tard, amour et rage !
Pour écrire un vraie point médian (e·x·e·m·p·l·e) [Alt + 0183] ou ajout d'un raccourci clavier personnalisé (ex. [AltGr + ;])

Utilisateur d'AutoCAD 2021 sous Windows 10

Lien vers le commentaire
Partager sur d’autres sites

J'ais pourtant vérifié l'orthographe

Hum...

 

 

Je crois qu'il manque à ce poste comment enregistrer la LISP.

Ce sujet décrit dans le détail comment charger un LISP.

 

Si tu as toujours des problèmes, donne nous la macro que tu as associée au bouton (et éventuellement le LISP).

Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
ADSK_Expert_Elite_Icon_S_Color_Blk_125.png

Lien vers le commentaire
Partager sur d’autres sites

Re, et merci de votre aide.

 

Après vérifications j'avais correctement enregistré le LISP, mais quant je l'ais glissé dans ma fenétre il m'a retourné : "erreur: structure incorrecte de la chaîne en entrée".

 

Je l'ais pris dans ce poste, et j'ais vérifié, j'ais bien copié-colé touts les caractéres du premier au dernier.

 

A tout hasard ma MACRO est ^C^Cdefun c:my_project

 

Merci.

Je suis dysorthographique alors lâchez-moi les basques avec ça, je fait déjà de mon mieux.
Membre d'Extinction Rebellion, car pour sauver le monde il n'est jamais trop tard, amour et rage !
Pour écrire un vraie point médian (e·x·e·m·p·l·e) [Alt + 0183] ou ajout d'un raccourci clavier personnalisé (ex. [AltGr + ;])

Utilisateur d'AutoCAD 2021 sous Windows 10

Lien vers le commentaire
Partager sur d’autres sites

Bonjour à toutes et tous,

 

"erreur: structure incorrecte de la chaîne en entrée".

 

Il doit forcément manquer quelques chose,...Une parenthèse ?

 

A tout hasard ma MACRO est ^C^Cdefun c:my_project

 

Normalement le nom de la fonction de lancement (après le "defun c:") suffit,

 

Exemple si la fonction s’appelle "my_project" =>

 

^C^Cmy_project

 

Civil 3D 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

Merci bien, tout marche nickel.

Je suis dysorthographique alors lâchez-moi les basques avec ça, je fait déjà de mon mieux.
Membre d'Extinction Rebellion, car pour sauver le monde il n'est jamais trop tard, amour et rage !
Pour écrire un vraie point médian (e·x·e·m·p·l·e) [Alt + 0183] ou ajout d'un raccourci clavier personnalisé (ex. [AltGr + ;])

Utilisateur d'AutoCAD 2021 sous Windows 10

Lien vers le commentaire
Partager sur d’autres sites

  • 2 ans aprè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 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é