-
Compteur de contenus
1 013 -
Inscription
-
Dernière visite
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par sechanbask
-
[Résolu] Première boite de dialogue et lancement de fonction
sechanbask a répondu à un(e) sujet de sechanbask dans Débuter en LISP
Je n'ai toujours pas trouvé mon erreur. Je suis donc coincé, pouvez-vous m'aider ? -
Je déterre ce sujet car je viens de tester la réponse de bonuscad : ^C^C_copybase "_none" "*0,0,0" pour moi ça ne marche pas il bloque sur _none, mais nous avons autocad 2011, est-ce que ça vient de là ?
-
[Résolu] Première boite de dialogue et lancement de fonction
sechanbask a posté un sujet dans Débuter en LISP
Bonjour, je cherche à lancer depuis la commande "tbp", une boite de dialogue qui me permettra de lancer la fonction "embranchement_f" et bien d'autre si ça fonctionne. boite de dialogue tubpvc.dcl PVC_EVAC :dialog{ label = "PVC_EVAC"; :column{ :button{label = "RESEAU"; key = "reseau"; fixed_width = true;} :button{label = "CULOTTE"; key = "culotte"; fixed_width = true;} :button{label = "COUDE"; key = "coude"; fixed_width = true;} :button{label = "PIED DE CHUTTE"; key = "pied_de_chute"; fixed_width = true;} :button{label = "TAMPON"; key = "tampon"; fixed_width = true;} :button{label = "ASSEMBLAGE"; key = "assemblage"; fixed_width = true;} :button{label = "REGARD"; key = "regard"; fixed_width = true;} } :button{label = "ANNULER"; key = "cancel"; is_default = false; is_cancel = true;} } (defun c:tbp() (setq id (load_dialog "tubpvc.dcl")) (new_dialog "PVC_EVAC" id) (action_tile "cancel" "(done_dialog)") (action_tile "reseau" "(reseau_f)") (action_tile "culotte" "(embranchement_f)") (action_tile "coude" "(coude_f)") (start_dialog) (unload_dialog id) ) (defun embranchement_f () (unload_dialog id) (setq diam_pvc (getint "Diamètre :")) (setq str_diam_pvc (itoa diam_pvc)) (initget "Gauche Droite") (setq choix (getkword "\nGauche/Droite <Gauche> :")) (if(= choix "Gauche") (command "_insert" (cond((= str_diam_pvc "100")"culotte_bt144_back.dwg") ((= str_diam_pvc "110")"culotte_bv144_back.dwg") ((= str_diam_pvc "125")"culotte_bx144_back.dwg") (T"culotte_onsaitjamais.dwg")) P2 -1 1 P1) ) (if(= choix "Droite") (command "_insert" (cond((= str_diam_pvc "100")"culotte_bt144_back.dwg") ((= str_diam_pvc "110")"culotte_bv144_back.dwg") ((= str_diam_pvc "125")"culotte_bx144_back.dwg") (T"culotte_onsaitjamais.dwg")) P2 -1 -1 P1) ) ) -
Problème corrigé, c'était lié à la fin du code, une ligne en trop qui vient de l'éditeur LISP : [VERIFICATION du TEXTE Chargement de tube.lsp...] ... ; Vérification terminée.
-
QUEL BOULET JE SUIS : Je n'ai pas envoyé le bon code : voici le code qui pose problème : ;dessiner un tube (defun c:tbp() (setq id (load_dialog "tubpvc.dcl")) (new_dialog "PVC_EVAC" id) (action_tile "cancel" "(done_dialog)") (action_tile "culotte" "(Embranchement_f)") (start_dialog) (unload_dialog id) ;;; ICI il manquerait l'enregistrement de l'état de OSMODE (setq diam_pvc (getint "Diamètre :")) (setq P1 (getpoint "premier point :")) (setq P2 (getpoint "second point :")) (command "_line" P1 P2 "") (setq courant_tubpvc (getvar "INSUNITS")) (if (= courant_tubpvc 6) (setq diam_pvc (/ diam_pvc 100)) ) (command "_offset" (/ diam_pvc 2) (entlast) "M" "@-1,0" "@0,-1000" "Q" ) (initget "Embranchement Coude Sortir") (setq choix (getkword "\nEmbranchement/Sortir/Coude <Sortir> :")) (if (= choix "Embranchement") (Embranchement_f) ) (if (= choix "Coude") (Coude_f) ) ;;;Et ici sa restitution ) (defun Embranchement_f () (setq diam_pvc (getint "Diamètre :")) ;transformer la variable diam_pvc en chaine de caractère pour la comparer par la suite (setq str_diam_pvc (itoa diam_pvc)) (unload_dialog id) (initget "Gauche Droite") (setq choix (getkword "\nGauche/Droite <Gauche> :")) (if(= choix "Gauche") (command "_insert" (cond((= str_diam_pvc "100")"culotte_bt144_back.dwg") ((= str_diam_pvc "110")"culotte_bv144_back.dwg") ((= str_diam_pvc "125")"culotte_bx144_back.dwg") (T"culotte_onsaitjamais.dwg")) P2 -1 1 P1) ) (if(= choix "Droite") (command "_insert" (cond((= str_diam_pvc "100")"culotte_bt144_back.dwg") ((= str_diam_pvc "110")"culotte_bv144_back.dwg") ((= str_diam_pvc "125")"culotte_bx144_back.dwg") (T"culotte_onsaitjamais.dwg")) P2 -1 -1 P1) ) ) (defun Coude_f () ;transformer la variable diam_pvc en chaine de carctère pour la comparer par la suite (setq str_diam_pvc (itoa diam_pvc)) (initget "Gauche Droite") (setq choix (getkword "\nGauche/Droite <Gauche> :")) (if(= choix "Gauche") (command "_insert" (cond((= str_diam_pvc "100")"coude_ct44_back") ((= str_diam_pvc "110")"coude_cv44_back") ((= str_diam_pvc "125")"coude_cx44_back") (T"coude_onsaitjamais.dwg")) P2 -1 1 P1) ) (if(= choix "Droite") (command "_insert" (cond((= str_diam_pvc "100")"coude_ct44_back") ((= str_diam_pvc "110")"coude_cv44_back") ((= str_diam_pvc "125")"coude_cx44_back") (T"coude_onsaitjamais.dwg")) P2 -1 -1 P1) ) )[VERIFICATION du TEXTE Chargement de tube.lsp...] ... ; Vérification terminée.
-
La vérification de la fenêtre via l'IDE me renvoie l'erreur, pas besoin des blocs, le code s'arrête avant l'insertion. je te donne le tubpvc.dcl : PVC_EVAC :dialog{ label = "PVC_EVAC"; :row{ :button{label = "RESEAU"; key = "reseau"; fixed_width = true;} :button{label = "CULOTTE"; key = "culotte"; fixed_width = true;} :button{label = "COUDE"; key = "coude"; fixed_width = true;} :button{label = "PIED DE CHUTTE"; key = "pied_de_chute"; fixed_width = true;} :button{label = "TAMPON"; key = "tampon"; fixed_width = true;} :button{label = "ASSEMBLAGE"; key = "assemblage"; fixed_width = true;} :button{label = "REGARD"; key = "regard"; fixed_width = true;} } :button{label = "ANNULER"; key = "cancel"; is_default = false; is_cancel = true;} }
-
Bonjour, je rencontre un problème que l'éditeur de lisp me trouve : comment savoir où se trouve l'erreur et pourquoi ? voici mon code : ;dessiner un tube (defun c:tbp() (setq id (load_dialog "tubpvc.dcl")) (new_dialog "PVC_EVAC" id) (action_tile "cancel" "(done_dialog)") (action_tile "culotte" "(Embranchement_f)") (start_dialog) (unload_dialog id) ;;; ICI il manquerait l'enregistrement de l'état de OSMODE (setq diam_pvc (getint "Diamètre :")) (setq P1 (getpoint "premier point :")) (setq P2 (getpoint "second point :")) (command "_line" P1 P2 "") (setq courant_tubpvc (getvar "INSUNITS")) (if (= courant_tubpvc 6) (setq diam_pvc (/ diam_pvc 100)) ) (command "_offset" (/ diam_pvc 2) (entlast) "M" "@-1,0" "@0,-1000" "Q" ) (initget "Embranchement Coude Sortir") (setq choix (getkword "\nEmbranchement/Sortir/Coude <Sortir> :")) (if (= choix "Embranchement") (Embranchement_f) ) (if (= choix "Coude") (Coude_f) ) ;;;Et ici sa restitution ) (defun Embranchement_f () (setq diam_pvc (getint "Diamètre :")) ;transformer la variable diam_pvc en chaine de caractère pour la comparer par la suite (setq str_diam_pvc (itoa diam_pvc)) (unload_dialog id) (initget "Gauche Droite") (setq choix (getkword "\nGauche/Droite <Gauche> :")) (if(= choix "Gauche") (command "_insert" (cond((= str_diam_pvc "100")"culotte_bt144_back.dwg") ((= str_diam_pvc "110")"culotte_bv144_back.dwg") ((= str_diam_pvc "125")"culotte_bx144_back.dwg") (T"culotte_onsaitjamais.dwg")) P2 -1 1 P1) ) (if(= choix "Droite") (command "_insert" (cond((= str_diam_pvc "100")"culotte_bt144_back.dwg") ((= str_diam_pvc "110")"culotte_bv144_back.dwg") ((= str_diam_pvc "125")"culotte_bx144_back.dwg") (T"culotte_onsaitjamais.dwg")) P2 -1 -1 P1) ) ) (defun Coude_f () ;transformer la variable diam_pvc en chaine de carctère pour la comparer par la suite (setq str_diam_pvc (itoa diam_pvc)) (initget "Gauche Droite") (setq choix (getkword "\nGauche/Droite <Gauche> :")) (if(= choix "Gauche") (command "_insert" (cond((= str_diam_pvc "100")"coude_ct44_back") ((= str_diam_pvc "110")"coude_cv44_back") ((= str_diam_pvc "125")"coude_cx44_back") (T"coude_onsaitjamais.dwg")) P2 -1 1 P1) ) (if(= choix "Droite") (command "_insert" (cond((= str_diam_pvc "100")"coude_ct44_back") ((= str_diam_pvc "110")"coude_cv44_back") ((= str_diam_pvc "125")"coude_cx44_back") (T"coude_onsaitjamais.dwg")) P2 -1 -1 P1) ) )[VERIFICATION du TEXTE Chargement de tube.lsp...] ... ; Vérification terminée.
-
Bonjour, En raison de l'abandon du VBA, je souhaite apprendre le lisp, pour migrer en partie les outils dont j'ai besoin. dans l'éditeur VBA, il était possible de chercher les méthodes pour les fonctions, avec l'éditeur VLISP est-ce possible ? Sinon, où trouvez-vous les commandes ? Par exemple, une commande pour créer un état de calque ?
-
Lancement de fonction avec argument
sechanbask a répondu à un(e) sujet de sechanbask dans Débuter en LISP
Et bien, après plusieurs test, je bloque toujours sur DECALER : ;dessiner un tube (defun c:tubpvc () ;;; ICI il manquerait l'enregistrement de l'état de OSMODE (setq diam_pvc (getint "Diamiètre :")) (setq P1 (getpoint "premier point :")) (setq P2 (getpoint "second point :")) (command "_line" P1 P2 "") (setq der (entget (entlast))) (setq coord (cadr (assoc '10 der))) (command "_offset" (/ diam -2.0) der ) (initget "Embranchement Coude Sortir") (setq choix (getkword "\nEmbranchement/Sortir/Coude <Sortir> :")) (if(= choix "Embranchement")(Embranchement_f)) (if(= choix "Coude")(Coude_f)) ;;;Et ici sa restitution ) (defun Embranchement_f () ;transformer la variable diam_pvc en chaine de carctère pour la comparer par la suite (setq str_diam_pvc (itoa diam_pvc) ) (initget "Gauche Droite") (setq choix (getkword "\nGauche/Droite <Gauche> :")) (if(= choix "Gauche") (command "_insert" (cond((= str_diam_pvc "100")"culotte_bt144_back.dwg") ((= str_diam_pvc "110")"culotte_bv144_back.dwg") ((= str_diam_pvc "125")"culotte_bx144_back.dwg") (T"culotte_onsaitjamais.dwg")) P2 -1 1 P1) ) (if(= choix "Droite") (command "_insert" (cond((= str_diam_pvc "100")"culotte_bt144_back.dwg") ((= str_diam_pvc "110")"culotte_bv144_back.dwg") ((= str_diam_pvc "125")"culotte_bx144_back.dwg") (T"culotte_onsaitjamais.dwg")) P2 -1 -1 P1) ) ) (defun Coude_f () ;transformer la variable diam_pvc en chaine de carctère pour la comparer par la suite (setq str_diam_pvc (itoa diam_pvc) ) (initget "Gauche Droite") (setq choix (getkword "\nGauche/Droite <Gauche> :")) (if(= choix "Gauche") (command "_insert" (cond((= str_diam_pvc "100")"coude_ct44_back") ((= str_diam_pvc "110")"coude_cv44_back") ((= str_diam_pvc "125")"coude_cx44_back") (T"coude_onsaitjamais.dwg")) P2 -1 1 P1) ) (if(= choix "Droite") (command "_insert" (cond((= str_diam_pvc "100")"coude_ct44_back") ((= str_diam_pvc "110")"coude_cv44_back") ((= str_diam_pvc "125")"coude_cx44_back") (T"coude_onsaitjamais.dwg")) P2 -1 -1 P1) ) ) voilà l'erreur produite _offset Paramètres courants: Effacer source=Non Calque=Source OFFSETGAPTYPE=0 Spécifiez la distance de décalage ou [Par/Effacer/Calque] <1.0000>: ; erreur: type d'argument incorrect: numberp: nil faut-il récupérer des coordonnées pour les indiquer à la commande _offset ? -
Lancement de fonction avec argument
sechanbask a répondu à un(e) sujet de sechanbask dans Débuter en LISP
bon maintenant que j'ai un peu compris le fonctionnement de tout ça voici mon code : ;dessiner un tube (defun c:tubpvc () ;;; ICI il manquerait l'enregistrement de l'état de OSMODE (setq diam_pvc (getint "Diamiètre :")) (setq P1 (getpoint "premier point :")) (setq P2 (getpoint "second point :")) (command "_line" P1 P2 "") (initget "Embranchement Coude Sortir") (setq choix (getkword "\nEmbranchement/Sortir/Coude <Sortir> :")) (if(= choix "Embranchement")(Embranchement_f)) (if(= choix "Coude")(Coude_f)) ;;;Et ici sa restitution ) (defun Embranchement_f () ;transformer la variable diam_pvc en chaine de carctère pour la comparer par la suite (setq str_diam_pvc (itoa diam_pvc) ) (initget "Gauche Droite") (setq choix (getkword "\nGauche/Droite <Gauche> :")) (if(= choix "Gauche") (command "_insert" (cond((= str_diam_pvc "100")"culotte_bt144_back.dwg") ((= str_diam_pvc "110")"culotte_bv144_back.dwg") ((= str_diam_pvc "125")"culotte_bx144_back.dwg") (T"culotte_onsaitjamais.dwg")) P2 -1 1 P1) ) (if(= choix "Droite") (command "_insert" (cond((= str_diam_pvc "100")"culotte_bt144_back.dwg") ((= str_diam_pvc "110")"culotte_bv144_back.dwg") ((= str_diam_pvc "125")"culotte_bx144_back.dwg") (T"culotte_onsaitjamais.dwg")) P2 -1 -1 P1) ) ) (defun Coude_f () ;transformer la variable diam_pvc en chaine de carctère pour la comparer par la suite (setq str_diam_pvc (itoa diam_pvc) ) (initget "Gauche Droite") (setq choix (getkword "\nGauche/Droite <Gauche> :")) (if(= choix "Gauche") (command "_insert" (cond((= str_diam_pvc "100")"coude_ct44_back") ((= str_diam_pvc "110")"coude_cv44_back") ((= str_diam_pvc "125")"coude_cx44_back") (T"coude_onsaitjamais.dwg")) P2 -1 1 P1) ) (if(= choix "Droite") (command "_insert" (cond((= str_diam_pvc "100")"coude_ct44_back") ((= str_diam_pvc "110")"coude_cv44_back") ((= str_diam_pvc "125")"coude_cx44_back") (T"coude_onsaitjamais.dwg")) P2 -1 -1 P1) ) ) Est-ce que l'on pourrait m'expliquer comment faire pour décaler la ligne de la moitié du diamètre ? j'avais tenter un truc du genre : ;(setq der (entget (entlast))) ;(setq coord (cadr (assoc '10 der))) ;(command "DECALER" (/ diam 2) der @-1 "") mais je n'arrivais pas à grand chose... -
Lancement de fonction avec argument
sechanbask a répondu à un(e) sujet de sechanbask dans Débuter en LISP
je viens de trouver il faut mettre un itoa pour transformer la variable dim en chaine -
Lancement de fonction avec argument
sechanbask a répondu à un(e) sujet de sechanbask dans Débuter en LISP
La commande FIN qui lancera une fonction d'insertion d'un autre bloc. Je ne l'ai pas mise ici. je viens de regarder ton code et de le tester : lorsque que je rentre le diamètre à 100, il ne cherche pas à insérer la bonne culotte pourquoi ? TUBPVC Diamiètre :100 premier point :second point :_line Spécifiez le premier point: Spécifiez le point suivant ou [annUler]: Spécifiez le point suivant ou [annUler]: Commande: Embranchement/Sortir <Sortir> :e _insert Entrez le nom du bloc ou [?]: culotte_onsaitjamais.dwg "culotte_onsaitjamais.dwg": Impossible de trouver le fichier dans le chemin de recherche: -
Bonjour, Je cherche à lancer une commande puis une fonction avec paramètre. Je n'ai droit qu'à un nil : ;dessiner un tube (defun c:tubpvc () (setq diam (getint "Diamiètre :")) (setq P1 (getpoint "premier point :")) (setq P2 (getpoint "second point :")) (command "_line" P1 P2 "") ;selectionner l'ancien objet ;et le décaler de la moitié du diamètre ;(setq der (entget (entlast))) ;(setq coord (cadr (assoc '10 der))) ;(command "DECALER" (/ diam 2) der @-1 "") ;(while (setq der (entnext der)) ;(ssadd der js) ;) ;(command "DECALER" diam/2 der "-1" "") (initget 1 "Embranchement Fin") (setq choix (getkword "Embranchement, Fin")) (if (= choix "Embranchement") (Embranchement)) (if (= choix "Fin") (command "Fin")) ) (defun Embranchement () (if (= diam "100") (command "_insert" "culotte_bt144_back.dwg" P2 1 1 pause) ) (if (= diam "110") (command "_insert" "culotte_bv144_back.dwg" P2 1 1 pause) ) (if (= diam "125") (command "_insert" "culotte_bx144_back.dwg" P2 1 1 pause) ) ) pour l'instant je n'arrive pas décaler l'axe des 2 cotés pour faire du bifilaire, mais déjà si j'arrive à insérer les blocs...
-
Bonjour, Je cherche à créer un script pour supprimer le calque HIDDEN (qui contient des objets), mettre toutes les entités du calque THICK dans le 0 et à purger le tout. J'ai commencé comme ça mais je bloque car la commande _-layer ne se termine pas du coup mon script s'arrête... comment dire ENTRER à mon script ce n'est pas un saut de ligne ? _-layer CH 0 G HIDDEN _ai_selall _laycur _-layer L HIDDEN G 0 CH HIDDEN _ai_selall _erase _-layer CH 0 _qsave Pouvez-vous m'aider ?
-
Proposition et sa récupération
sechanbask a répondu à un(e) sujet de sechanbask dans Débuter en LISP
merci -
Proposition et sa récupération
sechanbask a répondu à un(e) sujet de sechanbask dans Débuter en LISP
merci, comme je débute vraiment du coup l'adaptation entre mon code est tes améliorations me posent problème : _insert Entrez le nom du bloc ou [?]: ; erreur: une erreur est survenue dans la fonction *erreur*paramètre de la variable AutoCAD rejeté: "OSMODE" nil Entrez le nom du bloc ou [?]: *Annuler* j'ai essayé ça mais ça marche point : ;Insertion d'un piquage par le dessus (defun c:sd () (initget "100 125 150") (setq diam_plb_sd_coll (getkword "\nDiamètre collecteur[100/125/150] <100>: ")) (if (not diam_plb_sd_coll) (setq diam_plb_sd_coll "100")) (initget "40 50") (setq diam_plb_sd_piq (getkword "\nDiamètre piquage [40/50] <50>: ")) (if (not diam_plb_sd_piq) (setq diam_plb_sd_piq "50")) (prin1) (command "_insert" (strcat "assemblage_PVC_" (itoa diam_plb_sd_coll) "_" (itoa diam_plb_sd_piq) "_c.dwg") pause 1 1 pause) (princ) ) ) -
Bonjour, Je cherche à insérer différents blocs en ligne de commande, les blocs sont choisis en fonction des réponses des utilisateurs. Le choix est restreint (diamètre collecteur : 100 125 150) (diamètre piquage 40 50), mais pour l'instant je ne peux pas afficher à l'utilisateur ces différents choix possibles. Plus important, j'aimerais que certaines valeurs soient choisie par défaut pour que l'utilisateur puisse faire entrer sans taper le diamètre collecteur (très souvent en 100) et le diamètre du piquage (très souvent en 50). Voici mon début de code ;Insertion d'un piquage par le dessus (defun c:sd () (setq diam_plb_sd_coll (getint "Diamètre collecteur :")) (setq diam_plb_sd_piq (getint "Diamètre piquage : ")) (command "_insert" (strcat "assemblage_PVC_" (itoa diam_plb_sd_coll) "_" (itoa diam_plb_sd_piq) "_c.dwg") pause 1 1 pause) Pouvez-vous m'apporter un peu d'aide ?
-
je confirme le "bug"
-
c'est parfait MERCI MERCI
-
Bonjour, Je possède un plan architecte un peu lourd car il est exclusivement formée de multilignes (des centaines) avec remplissage + forçage des couleurs. Je ne peux pas les modifier manuelement (?? pourquoi, j'en sais rien). Est-il possible par programmation de passer toutes ses styles de multilignes en couleur "du calque" et sans remplissage ? RDJ extrait Z3.zip
-
merci pour tout, j'ai finalement pris l'option pour définir le calque : (defun c:RVR() (setq calque_rev (getstring "\nCalque à utiliser pour les nuages de révision : ")) (vlax-ldata-put "calques" "calque_nuage_rev" calque_rev) ) l'utilisation finale : (defun c:CVB() ; affiche une boite mais pour l'instant c'est tout ;(setq Id(load_dialog "RVV.dcl")) ;(new_dialog "bienvenue" Id) ;(start_dialog) (setq courant_cvb (getvar "clayer")) (setq accroche_cvb (getvar "osmode")) (setvar "osmode" 0) (command "clayer" (vlax-ldata-get "calques" "calque_nuage_rev" )) (command "rectangle" pause pause) (setq der_cvb (entlast) js (ssadd)) (if (= 4 (getvar "INSUNITS")) (command "NUAGEREV" "longueur" "500" "500" "objet" der_cvb "non")) (if (= 5 (getvar "INSUNITS")) (command "NUAGEREV" "longueur" "50" "50" "objet" der_cvb "non")) (if (= 6 (getvar "INSUNITS")) (command "NUAGEREV" "longueur" "0.5" "0.5" "objet" der_cvb "non")) (setvar "osmode" accroche_cvb) (command "clayer" courant_cvb ) ) Je pense que je ferais de même pour les cotations...S'il y a des améliorations surtout dans le CVB, n'hésitez pas.
-
désolé mais j'ai toujours la même erreur après avoir fait la modification et recharger mon lisp : (defun c:prde() (getCustomDwgProp "essai") ) (defun getCustomDwgProp (key / app counter counter2 counter3 doc dwgprops k v) (vl-load-com) (setq App (vlax-Get-Acad-Object) Doc (vla-Get-ActiveDocument App) DwgProps (vla-Get-SummaryInfo Doc) counter 0 counter2 (vla-NumCustomInfo DwgProps) ) (while (< counter counter2) (vla-GetCustomByIndex DwgProps counter 'k 'v) (if (eq key k) (setq counter3 counter) ) (setq counter (+ 1 counter)) ) (setq k nil v nil ) (if counter3 (vla-GetCustomByIndex DwgProps counter3 'k 'v) ) (if v v nil ) ) ça vient de moi ?
-
je suis un débutant en lisp : j'ai fait un fichier .lsp que j'ai chargé dans autocad et qui contient : (defun c:prde() (getCustomDwgProp "essai") ) (defun getCustomDwgProp (key / app counter counter2 counter3 doc dwgprops k v) (vl-load-com) (setq App (vlax-Get-Acad-Object) Doc (vla-Get-ActiveDocument App) DwgProps (vla-Get-SummaryInfo Doc) counter 0 counter2 (vla-NumCustomInfo DwgProps) ) (while (< counter counter2) (vla-GetCustomByIndex DwgProps counter 'k 'v) (if (eq "fsdf" k) (setq counter3 counter) ) (setq counter (+ 1 counter)) ) (setq k nil v nil ) (if counter3 (vla-GetCustomByIndex DwgProps counter3 'k 'v) ) (if v v nil ) ) et lorsque je le lance, j'ai droit à une seule réponse nil... j'ai dû oublier quelque chose.
-
Je ne comprends pas en quoi le fil peut m'aider car il ne parle que de xdata que je ne peux pas utiliser. La commande PROPDESS est pratique mais en programmation comment accéder à l'onglet et à l'ajout de variable ??
-
merci pour cette solution elle me conviendrait dans les 3/4 des dossiers sur lesquels je travaille, mais là mes plans sont vérifiés par des macros, et les macros ne sont commodes, impossible de négocier. Donc je suis preneur d'une solution plus AutoCADémique...
