CadXP: création boutons pour LISP - CadXP

Aller au contenu

  • 2 Pages +
  • 1
  • 2
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

création boutons pour LISP

#1 L'utilisateur est hors-ligne   philous2 

  • ceinture noire
  • Groupe : Membres
  • Messages : 430
  • Inscrit(e) : 13-février 08

Posté 27 août 2008 - 15:14

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

0

#2 L'utilisateur est en ligne   lili2006 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 12 212
  • Inscrit(e) : 21-décembre 05

Posté 27 août 2008 - 15:52

Bonjour à toutes et tous,

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



1

#3 L'utilisateur est hors-ligne   thry0 

  • ceinture marron
  • Groupe : Membres
  • Messages : 273
  • Inscrit(e) : 12-juin 08

Posté 27 août 2008 - 17:47

Bjr,

Il était question d'un Lisp et pas d'une macro, non ?
Quoiqu'il en soit, bravo pour l'explication en images
Très explicite, superbe ... :P

0

#4 L'utilisateur est hors-ligne   lesourd2 

  • ceinture noire 1er dan
  • Groupe : Membres
  • Messages : 537
  • Inscrit(e) : 23-mai 07

Posté 27 août 2008 - 18:03

Salut

Citation

Quoiqu'il en soit, bravo pour l'explication en images
Très explicite, superbe ...
Comme à son habitude.

Citation

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é.

@+
0

#5 L'utilisateur est hors-ligne   thry0 

  • ceinture marron
  • Groupe : Membres
  • Messages : 273
  • Inscrit(e) : 12-juin 08

Posté 27 août 2008 - 18:39

D'accord, faudra que j'essaie ça, alors !
Merçi pour la précision ;)
0

#6 L'utilisateur est en ligne   lili2006 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 12 212
  • Inscrit(e) : 21-décembre 05

Posté 27 août 2008 - 18:40

Re,

Citation

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

lesourd2 a donné la réponse =>

Citation

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() 


Citation

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


Merci les gars, ;)
0

#7 L'utilisateur est hors-ligne   philous2 

  • ceinture noire
  • Groupe : Membres
  • Messages : 430
  • Inscrit(e) : 13-février 08

Posté 27 août 2008 - 22:15

Merci de la réponse c'est bon

A +

PHIL
0

#8 L'utilisateur est hors-ligne   thry0 

  • ceinture marron
  • Groupe : Membres
  • Messages : 273
  • Inscrit(e) : 12-juin 08

Posté 28 août 2008 - 08:25

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 ;)
0

#9 L'utilisateur est en ligne   lili2006 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 12 212
  • Inscrit(e) : 21-décembre 05

Posté 28 août 2008 - 08:48

Bonjour à toutes et tous,

Citation

^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 =>


Citation

defun c:xy
,

Bonne journée,
0

#10 L'utilisateur est hors-ligne   lesourd2 

  • ceinture noire 1er dan
  • Groupe : Membres
  • Messages : 537
  • Inscrit(e) : 23-mai 07

Posté 28 août 2008 - 08:56

Salut try0

Citation

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:

Citation

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]
0

#11 L'utilisateur est hors-ligne   thry0 

  • ceinture marron
  • Groupe : Membres
  • Messages : 273
  • Inscrit(e) : 12-juin 08

Posté 28 août 2008 - 09:09

Re,

C'est le "Apres le ^C^C tu tapes le code de ta routine ..." qui m'a foutu dedans
j'avais compris qu'il fallait tout ressaisir :o
et pas seulement le nom de la routine
Tout est clair maintenant,
Désolé ...
0

#12 L'utilisateur est en ligne   lili2006 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 12 212
  • Inscrit(e) : 21-décembre 05

Posté 28 août 2008 - 09:14

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
0

#13 L'utilisateur est hors-ligne   (gile) 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 11 425
  • Inscrit(e) : 02-septembre 05

Posté 28 août 2008 - 17:45

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
Image IPB
0

#14 L'utilisateur est hors-ligne   lesourd2 

  • ceinture noire 1er dan
  • Groupe : Membres
  • Messages : 537
  • Inscrit(e) : 23-mai 07

Posté 28 août 2008 - 18:37

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.

0

#15 L'utilisateur est en ligne   lili2006 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 12 212
  • Inscrit(e) : 21-décembre 05

Posté 28 août 2008 - 18:44

Bonsoir à toutes et tous,

Merci pour le "coup de main", (gile),...
0

#16 Guest_samuelM_*

  • Groupe : Invités

Posté 21 mars 2011 - 18:42

Bonjour,
comment faire avec Autocad 2004?
Merci
0

#17 L'utilisateur est en ligne   Aleck Ultimate 

  • ceinture noire 2em dan
  • Groupe : Membres
  • Messages : 1 217
  • Inscrit(e) : 18-novembre 16
  • LocationAlpes de Hautes Provences (04)

Posté 23 décembre 2016 - 11:42

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.
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
0

#18 L'utilisateur est en ligne   lili2006 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 12 212
  • Inscrit(e) : 21-décembre 05

Posté 23 décembre 2016 - 12:04

Bonjour à toutes et tous,

At tu déclaré le chemin de recherche dans AutoCAD ?

Testes ton fichier en le glissant directement dans la fenêtre de dessin de AutoCAD.
AutoCAD MAP 3D 2021 - COVADIS_17.1b
https://www.linkedin...3%ABt-95313341/
0

#19 L'utilisateur est hors-ligne   (gile) 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 11 425
  • Inscrit(e) : 02-septembre 05

Posté 23 décembre 2016 - 12:05

Voir le messageAleck Ultimate, le 23 décembre 2016 - 11:42 , dit :

J'ais pourtant vérifié l'orthographe

Hum...


Voir le messageAleck Ultimate, le 23 décembre 2016 - 11:42 , dit :

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
Image IPB
0

#20 L'utilisateur est en ligne   Aleck Ultimate 

  • ceinture noire 2em dan
  • Groupe : Membres
  • Messages : 1 217
  • Inscrit(e) : 18-novembre 16
  • LocationAlpes de Hautes Provences (04)

Posté 23 décembre 2016 - 15:08

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.
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
0

Partager ce sujet :


  • 2 Pages +
  • 1
  • 2
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

1 utilisateur(s) en train de lire ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)