-
Compteur de contenus
4 029 -
Inscription
-
Dernière visite
-
Jours gagnés
21
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par DenisHen
-
Re. Juste une petite question, j'ai, dans ma DCL : ... :toggle{ label= "Calque des points 2D"; key="Calq2DTxt"; value=ValCalq2D; } :edit_box{ key="Pt2D"; edit_width=8; value=Claq2D; allow_accept=true; } ... Et dans mon LISP : ... (set_tile "ValCalq2D" ValCalq2D$) ;;ValCalq2D$ = "TOPO_XY" ou rien (set_tile "Calq2D" Calq2D$) ;;Calq2D = "0" ou "1" ... Mais rien ne fonctionne... AutoCAD me répond : J'ai aussi essayé avec Calq2D= 0 ou 1 et value="Claq2D"; Si quelqu'un voit mon erreur ou peut me dire à quoi correspond la réponse d'AutoCAD, je suis preneur...
-
Merci à vous deux... Je vais donc continuer mes piétinements en LISP/DCL...
-
Salut à la communauté... J'ai juste une petite requête, au vu de l'excellent "Introduction_a_AutoLISP.pdf" de Maître (gile). Y-aurait-il un tuto sur les fenêtres DCL ? Car je cherche à agir à l'intérieur même d'un DCL (un toggle qui activerait/désactiverait un text_box) mais je n'ai rien trouvé de probant là-dessus. Même sur DCL Dialog. Denis...
-
Salut. J'ai fais aussi ce constat, lorsque je tape vite "RG", AutoCAD ne prend que le "R" et redessine le plan au lieu de "RG" qui le régénérerait. Ma variable "INPUTSEARCHDELAY" est bien à 300.
-
Bonjour. Le plus judicieux serait de faire de tes différents textes un bloc qui comportera 4 lignes, utiliser ExcelAttribut de (gile), ensuite, une petite mise en forme dans Excel sera, je pense, suffisant.
-
Salut. Je doute que ce soit faisable... Mais le symbole "saut de ligne" dans un texte multiligne est "\P" . Denis...
-
Salut. Donc, juste histoire de comprendre, tu lance ton LISP qui lit la première ligne du CSV, tu sélectionnes une ou plusieurs entités, tu fais [ENTRER], les entités se déplacent vers les coordonnées de la ligne lu, puis, le LISP lit la ligne suivante et ainsi de suite ?
-
Bonjour au forum... Et félicitations donc aux gestionnaires pour nous "rendre" notre CadXP... C'est vrai que pendant l’absence du site, on s'est bien rendu compte à quel point il nous est indispensable...
-
[Résolu] TblSearch avec caractères génériques
DenisHen a répondu à un(e) sujet de DenisHen dans Débuter en LISP
Merci à vous deux pour toutes ces précisions... -
[Résolu] TblSearch avec caractères génériques
DenisHen a répondu à un(e) sujet de DenisHen dans Débuter en LISP
Salut (gile) et merci de m'aider... C'est exactement ce que je cherchais... Mais j'étais à mille lieux de la solution... Oui, la double négation est un peu "capilotractée"... ;) Effectivement, la routine de (gile) est encore "complexe" pour mon piètre niveau... Mais elle m'en apprend tout de même... Encore merci à vous deux... -
[Résolu] TblSearch avec caractères génériques
DenisHen a répondu à un(e) sujet de DenisHen dans Débuter en LISP
Salut Patrick_35, et merci pour ton aide. J'avoue ne jamais avoir utilisé wcmatch... Et l'aide est très "light"... Je tente de faire quelques tests mais rien de probant... (defun c:DHWcMatch () ;;Teste pour chercher un calques avec caractères génériques (if (/= (wcmatch LAYER "*ASS*") nil) (princ "\nCalque trouvé") (princ "\nCalque non trouvé") ) ;_ Fin de if ) -
Bonjour à tous. Voilà, aujourd'hui, je cherche à savoir si un calque contenant "ASS" existe. J'ai donc un (tblsearch mais je ne peut pas y mettre des caractères génériques. comme ceci : (tblsearch "layer" "*ASS*") Qui me donne comme réponse nil, ce qui est normal puisqu’il n’existe pas de calque nommé "*ASS*"... Si quelqu'un a une astuce, un conseil... Je suis preneur...
-
Ce n'était nullement mon intention. De plus, je suis, et ce n'est pas la première fois, d'accord avec toi. C'était juste un petit bout de code qui servirait de base à la compréhension du Lisp, juste un petit rappel... Je ne voulais pas m’immiscer dans les conseils des grands... Je proposais juste mon point de vue de novice, car je comprends très bien La Lozère, on débute tout les deux... Amicalement...
-
Salut à tous... Effectivement didier, ne pas mettre la barre trop haute, mais je pense qu'il a juste besoin d'une piqure de rappel... Et à mon niveau (au raz des pâquerettes) si j'y suis parvenu, je ne pense pas que ça lui est inaccessible... Juste une question, est-ce que le Lisp réagit comme le VBA. Un ligne avec close fermerait-elle tous ce qui est ouvert ?
-
Salut LaLozère. Voici juste une petite aide pour la compréhension de Str2Lst de (gile). (defun c:TestPourLaLozere (/ Lign LignList) (setq Lign "526;162658.251;552365.258;125.27;LgnTg") ; (read-line fichier)) (setq LignList (str2lst Lign ";")) (princ (strcat "\nLignList type 1 : \nMatri=" (car LignList) "\nX=" (cadr LignList) "\nY=" (caddr LignList) ) ;_ Fin de strcat ) ;_ Fin de princ (princ (strcat "\nLignList type 2 : \nMatri=" (nth 0 LignList) "\nX=" (nth 1 LignList) "\nY=" (nth 2 LignList) ) ;_ Fin de strcat ) ;_ Fin de princ (princ) ) AutoCAD te répondra : Tu auras donc LignList = ("526" "162658.251" "552365.258" "125.27" "LgnTg") En espérant t'être utile... Denis...
-
[Résolu] Ename mais en fait, non...
DenisHen a répondu à un(e) sujet de DenisHen dans Débuter en LISP
Salut. Et merci (gile) pour cette précision, mais en fait, je faisais un petit test, car ce code fait parti d'un code plus grand que je n'ai pas mis pour ne pas "embrouiller" : (setq Prof (vlax-ldata-get "DenisH" "EtiqPRD_OldProf")) (if (= Prof nil) (setq Phrase (strcat "\nSélectionnez la profondeur : ")) (setq Phrase (strcat "\nSélectionnez la profondeur <" Prof "> : ")) ) ;_ Fin de if (if (= (vlax-ldata-get "DenisH" "EtiqPRD_Prof") "Oui") (progn (setq Txt_Prof (car (entsel Phrase))) (if (= Txt_Prof 'ENAME) (progn (setq TextSuppProf Txt_Prof) (wcmatch (cdr (assoc 0 (setq elst (entget Txt_Prof)))) "*PROF") (setq Prof (cdr (assoc 1 elst))) ;; Suppression des textes "P" et "M" dans le Prof (if (= T (wcmatch Prof "*#*")) (progn (setq Prof (vl-string-left-trim "Pf:" (vl-string-right-trim "m" Prof))) (setq Prof (vl-string-left-trim "P=" (vl-string-right-trim "M" Prof))) (setq Prof (vl-string-left-trim "P:" )) (setq Prof (vl-string-left-trim "P" )) (setq Prof (vl-string-left-trim "p" )) ) ;_ Fin de progn ) ;_ Fin de if (setq Prof (+ (atof Prof) (atof (vlax-ldata-get "DenisH" "EtiqPRD_Cste")))) (setq Prof (rtos Prof 2 2)) (vlax-ldata-put "DenisH" "EtiqPRD_OldProf" Prof) ) ;_ Fin de progn ) ;_ Fin de if ) ;_ Fin de progn ) ;_ Fin de if Merci encore pour ton aide... Denis... -
Salut La Lozère. Malgré un soleil radieux aujourd'hui (je bosse mes lisp, donc, pas de sortie :( ), je te propose ce petit lisp (de Patrick_35) pour lire directement dans un fichier XLS (attention, pas XLSX). C'est assez facile, bien que... Le voici : (defun c:LectureExcel (/) (setq fichier (findfile "Fichier.xls")) ;;Lancement d'Excel (setq xls (vlax-get-or-create-object "Excel.Application")) ;;Ouverture du fichier Excel (setq classeur (vlax-invoke (vlax-get xls 'Workbooks) 'open fichier)) ;;Sélection de la feuille (setq feuille (vlax-get-property (vlax-get classeur 'Sheets) 'Item "NomFeuille")) ;;Incrémentation de la ligne à lire (setq NbLignXls 2) ;;Lecture de la cellule (A=colonne Excel, NbLignXls=Ligne Excel) (while (setq CelA (vlax-get (vlax-get-property feuille 'Range (strcat "A" (itoa NbLignXls))) 'Value)) (setq CelB (vlax-get (vlax-get-property feuille 'Range (strcat "B" (itoa NbLignXls))) 'Value)) (setq LstCel (cons (strcat CelA ";" CelB) LstCel)) (setq NbLignXls (+ NbLignXls 1)) ) ;_ Fin de while ;Ferme le classeur (vlax-invoke classeur 'close :vlax-false) (mapcar 'vlax-release-object (list feuille classeur xls)) ;Aucune idée... (gc) (gc) ) ;_ Fin de defun Je ne pense pas oublier quelque chose... En gros, je lis la cellule A1, puis la B1, puis je les place dans une variable avec un séparateur, le ";"... En espérant t'être utile... Denis...
-
[Résolu] Ename mais en fait, non...
DenisHen a répondu à un(e) sujet de DenisHen dans Débuter en LISP
Bon, j'ai trouvé la solution dans un autre poste. Je la donne pour partager... C'est en fait 'ENAME avec l'apostrophe qu'il faut placer... -
Bonjour à tous. Pour les besoins d'une petite routine, je tente de savoir si une variable est un ENAME ou pas... Voici mon lisp de text : (defun c:TestEname (/) (setq Txt_Prof (car (entsel "Sélection d'entité :"))) (if (= (type Txt_Prof) ENAME) (princ "\nEname") (princ "\nNot Ename") ) (princ) ) Mon problème est que, quand je sélectionne une entité AutoCAD, ma routine teste fait l'opposé de ce que je "veux"... Lorsque je clique sur une entité, AutoCAD me répond "Not Ename" et si je ne clique rien, J'obtient "Not Ename"... Si quelqu'un a une astuce, un conseil... Je suis preneur...
-
Merci didier pour cette précision... ;)
-
Je viens de me rappeler... didier, ici présent, m'avait aimablement poster une petite routine pour trouver le cadran d'un gisement... Si toutes fois ça peut t'aider... C'est ici... Encore merci à didier pour cette routine...
-
Pour la lecture et l'écriture de fichier au format ASCII, tu peux t'inspirer librement de mon LISP nommé "Flèche + XYZ + Textes" Il y a comme options, l'écriture de données et la lecture de ces mêmes données dans un fichier ASCII avec comme séparateur, le ";"... Je suis aussi débutant, donc, ça ne doit pas être trop difficile de me lire... Si tu as la moindre question, n’hésite pas... Denis...
-
Salut. Je pense que Maître (gile) a fait une petite bourde... P1 <> pt1... Il voulait écrire : (setq pt1 (getpoint "\nPremier point : ")) (rtos (car pt1) 2 16) ; CF Introduction à AutoLISP chapitre 14.2 Tu peux aussi laisser LUPREC agir (sans fixer les décimales avec le 16) : (defun c:TestLaLozere () (setq pt1 (getpoint "\nPremier point : ")) (princ (strcat "\nX=" (rtos (car pt1) 2))) (princ (strcat "\nY=" (rtos (cadr pt1) 2))) (princ) )
-
Salut. Comme le souligne Patrick_35, il se peut qu'il manque quelque chose dans ta macro Excel. Regarde dans le VBA d'Excel, menu Outils -> Références... Vérifie qu'il n'y a pas de "MANQUANT".
-
Problème de publication vis à vis de certains fichiers
DenisHen a répondu à un(e) sujet de virgil62 dans AutoCAD 2014
Salut Virgil62, Vu que nous sommes dans la rubrique AutoCAD 2014, as-tu pensé au Lisp de Patrick_35 nommé "ONG" ? Ou alors, je me plante complètement... Denis...
