Demixav Posté(e) le 21 novembre 2014 Posté(e) le 21 novembre 2014 Bonjour à tous... J'essaie de modifier un LISP et je pense que ca bloque au sujet du "nom de l'objet" que je souhaite sélectionner...Désolé si je me trompe sur l'exactitude des termes déjà! Voilà, par exemple, dans les lisp, quand on nomme un cercle, il est écrit "CIRCLE" ou pour une polyligne c'est "LWPOLYLINE"... si je ne m'abuse!Qu'en est il pour les fenetres de présentation? pour les fmult?Comment faire pour connaitre le "nom en LISP" d'un objet? j'ai bien tenté de passer par le "nom de l'objet" avec un champ mais ca me retourne "AcDbViewport"... mais c'est pas ca... :( Dans le désespoir, j'ai noté "FENETRE" et "FMULT" mais pas ca non plus je suppose... :( Le LISP en question ci dessous... je souhaite sélectionner une fenetre pour avoir une insertion de texte avec son echelle perso! je sais que l'échelle perso ne correspond pas à l'échelle vraie de la fenetre mais c'est pour me lancer des pistes et pourquoi pas apres remanier ca avec une formule avec un rapport à 1000 pour avoir la vraie échelle...Quand je lance ce LISP j'ai ce message "Spécifiez le point d'insertion: ; erreur: type d'argument incorrect: stringp nil" Merci pour votre aide!Bon week!Xav (defun c:chp_ech (/ AcDoc Space obj ins) (vl-load-com) (setq AcDoc (vla-get-ActiveDocument (vlax-get-acad-object)) Space (if (= 1 (getvar "CVPORT")) (vla-get-PaperSpace AcDoc) (vla-get-ModelSpace AcDoc) ) ) (if (and (setq obj (car (entsel))) (member (cdr (assoc 0 (entget obj))) '("FENETRE" "FMULT" "VIEWPORT") ) (setq ins (getpoint "\nSpécifiez le point d'insertion: ")) ) (vla-addMtext Space (vlax-3d-point ins) 0.0 (strcat "%<\\AcObjProp Object(%<\\_ObjId " (itoa (vla-get-ObjectID (vlax-ename->vla-object obj))) ">%).ViewportOn \f "%bl0\">%" ) ) ) (princ) ) AutoCad Map 3D 2011 - Covadis v16.0dWindows 7 - 64b
(gile) Posté(e) le 21 novembre 2014 Posté(e) le 21 novembre 2014 Salut, Les noms dont tu parles sont les noms DXF (AcDbViewport est le nom de classe ObjectARX). Les noms DXF sont assez faciles à obtenir en LISP pour les entités graphiques (qu'on peut sélectionner) :(setq ent (car (entsel))) retourne le nom d'entité sélectionnée (ENAME ou identifiant de l'entité). (setq elst (entget ent)) retourne la liste de données DXF de l'entité. (cdr (assoc 0 elst)) retourne le nom DXF de l'entité (code de groupe 0). donc :(cdr (assoc 0 (entget (car (entsel))))) retourne directement le nom DXF de l'entité sélectionnée.Fais une recherche avec DXF dans l'aide ou mieux, suis les instructions décrites ici pour avoir l'aide AutoLISP / Visual LISP "à l'ancienne" dans laquelle tu trouveras une rubrique entière en français dédiée aux 'Références DXF'. Pour avoir le nom de classe ObjectARX, on peut le faire en Visual LISP :(vla-get-ObjectName (vlax-ename->vla-object (car (entsel))))ou en AutoLISP :(cdr (assoc 100 (reverse (entget (car (entsel)))))) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Demixav Posté(e) le 26 novembre 2014 Auteur Posté(e) le 26 novembre 2014 Bonjour (gile)! Merci pour ta réponse et tes conseils... je vais regarder tout ca pour corriger "mon" LISP! Bonne journée!Xav AutoCad Map 3D 2011 - Covadis v16.0dWindows 7 - 64b
Demixav Posté(e) le 28 novembre 2014 Auteur Posté(e) le 28 novembre 2014 Bonjour, Je suis en train de plancher un peu sur l'aide "acad_dev180.chm" que (gile) m'a conseillé... et il a bien fait! :)Mais est ce que cet aide existe en français? Bon week!Xav AutoCad Map 3D 2011 - Covadis v16.0dWindows 7 - 64b
(gile) Posté(e) le 28 novembre 2014 Posté(e) le 28 novembre 2014 Salut, Non cette aide n'existe qu'en anglais (à part la rubrique DXF).En français, gratuit, tu as : Introduction à AutoLISP. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Demixav Posté(e) le 1 décembre 2014 Auteur Posté(e) le 1 décembre 2014 Salut (gile)! Merci pour le lien et pour le partage "gratuit" de ton savoir... ca devient rare! vraiment sympa! :) Bonne soirée!Xav AutoCad Map 3D 2011 - Covadis v16.0dWindows 7 - 64b
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant