Big666 Posté(e) le 12 mai 2020 Partager Posté(e) le 12 mai 2020 version 2017 pour autocad.impossible de rajouter une ligne avec le chemin des lips dans chemins de recherche des fichier support.(?)F2Commande: SF; erreur: quitter / sortir abandon Commande:mon bloc sf n'est peut être plus bon vue les modifs faites ?! Nous vivons tous dans le ventre d'un chien géantTout le monde le sait mais personne ne dit rien du tout ultra Vomit Lien vers le commentaire Partager sur d’autres sites More sharing options...
lecrabe Posté(e) le 12 mai 2020 Partager Posté(e) le 12 mai 2020 Hello Je (et Gilles) vais devenir CHEVRE avec ton Histoire ... Franchement je pensais ETRE CLAIR sur le message No 25 !! ** 1 ** TU DOIS rajouter le chemin OU il y a les 3 fichiers ( GETNAME.LSP + GETNAME.DCL + SF.LSP ) dans les chemins de SUPPORT !!C la 1ere ligne "SUPPORT" de OPTIONS du 1er Onglet "Fichiers" !! ** 2 ** Dans ton dossier que tu as ajoute au Point 1 !Tu vas decompresser cela : http://dl.free.fr/ngjgXyGDF ** 3 ** Tu charges le DWG de Test "PIECE_Test_1.dwg" ... ** 4 ** Commande clavier : APPLOAD de GETNAME ... puis APPLOAD de SF ... ** 5 ** Tu lances SF sur un autre Polygone du DWG de Test ... ALORS ?? LA SANTE (Stay Safe), Bye, lecrabe "triste"Automne 2020, la retraite Autodesk Expert Elite Team Lien vers le commentaire Partager sur d’autres sites More sharing options...
(gile) Posté(e) le 12 mai 2020 Partager Posté(e) le 12 mai 2020 ; erreur: quitter / sortir abandonC'est parce que le LISP ne trouve pas le DCL. Il ne le trouve pas parce qu'il n'est pas dans un dossier des chemins de recherche.Toujours mettre les fichiers DCL dans des répertoires des chemins de recherche. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
Big666 Posté(e) le 12 mai 2020 Partager Posté(e) le 12 mai 2020 bonsoir j'ai refait toutes les étapes que lecrabe m'a indiqué.-----------------------------------------------------APPLOADGetName.lsp correctement chargé(s)GetName.lsp a été ajouté à la liste des applications lancées au démarrage. Commande:Commande:Commande:Commande: APPLOADSF___v10___GC.lsp correctement chargé(s)SF___v10___GC.lsp a été ajouté à la liste des applications lancées au démarrage.Commande:Commande:Commande:Commande: Spécifiez le coin opposé ou [TRajet/SPolygone/CPolygone]:Commande: SF; erreur: quitter / sortir abandonCommande: je tape sf :fenêtre erreurs dans le fichier boite de dialogue.---------------------------------------le lisp getnam demande le block Pline _block et non sf (defun getname (titre / lst what_next dcl_id nom) (if (not (vlax-ldata-get "Pline_block" "Name")) (vlax-ldata-put "Pline_block" "Name" '("SdB" "Cuisine" "Entrée" "Séjour" "WC" "Salon" "Couloir" "Bureau" "Garage" "Dressing" "Cave" "Escalier" "Buanderie" "Douche" "Terrasse")) Nous vivons tous dans le ventre d'un chien géantTout le monde le sait mais personne ne dit rien du tout ultra Vomit Lien vers le commentaire Partager sur d’autres sites More sharing options...
Big666 Posté(e) le 12 mai 2020 Partager Posté(e) le 12 mai 2020 Du nouveaudans le fichier que lecrabe m'a envoyé, j'ai renommé SF par Pline_BlockEt HOP ça fonctionne.Bon, pas si simple comment puis-je faire fonctionner mon block SF que j'utilise habituellement il fait partie d'une charte alors...Bon en tous cas un grand merci pour cette aide et cette patience . Nous vivons tous dans le ventre d'un chien géantTout le monde le sait mais personne ne dit rien du tout ultra Vomit Lien vers le commentaire Partager sur d’autres sites More sharing options...
lecrabe Posté(e) le 12 mai 2020 Partager Posté(e) le 12 mai 2020 Hello Tu dis : dans le fichier que lecrabe m'a envoyé, j'ai renommé SF par Pline_Block SVP tu as renomme quoi : la Routine Lsp ou le Nom du Bloc "SF" en "Pline_Block" ?? Le Devoue Decapode est TRES PATIENT ! LA SANTE (Stay Safe), Bye, lecrabe "triste"Automne 2020, la retraite Autodesk Expert Elite Team Lien vers le commentaire Partager sur d’autres sites More sharing options...
Big666 Posté(e) le 13 mai 2020 Partager Posté(e) le 13 mai 2020 BonjourLe Nom du Bloc "SF" en "Pline_Block" Pour la routine j'ai voulu renommer tous les texte Pline_Block en SF mais ça n'a pas fonctionné. Nous vivons tous dans le ventre d'un chien géantTout le monde le sait mais personne ne dit rien du tout ultra Vomit Lien vers le commentaire Partager sur d’autres sites More sharing options...
Big666 Posté(e) le 13 mai 2020 Partager Posté(e) le 13 mai 2020 Bonjourje cherche a comprendre le fonctionnement du Lisp (je vais peut être DCD donc avant que ça arrive merci de votre patience) 1 je tape SF (rien ne ce passe message d’erreurs)2 je renomme le block SF par Pline_Block là j'ai le block qui apparait, celui que tu ma envoyé.le lisp : SF___v10___GC appelle le lisp GetNamle Lisp GetName appelle getName DCLde cette façon ça marche, je ne peut pas utilisé mon block sf mais bon.j'ai donc en gardant le nom du block "sf" renommé dans le Lips GetNan "Pline Block" sf" à ça ne fonctionne pas.bon ou mauvais résonnement?merci(defun getname (titre / lst what_next dcl_id nom) (if (not (vlax-ldata-get "Pline_block" "Name")) (vlax-ldata-put "Pline_block" "Name" '("SdB" "Cuisine" "Entrée" "Séjour" "WC" "Salon" "Couloir" "Bureau" "Garage" "Dressing" "Cave" "Escalier" "Buanderie" "Douche" "Terrasse")) ) (setq lst (vlax-ldata-get "Pline_block" "Name")) (setq dcl_id (load_dialog "GetName.dcl")) (setq what_next 2) (while (>= what_next 2) (if (not (new_dialog "getname" dcl_id)) (exit) ;;; GetName Retourne le nom spécifié ou choisi dans la liste. ;;; Les noms entrés sont ajoutés à la liste. ;;; La liste est conservée dans le dessin. (defun getname (titre / lst what_next dcl_id nom) (if (not (vlax-ldata-get "[b]Pline_block[/b]" "Name")) (vlax-ldata-put "Pline_block" "Name" '("SdB" "Cuisine" "Entrée" "Séjour" "WC" "Salon" "Couloir" "Bureau" "Garage" "Dressing" "Cave" "Escalier" "Buanderie" "Douche" "Terrasse")) ) (setq lst (vlax-ldata-get "Pline_block" "Name")) (setq dcl_id (load_dialog "GetName.dcl")) (setq what_next 2) (while (>= what_next 2) (if (not (new_dialog "getname" dcl_id)) (exit) ) (start_list "pop") (mapcar 'add_list lst) (end_list) (if titre (set_tile "box" titre) ) (action_tile "pop" (strcat "(if (or (= $reason 1) (= $reason 4))" "(set_tile \"tp\" (nth (atoi $value) lst)))" "(mode_tile \"accept\" 2)" ) ) (action_tile "add" (strcat "(if (not (member (get_tile \"tp\") lst))" "(setq lst (acad_strlsort (cons (get_tile \"tp\") lst))))" "(done_dialog 2)" ) ) (action_tile "del" (strcat "(setq lst (vl-remove (get_tile \"tp\") lst))" "(done_dialog 2)" ) ) (action_tile "accept" (strcat "(if (not (read (get_tile \"tp\")))" "(progn (alert \"Spécifiez un nom, svp.\")" "(done_dialog 2))" "(progn (setq nom (get_tile \"tp\"))" "(if (and (not (member nom lst)) (/= nom ""))" "(setq lst (acad_strlsort (cons (get_tile \"tp\") lst))))" "(vlax-ldata-put \"Pline_block\" \"Name\" lst)" "(done_dialog 1)))" ) ) (setq what_next (start_dialog)) (if (= what_next 0) (setq nom nil) ) ) (unload_dialog dcl_id) nom ) Nous vivons tous dans le ventre d'un chien géantTout le monde le sait mais personne ne dit rien du tout ultra Vomit Lien vers le commentaire Partager sur d’autres sites More sharing options...
(gile) Posté(e) le 13 mai 2020 Partager Posté(e) le 13 mai 2020 Si tu veux juste changer le nom du bloc, il n'y a qu'un endroit où le faire : dans le LISP qui définit la commande à l'endroit où on définit la variable 'bloc'. (if (or (tblsearch "BLOCK" (setq bloc "sf")) (findfile (setq bloc "sf.dwg")))Partout ailleurs, "Pline_block" sert de clé pour le dictionnaire qui mémorise le contenu de la liste déroulante dans la boite de dialogue getname (avec les fonctions vlax-data-*). Il faut bien entendu que cette clé soit la même dans le le LISP qui définit ma commande et dans getname. Ne modifie pas un code si tu ne comprends pas ce que tu fais, n'ajoute pas de balises BBcode dans les codes, et fait très attention à l'orthographe (quand on voit comment tu écris, ça fait un peu peur). (defun c:sf (/ AcDoc Space bloc nom ent obj ins op reg ech id long aire ref) (vl-load-com) (setq AcDoc (vla-get-ActiveDocument (vlax-get-acad-object)) Space (if (= (getvar "CVPORT") 1) (vla-get-PaperSpace AcDoc) (vla-get-ModelSpace AcDoc) ) ) (if (or (tblsearch "BLOCK" (setq bloc "sf")) (findfile (setq bloc "sf.dwg"))) (progn ;; attribut "nom de la pièce" (if (not (setq nom (getname "Nom de la pièce"))) (setq nom "") ) (while (not (setq ent (car (entsel))))) (setq obj (vlax-ename->vla-object ent)) (if (= "AcDbPolyline" (vla-get-ObjectName obj)) (progn (if (not (setq ins (getpoint "\nSpécifiez le point d'insertion ou < Centre >: "))) (progn (if (= (vla-get-closed obj) :vlax-false) (progn (vla-put-closed obj :vlax-true) (setq op T)) ) (setq reg (vlax-invoke space 'addRegion (list obj)) ins (vlax-get (car reg) 'Centroid) ) (if op (vla-put-closed obj :vlax-false) ) (vla-delete (car reg)) ) ) (if (not (vlax-ldata-get "Pline_block" "ech")) (vlax-ldata-put "Pline_block" "ech" 3) ) (if (not (setq ech (getreal (strcat "\nEntrez le facteur d'échelle <" (rtos (vlax-ldata-get "Pline_block" "ech")) ">: " ) ) ) ) (setq ech (vlax-ldata-get "Pline_block" "ech")) (vlax-ldata-put "Pline_block" "ech" ech) ) (setq id (vla-GetObjectIdString (vla-get-Utility AcDoc) obj :vlax-false) ;; Attribut périmètre (mm² -> m²) aire (strcat "Surface: " "%<\\AcObjProp Object(%<\\_ObjId " id ">%).Area \\f \"%lu2%pr2%ct8[1e-0]\">%" " m²" ) ;; Attribut surface (mm -> m) long (strcat "Perimétre: " "%<\\AcObjProp Object(%<\\_ObjId[/url] " id ">%).Length \\f \"%lu2%pr2%ct8[1.00]\">%" " ml" ) ) (setq ref (vla-InsertBlock Space (vlax-3d-point (trans ins 1 0)) bloc ech ech 1 (angle '(0 0 0) (trans (getvar 'ucsxdir) 0 (trans '(0 0 1) 1 0 T))) ) ) ;; attribution de leur valeur aux attributs (mapcar '(lambda (x y) (vla-put-TextString x y)) (vlax-invoke ref 'GetAttributes) (list nom aire long) ) (vla-regen AcDoc acActiveViewport) ) (alert "L'objet sélectionné n'est pas une polyligne.") ) ) (alert "Le bloc \"sf\" est introuvable.") ) (princ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
Big666 Posté(e) le 13 mai 2020 Partager Posté(e) le 13 mai 2020 Merci gille pour cette réponse.je vais essayer le code . Quant à l'orthographe :pour tous dire je travaillai dans Bâtiment avant un accident grave qui m'a handicapé m'a rendu dessinateur grasse à une formation diplômante.Mais reste que je suis illettré niveau 4 car il y a des niveaux .des stages et des cours privés que j'ai pris ça à amélioré l'orthographe mais ce n'est pas ça.Quand on est con, on est con le temps ..... Nous vivons tous dans le ventre d'un chien géantTout le monde le sait mais personne ne dit rien du tout ultra Vomit Lien vers le commentaire Partager sur d’autres sites More sharing options...
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