Aller au contenu

Ayez enfin je débute


nG! Hebus

Messages recommandés

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."
Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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."
Lien vers le commentaire
Partager sur d’autres sites

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

 

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

Lien vers le commentaire
Partager sur d’autres sites

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."
Lien vers le commentaire
Partager sur d’autres sites

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)

Lien vers le commentaire
Partager sur d’autres sites

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é