Aller au contenu

Messages recommandés

Posté(e)

Salut à tous,

 

Depuis le temps que je fait chier les gens en LISP sur le forum, j'ai décidé de passer le cap :)

 

Mon premier LISP ne fonctionne pas... Bah oui faut bien commencer hein !

 

(defun c:testsdu ()
 (entsel "\sélectionner les objets")
 (ssname (eq (entsel "\sélectionner l'objet de base) nil))

)

 

Et autocad me dit :

 

TESTSDU-1.LSP correctement chargé(s)
Commande:
Impossible d'appeler (command) à partir de *error* sans appeler préalablement (*push-error-using-command*).
Il est recommandé de convertir les appels (command) en (command-s).
Commande:

 

Je débute donc c'est surement un soucis lié à "la grammaire" LISP, mais bon :)

Je suis tout ouï

 

PS : Didier c'est à cause (GRACE) à toi que je me suis décidé à passer le cap :) (PS : je vous aime amis LISPEURs ;) )

"98% des soucis informatiques sont assis entre la chaise et le bureau !"

 

"C'est parce que la vitesse de la lumière est supérieure à celle du son que tant de gens paraissent brillants avant d'avoir l'air con."
Posté(e)

Je n'y connais pas grand chose moi non plus. Mais déjà, regardes bien ta sélection de l'objet de base. Tu ouvres quelque chose, mais tu ne le referme pas.....

www.cad-is.fr
Autocad Map 2021 - Covadis/Autopiste V18.2c
Pisser sous la douche ne suffira pas
Posté(e)

Coucou

 

Première chose à expliquer lorsque tu poses une question :

Quel est le but à atteindre ?

 

En lisant ce bout de code je ne devine pas...

 

Toutefois tu devrais avoir une variable pour stocker ce que tu vas choisir par entsel

exemple :

(seqt ma_variable (car(entsel"\nChoix d'une entité\n")))

 

Choix d'une entité va s'afficher en ligne de commande

et ta variable "ma_variable" va contenir le nom (ename) de l'entité

le "car" c'est parce que la liste renvoyée est composée du nom de l'entité (l'ename) et le point par lequel elle a été sélectionnée

 

Je vais bientôt faire des petits cours comme ça sur mon site mais pour l'instant je manque de temps

 

je viens d'aller voir et ce que j'explique dans ma page ENTSEL correspond en toutes lettres à ce que je viens de dire, donc : il faut bien lire... Mon lien

Amicalement

Éternel débutant…
Mon site perso : Programmer dans AutoCAD

 

Posté(e)

nG! prend le bus du lisp..

Félicitation !

 

Petit conseil de débutant à débutant. Plus que d'expliquer le but à atteindre, commence par faire des algorithmes. Ecrire en français toutes les étapes, car au delas de la grammaire du codes, il y a la logique du programme qui fait que parfois un code interprétable ne donne pas de bon résultat. Si tu l'avais fait, tu aurai vite vu que tu n'avais pas stocké ton 1er (ensel sans le traiter pour autant.

Après pour la grammaire, il te faut l'initiation de (gile), les guides de ref des fonctions et des codes DXF. J'ai stocké des liens vers tout ça ici

Il faudra que je mette ces pages à jours avec des liens vers celles de didier car ça promet du lourd. J'ai posé qqs exemples de code, mais pas sur qu'il soit top. si tu cherches des exemples, épluche plutôt des codes de pro... ya tout ce qu'il faut ici :)

 

ha lala, le manque de temps... pour passer un bon long weekend de Toussaint ramassez des olives... pfff

Posté(e)

Salut,

 

@Didier : Désolé j'avais pas vu que tu pouvais cliquer sur les fonctions... (me tape pas stp)

 

@La lozère : y'a pas un système de lecture pas à pas? (les icones et les termes du pluggin LISP sont pas super claires)

 

@X_all : merci pour les encouragements et les liens, tout est bon a prendre :)

 

@Phil : Quand on sais pas rouler à vélo on parle pas :P (:troll:)

 

 

 

EDIT : Le but du petit bout de code que j'ai mis cétait de faire un équivalent d'une sélection rapide (commande lisp ->sélection 1-> sélection similaire à la sélection 1 dans le dessin)

Je m'y remet sérieusement cet après midi j'ai quelques trucs sur le feu à toute ;) (Et n'hésitez pas je préfére que vous me "cassiez" mais que ça sois constructif que ne rien me dire et me laisser en plan ;) )

"98% des soucis informatiques sont assis entre la chaise et le bureau !"

 

"C'est parce que la vitesse de la lumière est supérieure à celle du son que tant de gens paraissent brillants avant d'avoir l'air con."
Posté(e)

Le but du petit bout de code que j'ai mis cétait de faire un équivalent d'une sélection rapide (commande lisp ->sélection 1-> sélection similaire à la sélection 1 dans le dessin)

Je m'y remet sérieusement cet après midi j'ai quelques trucs sur le feu à toute ;) (Et n'hésitez pas je préfére que vous me "cassiez" mais que ça sois constructif que ne rien me dire et me laisser en plan ;) )

 

Tu peux t'inspirer des routines de Spécial_Selections.lsp sur cette page.

 

La première routine avec des commentaires :

;; Sélection par calque
(defun c:ssl (/ ss ent)
 (and ; si... ('and' joue ici le rôle de 'if')
   (or
     ;; soit...
     (and
       (setq ss (cadr (ssgetfirst)))   ; une sélection est active et...
       (= 1 (sslength ss))             ; elle ne contient qu'une entité et ...
       (setq ent (ssname ss 0))        ; on affecte à ent cette entité
     )
     ;; soit...
     (and
       (sssetfirst nil nil)            ; on déselectionne tout et...
       (setq ent (car (entsel)))       ; l'utilisateur sélectionne une entité
     )
   )
   ;; on active une sélection de toutes les entités sur le même calque que l'entité sélectionnée
   (sssetfirst nil (ssget "_X" (list (assoc 8 (entget ent)))))
 )
 (princ)
)

 

Tu trouveras des explication sur les fonctions utilisées dans la rubrique 16 Accès aux objets du dessin de Introduction à AutoLISP (sur cette page).

entsel : 16.1

entget : 16.2

ssget, sslength, ssname, ssgetfirst, sssetfirst : 16.3

les filtres de sélection : 16.4

 

Les opérateurs loginque and et or sont traités à la rubrique 12.2.

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Salut...

 

+1 avec Maître (gile)...(forcément)

 

Son "Introduction à AutoLISP" est une merveille, je le consulte plusieurs fois par jour quand j'ai un lisp à faire ! !

 

Il y décrit aussi le mode "pas à pas"

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Posté(e)

L'Introduction a AutoLISP est un outil indispensable a tout débutant, et j'ai l'impression que le site de Didier va devenir un second outil indispensable !

Posté(e)

Bon pas eu le temps de reprendre une mouture, mais je viens de me rendre compte que je suis loin du compte...

 

Je potasse ce week-end ;)

 

Je reviens plus fort que jamais xD

"98% des soucis informatiques sont assis entre la chaise et le bureau !"

 

"C'est parce que la vitesse de la lumière est supérieure à celle du son que tant de gens paraissent brillants avant d'avoir l'air con."
Posté(e)

L'Introduction a AutoLISP est un outil indispensable a tout débutant, et j'ai l'impression que le site de Didier va devenir un second outil indispensable !

+1, sur les deux points...

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

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é