Jump to content

création boutons pour LISP


Recommended Posts

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

 

Link to post
Share on other sites

Salut

 

Quoiqu'il en soit, bravo pour l'explication en images

Très explicite, superbe ...

Comme à son habitude.

 

Tu rentres en macro " ^C^Cxy",(Etape 3) sur l'image ci-dessous)

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

 

@+

Link to post
Share on other 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 2022 - COVADIS_17.1d

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

Link to post
Share on other 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 ;)

Link to post
Share on other 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 2022 - COVADIS_17.1d

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

Link to post
Share on other 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]

Link to post
Share on other 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 2022 - COVADIS_17.1d

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

Link to post
Share on other 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

Link to post
Share on other 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.

 

Link to post
Share on other sites
  • 2 years later...
  • 5 years later...

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 2018 sous Windows 10

Link to post
Share on other 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

Link to post
Share on other 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 2018 sous Windows 10

Link to post
Share on other 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 2022 - COVADIS_17.1d

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

Link to post
Share on other sites

Salut,

 

Il y a une balise HTML qui s'est glissée à la fin du code ajoutant une parenthèse supplémentaire :

 </or")>

Il faut la supprimer du fichier.

 

PS: je corrige le code dans le message original.

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

Link to post
Share on other 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 2018 sous Windows 10

Link to post
Share on other sites
  • 2 years later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...