-
Compteur de contenus
136 -
Inscription
-
Dernière visite
-
Jours gagnés
1
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par nen
-
Forcer la couleur d'un Xref et ses blocs
nen a répondu à un(e) sujet de nen dans LISP et Visual LISP
Salut, C'est claire :D http://media.igurmet.cz/yummy/b6/49/b649a5e834d08eee0b9ac0f0795333bc.jpg -
Forcer la couleur d'un Xref et ses blocs
nen a répondu à un(e) sujet de nen dans LISP et Visual LISP
Salut lecrabe, Je te remercie pour ton aide Super cela fonctionne impeccable ;) Ci-dessous le code de Gilles avec le tiens. (defun c:xref-color-set (/ acdoc xrf col lst) (vl-load-com) (setq acdoc (vla-get-ActiveDocument (vlax-get-acad-object))) (if (and (setq xrf (car (entsel "\nSelectionnez la reference externe: "))) (setq xrf (vlax-ename->vla-object xrf)) (= (vla-get-ObjectName xrf) "AcDbBlockReference") (setq col (acad_colordlg 8 nil)) ) (progn (vla-StartUndoMark acdoc) (vlax-for l (vla-get-Layers acdoc) (and (wcmatch (vla-get-Name l) (strcat (vla-get-Name xrf) "|*")) (setq lst (cons (cons (vla-get-Name l) (vla-get-color l)) lst)) (vla-put-color l col) ) ) (or (vlax-ldata-get xrf "laycol") (vlax-ldata-put xrf "laycol" lst) ) (setvar "XREFOVERRIDE" 1) (command "_regenall") (vla-EndUndoMark acdoc) ) ) (princ) ) (defun c:xref-color-restore (/ acdoc xrf lst) (vl-load-com) (setq acdoc (vla-get-ActiveDocument (vlax-get-acad-object))) (if (and (setq xrf (car (entsel "\nSelectionnez la reference externe: "))) (setq xrf (vlax-ename->vla-object xrf)) (= (vla-get-ObjectName xrf) "AcDbBlockReference") (setq lst (vlax-ldata-get xrf "laycol")) ) (progn (vla-StartUndoMark acdoc) (vlax-for l (vla-get-Layers acdoc) (if (setq pair (assoc (vla-get-Name l) lst)) (vla-put-color l (cdr pair)) ) ) (vlax-ldata-delete xrf "laycol") (setvar "XREFOVERRIDE" 0) (command "_regenall") (vla-EndUndoMark acdoc) ) ) (princ) ) Merci à tous pour votre aide Meilleures salutations -
Forcer la couleur d'un Xref et ses blocs
nen a répondu à un(e) sujet de nen dans LISP et Visual LISP
Bonjour :D , Je vous remercie merci pour votre aide ;) . Je pense qu’à utiliser au quotidien le lisp de gile est le plus confortable. Il suffirait de rajouter (je fais le malin mais je sais pas comment faire :D ) XREFOVERRIDE=1 pour la commande “xref-color-set” et XREFOVERRIDE=0 pour la commande “xref-color-restore”. Le lisp de X_all est bien aussi ;) , c’est dommage qu’on ne puisse pas faire un restore comme “xref-color-restore”. S’il y a d’autre proposition je suis preneur :) Merci à tous Meilleures salutations -
Forcer la couleur d'un Xref et ses blocs
nen a répondu à un(e) sujet de nen dans LISP et Visual LISP
Bonjour, Je te remercie pour ton message . Oui en effet je veux forcer tous les calques en gris des Xref. J’ai essayé la commande XREFOVERRIDE=1 avec le lisp de Gile cela fonctionne impeccable. Est-il possible d’intégrer dans le Lisp de Gile la commande XREFOVERRIDE pour “xref-color-set” et “xref-color-restore” ? ;) En ce qui concerne le STB cela demande plus de manipulation, convertir le fichier en STB, sélectionner tous calques, changer la couleur, etc. et ensuite ne pas oublier de revenir en CTB pour les collègues ne soit pas embêter et il faut en plus avoir un fichier plume STB configuré :huh: . Merci d’avance, Meilleures salutations -
Bonjour le forum , J’ai trouvé ci-dessous ce lisp de Gile qui a pour but de forcer les couleurs des Xref, très pratique quand on importe un plan archi. Par contre, il ne change pas les blocs qui se trouvent dans l’Xref en effet si on applique une couleur 253 à l’Xref les blocs qui sont forcés eux ne change pas. Est-ce possible en améliorant se lisp qui est déjà super, de faire cette opération ? Merci d’avance Meilleures salutations (defun c:xref-color-set (/ acdoc xrf col lst) (vl-load-com) (setq acdoc (vla-get-ActiveDocument (vlax-get-acad-object))) (if (and (setq xrf (car (entsel "\nSelectionnez la reference externe: "))) (setq xrf (vlax-ename->vla-object xrf)) (= (vla-get-ObjectName xrf) "AcDbBlockReference") (setq col (acad_colordlg 8 nil)) ) (progn (vla-StartUndoMark acdoc) (vlax-for l (vla-get-Layers acdoc) (and (wcmatch (vla-get-Name l) (strcat (vla-get-Name xrf) "|*")) (setq lst (cons (cons (vla-get-Name l) (vla-get-color l)) lst)) (vla-put-color l col) ) ) (or (vlax-ldata-get xrf "laycol") (vlax-ldata-put xrf "laycol" lst) ) (vla-EndUndoMark acdoc) ) ) (princ) ) (defun c:xref-color-restore (/ acdoc xrf lst) (vl-load-com) (setq acdoc (vla-get-ActiveDocument (vlax-get-acad-object))) (if (and (setq xrf (car (entsel "\nSelectionnez la reference externe: "))) (setq xrf (vlax-ename->vla-object xrf)) (= (vla-get-ObjectName xrf) "AcDbBlockReference") (setq lst (vlax-ldata-get xrf "laycol")) ) (progn (vla-StartUndoMark acdoc) (vlax-for l (vla-get-Layers acdoc) (if (setq pair (assoc (vla-get-Name l) lst)) (vla-put-color l (cdr pair)) ) ) (vlax-ldata-delete xrf "laycol") (vla-EndUndoMark acdoc) ) ) (princ) )
-
Créer et enregistrer des hachures personnalisées
nen a répondu à un(e) sujet de nen dans LISP et Visual LISP
Salut Gile, Je te remercie pour ton aide, toujours aussi efficace le forum J'avais fait une recherche mais pas avec "drawhatch" :) Super merci A bientôt -
Bonjour, Je me permets de vous solliciter au sujet d'un lisp que j'ai trouvé. En effet le lisp ci-dessous sert à faire des hachures personnalisées malheureusement il ne fonctionne pas et je suppose que ce sont les commandes qui ne sont pas en français, mais en anglais. Un généreux lipien aurait-il l'amabilité de regarder s'il arrive à faire quelques choses ? Merci d'avance Meilleures salutations ;;;CADALYST 10/05 Tip 2065: HatchMaker.lsp Hatch Maker (c) 2005 Larry Schiele ;;;* ====== B E G I N C O D E N O W ====== ;;;* HatchMaker.lsp written by Lanny Schiele at TMI Systems Design Corporation ;;;* Lanny.Schiele@tmisystems.com ;;;* Tested on AutoCAD 2002 & 2006. -- does include a 'VL' function -- should work on Acad2000 on up. (defun C:DrawHatch (/) (command "undo" "be") (setq os (getvar "OSMODE")) (setvar "OSMODE" 0) (command "UCS" "w") (command "PLINE" "0,0" "0,1" "1,1" "1,0" "c") (command "zoom" "c" "0.5,0.5" 1.1) (setvar "OSMODE" os) (setvar "SNAPMODE" 1) (setvar "SNAPUNIT" (list 0.01 0.01)) (command "undo" "e") (alert "Draw pattern within 1x1 box using LINE or POINT entities only..." ) (princ) ) (defun C:SaveHatch (/ round dxf ListToFile user SelSet SelSetSize ssNth Ent EntInfo EntType pt1 pt2 Dist AngTo AngFrom XDir YDir Gap DeltaX DeltaY AngZone Counter Ratio Factor HatchName HatchDescr FileLines FileLines FileName Scaler ScaledX ScaledY RF x y h _AB _BC _AC _AD _DE _EF _EH _FH DimZin ) ;;;* BEGIN NESTED FUNCTIONS (defun round (num) (if (>= (- num (fix num)) 0.5) (fix (1+ num)) (fix num) ) ) (defun dxf (code EnameOrElist / VarType) (setq VarType (type EnameOrElist)) (if (= VarType (read "ENAME")) (cdr (assoc code (entget EnameOrElist))) (cdr (assoc code EnameOrElist)) ) ) (defun ListToFile (TextList FileName DoOpenWithNotepad AsAppend / TextItem File RetVal ) (if (setq File (open FileName (if AsAppend "a" "w" ) ) ) (progn (foreach TextItem TextList (write-line TextItem File) ) (setq File (close File)) (if DoOpenWithNotepad (startapp "notepad" FileName) ) ) ) (FindFile FileName) ) ;;;* END NESTED FUNCTIONS (princ (strcat "\n." "\n 0,1 ----------- 1,1" "\n | | " "\n | Lines and | " "\n | points must | " "\n | be snapped | " "\n | to nearest | " "\n | 0.01 | " "\n | | " "\n 0,0 ----------- 1,0" "\n." "\nNote: Lines must be drawn within 0,0 to 1,1 and lie on a 0.01 grid." ) ) (textscr) (getstring "\nHit [ENTER] to continue...") (princ "\nSelect 1x1 pattern of lines and/or points for new hatch pattern..." ) (while (not (setq SelSet (ssget (list (cons 0 "LINE,POINT"))))) ) (setq ssNth 0 SelSetSize (sslength SelSet) DimZin (getvar "DIMZIN") ) (setvar "DIMZIN" 11) (if (> SelSetSize 0) (princ "\nAnalyaing entities...") ) (while (< ssNth SelSetSize) (setq Ent (ssname SelSet ssNth) EntInfo (entget Ent) EntType (dxf 0 EntInfo) ssNth (+ ssNth 1) ) (cond ((= EntType "POINT") (setq pt1 (dxf 10 EntInfo) FileLine (strcat "0," (rtos (car pt1) 2 6) "," (rtos (cadr pt1) 2 6) ",0,1,0,-1" ) ) (princ (strcat "\n" FileLine)) (setq FileLines (cons FileLine FileLines)) ) ((= EntType "LINE") (setq pt1 (dxf 10 EntInfo) pt2 (dxf 11 EntInfo) Dist (distance pt1 pt2) AngTo (angle pt1 pt2) AngFrom (angle pt2 pt1) IsValid nil ) (if (or (equal (car pt1) (car pt2) 0.0001) (equal (cadr pt1) (cadr pt2) 0.0001) ) (setq DeltaX 0 DeltaY 1 Gap (- Dist 1) IsValid T ) (progn (setq Ang (if (< AngTo pi) AngTo AngFrom ) AngZone (fix (/ Ang (/ pi 4))) XDir (abs (- (car pt2) (car pt1))) YDir (abs (- (cadr pt2) (cadr pt1))) Factor 1 RF 1 ) (cond ((= AngZone 0) (setq DeltaY (abs (sin Ang)) DeltaX (abs (- (abs (/ 1.0 (sin Ang))) (abs (cos Ang))) ) ) ) ((= AngZone 1) (setq DeltaY (abs (cos Ang)) DeltaX (abs (sin Ang)) ) ) ((= AngZone 2) (setq DeltaY (abs (cos Ang)) DeltaX (abs (- (abs (/ 1.0 (cos Ang))) (abs (sin Ang))) ) ) ) ((= AngZone 3) (setq DeltaY (abs (sin Ang)) DeltaX (abs (cos Ang)) ) ) ) (if (not (equal XDir YDir 0.001)) (progn (setq Ratio (if (< XDir YDir) (/ YDir XDir) (/ XDir YDir) ) RF (* Ratio Factor) Scaler (/ 1 (if (< XDir YDir) XDir YDir ) ) ) (if (not (equal Ratio (round Ratio) 0.001)) (progn (while (and (<= Factor 100) (not (equal RF (round RF) 0.001)) ) (setq Factor (+ Factor 1) RF (* Ratio Factor) ) ) (if (and (> Factor 1) (<= Factor 100)) (progn (setq _AB (* XDir Scaler Factor) _BC (* YDir Scaler Factor) _AC (sqrt (+ (* _AB _AB) (* _BC _BC))) _EF 1 x 1 ) (while (< x (- _AB 0.5)) (setq y (* x (/ YDir XDir)) h (if (< Ang (/ pi 2)) (- (+ 1 (fix y)) y) (- y (fix y)) ) ) (if (< h _EF) (setq _AD x _DE y _AE (sqrt (+ (* x x) (* y y))) _EF h ) ) (setq x (+ x 1)) ) (if (< _EF 1) (setq _EH (/ (* _BC _EF) _AC) _FH (/ (* _AB _EF) _AC) DeltaX (+ _AE (if (> Ang (/ pi 2)) (- _EH) _EH ) ) DeltaY (+ _FH) Gap (- Dist _AC) IsValid T ) ) ) ) ) ) ) ) (if (= Factor 1) (setq Gap (- Dist (abs (* Factor (/ 1 DeltaY)))) IsValid T ) ) ) ) (if IsValid (progn (setq FileLine (strcat (angtos AngTo 0 6) "," (rtos (car pt1) 2 8) "," (rtos (cadr pt1) 2 8) "," (rtos DeltaX 2 8) "," (rtos DeltaY 2 8) "," (rtos Dist 2 8) "," (rtos Gap 2 8) ) ) (princ (strcat "\n" FileLine)) (setq FileLines (cons FileLine FileLines)) ) (princ (strcat "\n * * * Line with invalid angle " (angtos AngTo 0 6) (chr 186) " omitted. * * *" ) ) ) ) ((princ (strcat "\n * * * Invalid entity " EntType " omitted.") ) ) ) ) (setvar "DIMZIN" DimZin) (if (and FileLines (setq HatchDescr (getstring T "\nBriefly describe this hatch pattern: " ) ) (setq FileName (getfiled "Hatch Pattern File" "I:\\Acad\\Hatch\\" "pat" 1 ) ) ) (progn (if (= HatchDescr "") (setq HatchDescr "Custom hatch pattern") ) (setq HatchName (vl-filename-base FileName) FileLines (cons (strcat "*" HatchName "," HatchDescr) (reverse FileLines) ) ) (princ "\n============================================================" ) (princ (strcat "\nPlease wait while the hatch file is created...\n" ) ) (ListToFile FileLines FileName nil nil) (command "delay" 1500) ;delay required so file can be created and found (silly, but req.) (if (findfile FileName) (progn (setvar "HPNAME" HatchName) (princ (strcat "\nHatch pattern '" HatchName "' is ready to use!" ) ) ) (progn (princ "\nUnable to create hatch pattern file:") (princ (strcat "\n " FileName)) ) ) ) (princ (if FileLines "\nCancelled." "\nUnable to create hatch pattern from selected entities." ) ) ) (princ) ) (princ "\n ************************************************************** ") (princ "\n** **") (princ "\n* HatchMaker.lsp written by Lanny Schiele -- enjoy! *") (princ "\n* *") (princ "\n* Type in DRAWHATCH to have the environment created to draw. *") (princ "\n* Type in SAVEHATCH to save the pattern you created. *") (princ "\n** **") (princ "\n ************************************************************** ") (princ)
-
Super merci cela fonctionne impeccable :D Meilleures salutations
-
Bonjour, Très intéressent votre lisp ci-dessus mais est-il possible d'avoir un calque "VISIBILITE DROITE" (les lignes droites du point de vue aux cibles ) en rouge et un autre calque pour "VISIBILITE COURBE" en vert ? Meilleures salutations
-
[RESOLU] boites de dialogue DCL avec case à cocher
nen a répondu à un(e) sujet de nen dans LISP et Visual LISP
Bonjour le forum :) , J’ai eu pas mal de visite pas beaucoup de réponse pour ce post ;) J’ai néanmoins la solution du site « www.theswamp.org » que je remercie au passage et je tenais à vous faire partager, ci-joint les fichiers lisp et dcl :D . Merci à tous les visiteurs :) Meilleures salutations :D :D ManageMyFiles.lsp (defun c:ManageMyFiles ( / N_ActionOpen N_ActionReload dcl) (defun N_ActionOpen ( / ) (if (= "1" (get_tile "tglOpen1")) (startapp (strcat "notepad.exe " "\"" (get_attr "tglOpen1" "path") "\"" ) ) ) (if (= "1" (get_tile "tglOpen2")) (startapp (strcat "notepad.exe " "\"" (get_attr "tglOpen2" "path") "\"" ) ) ) ) (defun N_ActionReload ( / ) (if (= "1" (get_tile "tglReload1")) (load (get_attr "tglReload1" "path")) ) ) (if (or (< 0 (setq dcl (load_dialog "ManageMyFiles.dcl"))) (prompt "\nError: dcl dialog not found ") ) (progn (new_dialog "ManageMyFiles" dcl) (action_tile "btnOpen" "(N_ActionOpen)") (action_tile "btnReload" "(N_ActionReload)") (action_tile "cancel" "(done_dialog 0)") (start_dialog) (unload_dialog dcl) ) ) (princ) ) ManageMyFiles.dcl //--------------------------------------------------------------------------------------------------------- // ce fichier est à placer dans le dossier : "C:\Users\AppData\Roaming\Autodesk\AutoCAD 2017\R21.0\fra\Support" //--------------------------------------------------------------------------------------------------------- ManageMyFiles : dialog { label = "Manage My Files"; : boxed_column { label = "Open"; : toggle { key = "tglOpen1"; label = "MyLisp.lsp"; path = "D:\\MyFiles\\MyLisp.lsp"; // Custom attribute. value = "1"; } : toggle { key = "tglOpen2"; label = "MyLisp.dcl"; path = "D:\\MyFiles\\MyLisp.dcl"; // Custom attribute. value = "1"; } : button { key = "btnOpen"; label = "Open selected files"; } } : boxed_column { label = "Reload"; : toggle { key = "tglReload1"; label = "MyLisp.lsp"; path = "D:\\MyFiles\\MyLisp.lsp"; // Custom attribute. value = "1"; } : button { key = "btnReload"; label = "Reload selected files"; } } cancel_button; } -
Bonjour le forum :D , J'ai besoin de vos lumières au sujet des boites de dialogue DCL ;) . J’aimerais avec l’exemple ci-dessous, si c’est possible avec des cases à cocher dans une boite de dialogue dcl ouvrir et recharger lisp. J'ai rajouté une ligne open et load, j'ai essayé plusieurs combinaisons sans succès :( . Est-ce possible :huh: ? PS : site de la base du fichier dcl ici Merci d’avance //--------------------------------------------------------------------------------------------------------- // MyToggles //--------------------------------------------------------------------------------------------------------- MyToggles : dialog { key = "Title"; label = "";//Title$ from lsp file spacer; : text { label = "Menu perso ;-)"; alignment = centered; } : text { label = "--- Version: 21.09.2017 ---"; alignment = centered; } : text { label = "";// pour créer un retour à la ligne alignment = centered; } : text { label = "Ligne d'essai"; alignment = centered; } : text { label = "";// pour créer un retour à la ligne alignment = centered; } : text { label = "Copyright©®™"; alignment = centered; } : text { label = "";// pour créer un retour à la ligne alignment = centered; } // départ case en ligne : boxed_column { label = "Fichier à ouvrir pour modification"; width = 34.26; fixed_width = true; : row { : toggle { key = "Toggle1"; label = "Fichier MyToggles.lsp"; open = "C:\\Program Files\\Autodesk\\AutoCAD 2017\\Support\\Lisp\\A_tester\\MyToggles.lsp"; } : toggle { key = "Toggle2"; label = "fichier MyDialogs2.dcl"; open = "C:\\Users\\toni\\AppData\\Roaming\\Autodesk\\AutoCAD 2017\\R21.0\\fra\\Support\\MyDialogs2.dcl"; } } spacer; // Fin case en ligne // départ case en colonne } : boxed_column { label = "Fichier à charger après modification"; width = 34.26; fixed_width = true; : toggle { key = "Toggle3"; label = "MyToggles.lsp"; load = "C:\\Program Files\\Autodesk\\AutoCAD 2017\\Support\\Lisp\\A_tester\\MyToggles.lsp"; } : toggle { key = "Toggle4"; label = "MyDialogs2.dcl"; load = "C:\\Users\\toni\\AppData\\Roaming\\Autodesk\\AutoCAD 2017\\R21.0\\fra\\Support\\MyDialogs2.dcl"; } : toggle { key = "Toggle5"; label = "Toggle 5"; } spacer; // Fin case en colonne } spacer; ok_only; }//MyToggles
-
Re, Super merci Christian, je te remercie pour ses précieuses infos :D Tu as bien éclaircis mes idées j’étais dans le flou J’espère réussir à faire quelques chose de sympa Meilleures salutations Nen
-
Bonjour Rebcao, Je te remercie pour ta réponse oui en effet maintenant cela fonctionne :(rires forts): . Aurais-tu l’amabilité d’éclaire ma lanterne au sujet de deux ou trois petites choses ;) . - Pourquoi au début c’est « Expert 5 » et à la fin « Expert 2 » ? Je voudrais le ruban ouvert j’ai essayé avec « _Ribbonopen » ou « Ruban » cela ne fonctionne pas :( Que veux dire le « _S » et « _L V 0,0 » de la ligne ci-dessous : -"_-toolbar "Dessin" _S _-toolbar "Dessin" _L V 0,0" - Pickbox 5 ? - Gridstyle 7 ? Je te remercie pour ton aide Meilleures salutations Nen
-
Bonjour, Je me permets de revenir sur ton script que tu as joint. Je l’ai essayé il crée bien un profil AutoCAD classique par contre il ne charge pas les barres d’outils ? Je l’ai simplifié en essayant de charger qu’une barre d’outils, malheureusement sans succès. Est-ce qu’il a une astuce ? Meilleures salutations
-
Configuration Auto des options par un lisp
nen a répondu à un(e) sujet de nen dans LISP et Visual LISP
Salut, Je suis d’accord cela devrait être une évolution voir même plus qu’intéressante, me retaper sans arrêt des configurations, les plotter, les ctb, le gabarit, etc. cela devient presque insupportable :( . Bon ben tanpis s’il n’existe pas grand-chose en espèrent qu’Autodesk prévoit quelque chose, le e-transmit des configs me plait bien :D . Merci Meilleures salutations -
Configuration Auto des options par un lisp
nen a répondu à un(e) sujet de nen dans LISP et Visual LISP
Salut Gile, Merci pour ton message. Non je n'ai pas essayé, mais avec cette possibilité cela fait la total, barre d'outils, palettes, etc., non ? Dans le passé c'est ce que je faisais afin de récupérer mon profil malheureusement cela fonctionnait pas très bien. En faite je dois le faire la première fois sur un pc avec AutoCAD fraichement installé, non ? -
Bonjour le forum :D , J’aurais besoin de vos lumières, je ne sais pas si c’est possible mais, je pose quand même la question ;) . Dans la société dans laquelle je travaille nous avons environ 45pc avec AutoCAD, il y a un service informatique avec leurs procédures qui est que chaque pc à une durée de 4 ans max. Donc fréquemment dans l’année un ou plusieurs pc sont changés je dois donc réinstaller AutoCAD et reconfigurer à chaque fois dans « options » : l’adresse du gabarit, de l’imprimante, la version dwg enregistré, les préférences utilisateur en cm, etc. Ma question est la suivante, est-il possible par un lisp ou un autre moyen de reconfigurer automatiquement, car cela devient fastidieux de le faire à chaque fois ? Merci d’avance Meilleures salutation
-
Problème de création de calque si certain calque existe déjà
nen a répondu à un(e) sujet de nen dans LISP et Visual LISP
Salut Gile, Merci pour ton aide et tes messages :) En effet je les ai remplacé par ton nouveau code et cella fonctionne impeccable :D Merci encore ;) Meilleures salutations -
Problème de création de calque si certain calque existe déjà
nen a répondu à un(e) sujet de nen dans LISP et Visual LISP
J'ai réussi à le placer au bon endroit :D ;| Fonction Calques-Base-SIS ; Description : Fonction qui crée la liste des couches contenues dans le fichier Calques-Base-SMEC.txt. Variables locales : f-cou-stan : du fichier des couches standards n-fich-cou : nom interne du fichier li : lignes du fichier nom-cou : nom de la couche couleur : couleur de la couche typel : type de ligne de la couche de : description de la couche |; (defun c:SMEC ( / f-cou-stan li nom-cou couleur typel de) (setvar "cmdecho" 0) (setq f-cou-stan (findfile "C:\\Program Files\\Autodesk\\AutoCAD 2017\\Support\\Lisp\\Calques-Base-SMEC.TXT")) (if (not f-cou-stan) (progn (alert "Le fichier Calques-Base-SMEC.TXT est introuvable") (exit) ) ) (setq n-fich-cou (open f-cou-stan "r")) (setq li (read-line n-fich-cou)) (while li (setq li (read li)) (setq nom-cou (car li)) (if (null (tblsearch "LAYER" nom-cou)) (progn (setq couleur (cadr li)) (setq typel (caddr li)) (setq de (cadddr li)) (if (wcmatch couleur "#*,#*,#*") (command "_.layer" "_new" nom-cou "_color" "_true" couleur nom-cou "_ltype" typel nom-cou "_description" de nom-cou "") (command "_.layer" "_new" nom-cou "_color" couleur nom-cou "_ltype" typel nom-cou "_description" de nom-cou "") ) ) ) (setq li (read-line n-fich-cou)) ) (close n-fich-cou) (alert "Les Calques de Base du bureau DAO du SMEC ont été créées\n\nToni t'est trop fort !!!") (princ) ) Par contre il me crée bien le premier calque avec la couleur "44,186,131" par contre calque suivant qui a la couleur 5 et j'ai ce message: Couleur non valide. Entrez trois valeurs comprises entre 0 et 255, séparées par une virgule. ; erreur: Fonction annulée -
Problème de création de calque si certain calque existe déjà
nen a répondu à un(e) sujet de nen dans LISP et Visual LISP
Salut, Merci pour ton message. Si j'ai bien compris je place ce code: (if (wcmatch couleur "#*,#*,#*") (command "_.layer" "_new" nom-cou "_color" "_true" couleur nom-cou "_ltype" typel nom-cou "_description" de nom-cou "") (command "_.layer" "_new" nom-cou "_color" couleur nom-cou "_ltype" typel nom-cou "_description" de nom-cou "") ) Juste avant "(if (not f-cou-stan)" ? ;| Fonction Calques-Base ; Description : Fonction qui crée la liste des couches contenues dans le fichier Calques-Base.txt. Variables locales : f-cou-stan : du fichier des couches standards n-fich-cou : nom interne du fichier li : lignes du fichier nom-cou : nom de la couche couleur : couleur de la couche typel : type de ligne de la couche de : description de la couche |; (defun c:Calques-Base ( / f-cou-stan li nom-cou couleur typel de) (setvar "cmdecho" 0) (setq f-cou-stan (findfile "C:\\Program Files\\Autodesk\\AutoCAD 2017\\Support\\Lisp\\Calques-Base.TXT")) (if (not f-cou-stan) (progn (alert "Le fichier Calques-Base.TXT est introuvable") (exit) ) ) (setq n-fich-cou (open f-cou-stan "r")) (setq li (read-line n-fich-cou)) (while li (setq li (read li)) (setq nom-cou (car li)) (if (null (tblsearch "LAYER" nom-cou)) (progn (setq couleur (cadr li)) (setq typel (caddr li)) (setq de (cadddr li)) (command "_.-layer" "_n" nom-cou "_c" couleur nom-cou "_lt" typel nom-cou "s" de nom-cou "") ) ) (setq li (read-line n-fich-cou)) ) (close n-fich-cou) (alert "Les Calques de Base ont été créées") (princ) ) -
Problème de création de calque si certain calque existe déjà
nen a répondu à un(e) sujet de nen dans LISP et Visual LISP
Bonjour le forum, J'avais posté cette demande suite à un problème qui été résolu par Gile, merci :D . J'ai une autre question suite à la création de calque avec mes deux fichiers lsp et txt(ci-joint) :blink: . Est-il possible de mettre une couleur rvb dans la partie "couleur" de mon fichier txt ? ("nom calque" "couleur" "type ligne" "description") Merci d'avance Meilleures salutations -
[RESOLU] Récuper données d'un bloc vers un autre bloc
nen a répondu à un(e) sujet de nen dans LISP et Visual LISP
Salut, Je te remercie pour ton message :) . J’ai trouvé mon bonheur sur le site c’est un de tes lisp « CAT » ci-joint, je l’ai testé quelques blocs et il répond à mes attentes… pour le moment :D . Je vais essayer le lisp « RBLOC » avec mes différents blocs. Mais qu’elle est la différence entre les deux lisp ? :huh: Merci Meilleures salutations Cat.lsp -
Bonjour le forum, J’aurais besoin de votre aide :D . Je cherche un lisp si cela existe, peut-être que la commande existe déjà dans AutoCAD :huh: . Je voudrais remplacer un bloc1 qui contient des attributs par un autre bloc2 avec un nom différent avec les attributs identiques au bloc1 et récupérer les données du bloc1 et remplir le bloc2 automatiquement. Merci d'avance de votre aide Meilleures salutations
-
Salut Gile, Merci pour ses infos précieuses :D . Je vais regarder la fonction getangle de plus près, mais étant novice il me faudra quelques jours voir quelques semaines :(rires forts): Quoi qu'il en soit je te remercie pour ton aide et ne manquerait pas revenir pour des questions sur getangle ;) Merci Meilleures salutations
-
Salut le forum, Merci à vous tous pour votre aide :D C'est exactement ça, merci Gile :) . En ce qui concerne la possibilité de donné un angle je vais laisser tomber, en radian c'est pas terrible :( . Meilleures salutations
