PHILPHIL
Membres-
Compteur de contenus
1 256 -
Inscription
-
Dernière visite
-
Jours gagnés
10
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par PHILPHIL
-
hello deplace les entites en fonction de leurs type d'entite, couleur, epaisseur de ligne, type de ligne apres j'avoue on ne sait plus trop quoi est quoi. Phil (defun c:mdfc () (vl-load-com) (setvar "cmdecho" 0) (setvar "dimzin" 0) (setvar "osmode" 0) (prompt "\nCLIQUER SUR LES OBJETS A DEPLACER DE CALQUE :") (setq entites nil) (while (null entites) (setq entites (ssget))) (setq compt 0) (setq com (sslength entites)) (while (< compt com) (progn (setq ent1 (ssname entites compt)) (setq code1 (cdr (assoc -1 (entget ent1)))) (setq ena1 (vlax-ename->vla-object code1)) (setq typeobjet (vla-get-objectname ena1)) (setq proper1 (vlax-get-property ena1 'truecolor)) (setq colorr (vlax-get-property proper1 'colorindex)) (setq ligntype (vla-get-linetype ena1)) (setq eplign (vla-get-lineweight ena1)) (setq calquenew (strcat "CALQUE " typeobjet " " (rtos colorr 2 0) " " ligntype " " (rtos eplign 2 0) "ep")) (if (or (= colorr 256) (= colorr 0)) (setq colorr 7) ) (if (= (tblsearch "layer" calquenew) nil) (vl-cmdf "-calque" "n" calquenew "co" colorr calquenew "in" calquenew "") ) (vla-put-layer ena1 calquenew) (vlax-put-property proper1 'colorindex 256) (vlax-put-property ena1 'truecolor proper1) (vla-put-lineweight ena1 -1) (setq compt (1+ compt)) (prompt (strcat "\rENTITE DEPLACEE : " (rtos compt 2 0) " SUR : " (rtos com 2 0) " ")) ) ) ) (defun c:mdfc_meme_calque () (vl-load-com) (setvar "cmdecho" 0) (setvar "dimzin" 0) (setvar "osmode" 0) (prompt "\nCLIQUER SUR LES OBJETS A DEPLACER DE CALQUE :") (setq entites nil) (while (null entites) (setq entites (ssget))) (setq compt 0) (setq com (sslength entites)) (while (< compt com) (progn (setq ent1 (ssname entites compt)) (setq code1 (cdr (assoc -1 (entget ent1)))) (setq ena1 (vlax-ename->vla-object code1)) (setq typeobjet (vla-get-objectname ena1)) (setq calqueorigine (vla-get-layer ena1)) (setq proper1 (vlax-get-property ena1 'truecolor)) (setq colorr (vlax-get-property proper1 'colorindex)) (setq ligntype (vla-get-linetype ena1)) (setq eplign (vla-get-lineweight ena1)) (setq calquenew (strcat calqueorigine " " typeobjet " " (rtos colorr 2 0) " " ligntype " " (rtos eplign 2 0) "ep")) (if (or (= colorr 256) (= colorr 0)) (setq colorr 7) ) (if (= (tblsearch "layer" calquenew) nil) (vl-cmdf "-calque" "n" calquenew "co" colorr calquenew "in" calquenew "") ) (vla-put-layer ena1 calquenew) (vlax-put-property proper1 'colorindex 256) (vlax-put-property ena1 'truecolor proper1) (vla-put-lineweight ena1 -1) (setq compt (1+ compt)) (prompt (strcat "\rENTITE DEPLACEE : " (rtos compt 2 0) " SUR : " (rtos com 2 0) " ")) ) ) )
-
Bonjour je suis sous AUTOCAD ARCHITECTURE et j'utilise les entitées AEC "ESPACE" qui ont des données étendues répartie dans des "jeux de propriété" une commande "PROPERTYSETDUMP" m'affiche la liste a l'écran des données etendue d'un jeu de propriété donné en LISP ou VISUAL-LISP comment pourrais je récupéré la liste a l'écran en liste utilisable dans un programme LISP je n'ai pas trouvé de dictionnaire dans le fichier *.dwg listant ces données (("19"."HautSolFini"."Real"."Faux")("20"."HautSolBrut"."Real"."Faux") ...) merci Phil Commande: PROPERTYSETDUMP Sélectionnez l'entité avec les données de propriété: Nom de la définition du jeu de propriétés <*>: AIRE <<<<<<<<<<<<<<< PROPERTY SET >>>>>>>>>>>>>>> SET DEF: AIRE OBJ ATTACHED TO: <AecDbSpace 7F7E> PROPERTIES -------> ID: 19 NAME: HautSolFini DATA TYPE: Real UNSPECIFIED: Faux ID: 20 NAME: HautSolBrut DATA TYPE: Real UNSPECIFIED: Faux ID: 22 NAME: HautSousPlafond DATA TYPE: Real UNSPECIFIED: Faux ID: 27 NAME: Numerotation DATA TYPE: Integer UNSPECIFIED: Faux ID: 30 NAME: PIECE_ATTACHEE DATA TYPE: Text UNSPECIFIED: Faux ID: 43 NAME: NOM01 DATA TYPE: Text UNSPECIFIED: Faux ID: 44 NAME: NOM02 DATA TYPE: Text UNSPECIFIED: Faux ID: 56 NAME: TYPE_SOL DATA TYPE: Text UNSPECIFIED: Faux ID: 57 NAME: TYPE_PLAFOND DATA TYPE: Text UNSPECIFIED: Faux ID: 58 NAME: TYPE_MUR DATA TYPE: Text UNSPECIFIED: Faux ID: 59 NAME: TYPE_MUR1 DATA TYPE: Text UNSPECIFIED: Faux ID: 69 NAME: NIVEAU DATA TYPE: Integer UNSPECIFIED: Faux
-
hello j'ai pas tout lu, mais +1 plus j'ai l'impression d'acheter une bécane plus "performante", plus je la trouve lente par rapport a la précédente ( ce qui est surement faux, j'ai pas comparé en chiffres ) a lire l suite Phil
-
Modification echelle de type de ligne en masse
PHILPHIL a répondu à un(e) sujet de Fruity dans LISP et Visual LISP
HELLO j'ai modifie un lisp pour changer la hauteur des texte, en changement de l'echelle des lignes ou polyligne ca sous entend de choisir les entités quand meme tu sélectionnes les entité lignes ou polyligne ou un CTR+A pour tout sélectionner tu appuies sur "+" augmente l'échelle de type de ligne de 0.1 ou "-" diminue l'échelle de type de ligne de 0.1 ou "0" sort du lisp a+ Phil ;;;------------------------------------------------------------------ ;;;CHANGE L ECHELLE DES TYPE DE LIGNE OU POLYLIGNE AVEC LES TOUCHES + OU - EJECT AVEC 0 ;;; + = touche N°43 ;;; - = touche N°45 ;;; 0 = touche N°48 ;;; enter = touche N°13 ;;;------------------------------------------------------------------ (defun C:CECT (/ ENTX) (setvar "cmdecho" 0) (setq ENTX NIL) (prompt "\nSELECTIONNER LE(S) LIGNE(S) POLYLIGNE(S) A MODIFIER :") (while (null ENTX) (setq ENTX (ssget '((0 . "LINE,LWPOLYLINE"))))) (setq COM (sslength ENTX)) (setq BOUCLE1 1) (while (= BOUCLE1 1) (initget "0 + -") (prompt "\nSELECTIONNER LE TYPE D'ACTION DESIRE ( 0 + - ) ") (setq ACTION (grread NIL 4 0)) (if (= (cadr ACTION) 43) (progn (setq COMPT 0) (while (< COMPT COM) (setq ECHELLETYPELINE (vlax-get-property (vlax-ename->vla-object (cdr (assoc -1 (entget (ssname ENTX COMPT))))) 'LinetypeScale)) (vla-put-LinetypeScale (vlax-ename->vla-object (cdr (car (entget (ssname ENTX COMPT))))) (+ (ROUND-PREC ECHELLETYPELINE 1) 0.1) ) (setq COMPT (1+ COMPT)) ) (if (= COM 1) (prompt (strcat "\nL'ECHELLE DE LA LIGNE, POLYLIGNE EST DE < " (rtos (+ (ROUND-PREC ECHELLETYPELINE 1) 0.1) 2 1) " >: ") ) (prompt "\nL'ECHELLE DES LIGNES, POLYLIGNES A AUGMENTEE DE 0.1 :") ) ) ) (if (= (cadr ACTION) 45) (progn (setq COMPT 0) (setq CHANG 0) (while (< COMPT COM) (setq ECHELLETYPELINE (vlax-get-property (vlax-ename->vla-object (cdr (assoc -1 (entget (ssname ENTX COMPT))))) 'LinetypeScale)) (if (> (- (ROUND-PREC ECHELLETYPELINE 1) 0.1) 0) (progn (vla-put-LinetypeScale (vlax-ename->vla-object (cdr (car (entget (ssname ENTX COMPT))))) (- (ROUND-PREC ECHELLETYPELINE 1) 0.1) ) (setq CHANG (1+ CHANG)) ) (progn (prompt "\nL'ECHELLE DE LA LIGNE, POLYLIGNE N'A PAS ETE CHANGE CAR DEVENU NEGATIVE :")) ) (setq COMPT (1+ COMPT)) ) (if (> COM 1) (progn (if (> CHANG 0) (prompt "\nL'ECHELLE DES LIGNES, POLYLIGNES A DIMINUEE DE 0.1 :") ) ) (progn (if (> CHANG 0) (prompt (strcat "\nL'ECHELLE DE LA LIGNE, POLYLIGNE EST DE < " (rtos (- (ROUND-PREC ECHELLETYPELINE 1) 0.1) 2 1) " >: ") ) (prompt (strcat "\nL'ECHELLE DE LA LIGNE, POLYLIGNE EST DE < " (rtos (ROUND-PREC ECHELLETYPELINE 1) 2 1) " >: ")) ) ) ) ) ) (if (= (cadr ACTION) 48) (setq BOUCLE1 0) ) ) (princ) ) ;;; ROUND-PREC Arrondit à la valeur la plus proche en fonction de prec ;;; (round pi 2) -> 3.14 ;;; (round pi 5) ->3.14159 ;;; (round 5456.50 0) -> 5457 ;;; (round 5456.50 -1) -> 5460 (defun round-prec (num prec /) (setq rslt (/ (fix (+ (* num (expt 10.0 prec)) (/ (abs num) (* 2 num)))) (expt 10.0 prec))) (if (< 0 prec) rslt (fix rslt) ) ) -
Modification echelle de type de ligne en masse
PHILPHIL a répondu à un(e) sujet de Fruity dans LISP et Visual LISP
hello ECHLTP = 5 OU 10 par exemple a+ Phil -
hello en cherchant modifie le 100 et /ou le 80 " : list_box { key = \"tabs\"; width = 100 ; height = 80; fixed_width = false; alignment = centered; multiple_select = true; }" Phil
-
hello x_all je viens de me rappeler il faut aller effacer le fichier *.dcl créer précédement par le lisp pour qu'il recréer un nouveau *.dcl avec les nouveaux parametres du lisp ../appdata/roaming/autodesk/aca2019/fra/support/LMCAC_tabsort_v2****.dcl tu devrais trouver le *.dcl quelque part dans ce genre de sous répertoire j'avais galérer a trouver la solution aussi Phil
-
hello X all remplace ca ca devrait te faire une fenêtre plus grande si ca déepasse ton écran joue avec les chiffre en gras width = 100 height = 80 edit_width = 100 a+ Phil (defun _WriteDCL ( fname / ofile ) (cond ( (findfile fname) ) ( (setq ofile (open fname "w")) (foreach line '( "//---------------------=={ TabSort.dcl }==--------------------//" "// //" "// Dialog Definition file for use in conjunction with //" "// TabSort.lsp //" "//------------------------------------------------------------//" "// Author: Lee Mac, Copyright © 2011 - www.lee-mac.com //" "//------------------------------------------------------------//" "" "dcl_settings : default_dcl_settings { audit_level = 1; }" "" "//------------------------------------------------------------//" "// SubAssembly Definitions //" "//------------------------------------------------------------//" "" "button13 : button { width = 13; alignment = centered; fixed_width = true; }" "button16 : button { width = 16; alignment = centered; fixed_width = true; }" " eBox : edit_box { alignment = centered; fixed_width = true; allow_accept = true; is_tab_stop = true; }" " fBox : edit_box { alignment = left; fixed_width = true; is_tab_stop = true; }" " title : text { alignment = centered; is_bold = true; fixed_width = false;}" " txt : text { alignment = centered; fixed_width = false; }" " ltxt : text { alignment = left; fixed_width = false; }" "" "//------------------------------------------------------------//" "// Main Dialog //" "//------------------------------------------------------------//" "" "tabsort : dialog { key = \"dcltitle\";" "" " : image_button { key = \"help\"; label = \"&help\"; color = -15; height = 0.1; width = 0.1; fixed_width = true; }" " spacer;" " " " : row {" " : button13 { key = \"mtop\"; label = \"Top\" ; mnemonic = \"T\"; }" " : button13 { key = \"up\" ; label = \"Up\" ; mnemonic = \"U\"; }" " : button13 { key = \"down\"; label = \"Down\" ; mnemonic = \"D\"; }" " : button13 { key = \"mbot\"; label = \"Bottom\" ; mnemonic = \"B\"; }" " }" " " " : list_box { key = \"tabs\"; width = 100 ; height = 80; fixed_width = false; alignment = centered; multiple_select = true; }" " " " : row {" " : button13 { key = \"sort\"; label = \"Sort...\" ; mnemonic = \"S\"; }" " : button13 { key = \"rev\" ; label = \"Reverse\" ; mnemonic = \"R\"; }" " : button13 { key = \"p_s\" ; label = \"Pref/Suff\"; mnemonic = \"P\"; }" " : button13 { key = \"cur\" ; label = \"Current\" ; mnemonic = \"n\"; }" " }" " " " spacer;" " " " : row { fixed_width = false;" " : button13 { key = \"add\" ; label = \"Add\" ; mnemonic = \"A\"; }" " : button13 { key = \"del\" ; label = \"Delete\" ; mnemonic = \"e\"; }" " : button13 { key = \"copy\" ; label = \"Copy\" ; mnemonic = \"C\"; }" " : button13 { key = \"fnr\" ; label = \"Find\" ; mnemonic = \"F\"; }" " }" " " " : text { label = \"Double-click to Rename a Tab, Press H for Help\" ; alignment = centered; }" " " " : row { fixed_width = true ; alignment = centered;" " : button13 { key = \"accept\"; label = \"Done\" ; mnemonic = \"o\"; is_default = true; is_cancel = true; }" " : button13 { key = \"res\" ; label = \"Reset\" ; mnemonic = \"s\"; } " " }" "}" "" "//------------------------------------------------------------//" "// Rename Dialog //" "//------------------------------------------------------------//" "" "rename : dialog { label = \"Rename Tab\"; spacer;" " : eBox { key = \"name\"; edit_width = 100; edit_limit = 255; label = \"Tab Name:\"; }" " : errtile { } " " spacer; ok_cancel;" "}" "" "//------------------------------------------------------------//" "// Delete Warning Dialog //" "//------------------------------------------------------------//" "" "delwarn : dialog { label = \"Warning\"; spacer;" " : text { alignment = centered; label = \"The Selected Tab(s) will be Permanently Deleted\"; }" " : text { alignment = centered; label = \"Proceed?\"; }" " spacer; ok_cancel;" "}" "" "//------------------------------------------------------------//" "// Prefix/Suffix Dialog //" "//------------------------------------------------------------//" "" "prefsuff : dialog { label = \"Add Prefix/Suffix\"; spacer;" "" " : row {" " : column {" " : text { alignment = centered; label = \"Prefix\"; }" " : eBox { key = \"pref\"; edit_width = 15; edit_limit = 255; }" " }" " : column {" " : spacer { alignment = centered; width = 10; }" " : text { alignment = centered; label = \"< Tab Name >\"; }" " }" " : column {" " : text { alignment = centered; label = \"Suffix\"; }" " : eBox { key = \"suff\"; edit_width = 15; edit_limit = 255; }" " }" " } " " spacer;" " " " : row { spacer;" " : toggle { key = \"all\"; label = \"Apply to all Tabs\"; mnemonic = \"A\"; alignment = right; is_tab_stop = true; }" " }" " : errtile { } ok_cancel;" "}" "" "//------------------------------------------------------------//" "// Find Dialog //" "//------------------------------------------------------------//" "" "find : dialog { label = \"Find and Replace\"; spacer;" "" " : row {" " : column { fixed_height = true;" " : text { key = \"fw\" ; label = \"Find What:\" ; }" " : fBox { key = \"fstr\"; edit_width = 30; mnemonic = \"W\"; }" " : text { key = \"rw\" ; label = \"Replace With:\" ; }" " : fBox { key = \"rstr\"; edit_width = 30; mnemonic = \"R\"; }" " }" " : spacer { width = 4; }" " : column { fixed_height = true;" " : spacer { height = 0.2 ; }" " : button16 { key = \"fnd\" ; label = \"Find\" ; mnemonic = \"F\"; }" " : button16 { key = \"rep\" ; label = \"Replace\" ; mnemonic = \"p\"; }" " : button16 { key = \"repa\" ; label = \"Replace All\"; mnemonic = \"A\"; }" " }" " }" " " " spacer;" " : text { key = \"ftxt\"; alignment = left; label = \"String not Found!\"; value = \"\"; }" " spacer;" " : button13 { key = \"accept\"; label = \"Done\" ; mnemonic = \"o\"; is_default = true; is_cancel = true ; }" "}" "" "//------------------------------------------------------------//" "// Sort Dialog //" "//------------------------------------------------------------//" "" "sort : dialog { label = \"Sort\"; spacer;" "" " : boxed_column { label = \"Sort Type\";" " " " : popup_list { key = \"typ\"; alignment = centered; }" " " " spacer;" " " " : radio_row { children_alignment = centered;" " : radio_button { key = \"asc\"; label = \"Ascending\" ; }" " : radio_button { key = \"des\"; label = \"Descending\"; }" " }" " spacer;" " }" " " " spacer;" " " " : row { fixed_width = false; alignment = centered;" " : button13 { key = \"accept\"; label = \"Sort\" ; mnemonic = \"S\"; is_default = true; }" " : button13 { key = \"cancel\"; label = \"Cancel\"; mnemonic = \"C\"; is_cancel = true; }" " }" "}" "" "//------------------------------------------------------------//" "// Help Dialog //" "//------------------------------------------------------------//" "" "help : dialog { key = \"htitle\";" " spacer; : title { label = \" ---------------------=={ TabSort.lsp }==--------------------- \" ; }" " spacer; : title { label = \"Designed and Created by Lee Mac 2011\" ; }" " spacer; : ltxt { label = \" Program Controls:\" ; }" " spacer;" " : row { fixed_width = true; alignment = centered;" " : column {" " : txt { label = \"[\" ; }" " : txt { label = \"[\" ; }" " : txt { label = \"[\" ; }" " : txt { label = \"[\" ; }" " : txt { label = \"[\" ; }" " : txt { label = \"-->\" ; }" " : txt { label = \"-->\" ; }" " : txt { label = \"-->\" ; }" " : txt { label = \"[\" ; }" " : txt { label = \"[\" ; }" " : txt { label = \"[\" ; }" " : txt { label = \"[\" ; }" " : txt { label = \"[\" ; }" " : txt { label = \"[\" ; }" " : txt { label = \"[\" ; }" " : txt { label = \"[\" ; }" " : txt { label = \"[\" ; }" " }" " : column {" " : txt { label = \"Top\" ; }" " : txt { label = \"Up\" ; }" " : txt { label = \"Down\" ; }" " : txt { label = \"Bottom\" ; }" " : txt { label = \"Sort\" ; }" " : txt { label = \"Alphabetical\" ; }" " : txt { label = \"Numerical\" ; }" " : txt { label = \"Architectural\"; }" " : txt { label = \"Reverse\" ; }" " : txt { label = \"Pref/Suff\" ; }" " : txt { label = \"Add\" ; }" " : txt { label = \"Delete\" ; }" " : txt { label = \"Copy\" ; }" " : txt { label = \"Current\" ; }" " : txt { label = \"Find\" ; }" " : txt { label = \"Done\" ; }" " : txt { label = \"Reset\" ; }" " }" " : column {" " : txt { label = \"]\" ; }" " : txt { label = \"]\" ; }" " : txt { label = \"]\" ; }" " : txt { label = \"]\" ; }" " : txt { label = \"]\" ; }" " : txt { label = \"<--\" ; }" " : txt { label = \"<--\" ; }" " : txt { label = \"<--\" ; }" " : txt { label = \"]\" ; }" " : txt { label = \"]\" ; }" " : txt { label = \"]\" ; }" " : txt { label = \"]\" ; }" " : txt { label = \"]\" ; }" " : txt { label = \"]\" ; }" " : txt { label = \"]\" ; }" " : txt { label = \"]\" ; }" " : txt { label = \"]\" ; }" " }" " spacer;" " : column {" " : ltxt { label = \"Move selected Tabs to the top of the list.\" ; }" " : ltxt { label = \"Move selected Tabs up one notch in the list.\" ; }" " : ltxt { label = \"Move selected Tabs down one notch in the list.\" ; }" " : ltxt { label = \"Move selected Tabs to the bottom of the list.\" ; }" " : ltxt { label = \"Opens the Sort Dialog.\" ; }" " : ltxt { label = \"Sort the Tabs Alphabetically.\" ; }" " : ltxt { label = \"Sort the Tabs Numerically.\" ; }" " : ltxt { label = \"Sort the Tabs using an Architectural sorting method.\" ; }" " : ltxt { label = \"Reverse the Tab Order.\" ; }" " : ltxt { label = \"Opens the Prefix/Suffix Dialog.\" ; }" " : ltxt { label = \"Adds a new layout Tab using the next available name.\" ; }" " : ltxt { label = \"Deletes the selected Tabs.\" ; }" " : ltxt { label = \"Copies the selected Tabs.\" ; }" " : ltxt { label = \"Makes the selected Tab the Current Tab.\" ; }" " : ltxt { label = \"Opens the Find and Replace Dialog.\" ; }" " : ltxt { label = \"Finished sorting Tabs, will implement sorting.\" ; }" " : ltxt { label = \"Will reset Tab names and order - not deleted/added Tabs\"; }" " }" " }" " spacer_1;" " : title { label = \"-------------------------------------------------------------\" ; }" " spacer_1; ok_only;" "}" "" "//------------------------------------------------------------//" "// End of File //" "//------------------------------------------------------------//" ) (write-line line ofile) ) (setq ofile (close ofile)) (while (not (findfile fname))) fname ) ) )
-
hello je deteste ce truc, l'ordi a assez de calcul a faire sur les entites en 2d deja le but du lisp n'est pas de remplacer l'annotatif juste quand des fois des textes dans des cartouches sorte des cadres, ou de données une hauteur bien précise a des textes phil
-
hello mise a jour et correction du bug si la hauteur du texte descend en dessous de zero LISP dans le message #1 Phil
-
hello lili ca diminue de 0.1 en 0.1 sans tester, je suppose qu'une fois que le texte fait zero ca bug car une hauteur de texte doit toujours etre positive apres a chacun de voir en quelle unite il bosse et de changer le 0.1 en 0.01 Phil
-
hello lili tu as copié le lisp de GILE aussi ;;; de Gile ;;; ROUND-PREC Arrondit à la valeur la plus proche en fonction de prec ;;; (round pi 2) -> 3.14 ;;; (round pi 5) ->3.14159 ;;; (round 5456.50 0) -> 5457 ;;; (round 5456.50 -1) -> 5460 (defun round-prec (num prec /) (setq rslt (/ (fix (+ (* num (expt 10.0 prec)) (/ (abs num) (* 2 num)))) (expt 10.0 prec))) (if (< 0 prec) rslt (fix rslt) ) ) Phil
-
hello lili2006 et ca marche maintenant ? Phil
-
hello lili2006 retire les lignes (command-s "scu" "") et (command-s "scu" "p") qui ne servent effectivement a rien dans le lisp tu bosses sur ordi fixe ou un portable ? les numéro de touche ne correspondent peut etre pas aussi UN LISP pour tester les numeros de touche sur vos claviers chez moi le + = N°43 le - = N°45 le 0 = N°48 a remplacer le cas échéant dans le lisp (if (= (cadr ACTION) 43) (defun C:TESTTOUCHE () (prompt "\nAPPUYER SUR UNE TOUCHE POUR CONNAITRE SON NUMERO SUR VOTRE CLAVIER ( 0 + - ) OU AUTRE : " ) (setq ACTION (grread NIL 4 0)) (prompt (strcat "\nLA TOUCHE SUR LAQUELLE VOUS VENEZ D'APPUYER A LE N° : " (RTOS (cadr ACTION) 2 0) " SUR VOTRE CLAVIER: " ) ) (princ) )
-
bonjour pour ne plus avoir des textes avec des hauteurs non juste ( plein de chiffre apres la virgule ) et ne plus avoir a passer par la fenetre des propriétés. voici un petit lisp pour changer la hauteur de : TEXTE MTEXT et ATTRIBUT. appel de commande : TAA il suffit d'appuyer sur les touches "+" "-" pour changer la hauteur des textes a 0.1 pres ou resté appuyer et "0" pour sortir du lisp bon week end ;;; de gile ;;; ROUND-PREC Arrondit à la valeur la plus proche en fonction de prec ;;; (round pi 2) -> 3.14 ;;; (round pi 5) ->3.14159 ;;; (round 5456.50 0) -> 5457 ;;; (round 5456.50 -1) -> 5460 (defun round-prec (num prec /) (setq rslt (/ (fix (+ (* num (expt 10.0 prec)) (/ (abs num) (* 2 num)))) (expt 10.0 prec))) (if (< 0 prec) rslt (fix rslt) ) ) ;;;------------------------------------------------------------------ ;;;CHANGE LA HAUTEUR DES TEXTES AVEC LES TOUCHES + OU - EJECT AVEC 0 ;;; + = touche N°43 ;;; - = touche N°45 ;;; 0 = touche N°48 ;;; enter = touche N°13 ;;;------------------------------------------------------------------ (defun C:TAA (/ ENTX) (setvar "cmdecho" 0) (setq ENTX NIL) (prompt "\nSELECTIONNER LE(S) TEXTE(S) MTEXTE(S) A MODIFIER :") (while (null ENTX) (setq ENTX (ssget '((0 . "TEXT,MTEXT,ATTDEF"))))) (setq COM (sslength ENTX)) (setq BOUCLE1 1) (while (= BOUCLE1 1) (initget "0 + -") (prompt "\nSELECTIONNER LE TYPE D'ACTION DESIRE ( 0 + - ) ") (setq ACTION (grread NIL 4 0)) (if (= (cadr ACTION) 43) (progn (setq COMPT 0) (while (< COMPT COM) (setq HAUTEURTEXTE (vlax-get-property (vlax-ename->vla-object (cdr (assoc -1 (entget (ssname ENTX COMPT))))) 'HEIGHT)) (vla-put-height (vlax-ename->vla-object (cdr (car (entget (ssname ENTX COMPT))))) (+ (ROUND-PREC HAUTEURTEXTE 1) 0.1) ) (setq COMPT (1+ COMPT)) ) (if (= COM 1) (prompt (strcat "\nLA HAUTEUR DU TEXTE EST DE < " (rtos (+ (ROUND-PREC HAUTEURTEXTE 1) 0.1) 2 1) " >: ") ) (prompt "\nLA HAUTEUR DES TEXTES A AUGMENTEE DE 0.1 :") ) ) ) (if (= (cadr ACTION) 45) (progn (setq COMPT 0) (setq CHANG 0) (while (< COMPT COM) (setq HAUTEURTEXTE (vlax-get-property (vlax-ename->vla-object (cdr (assoc -1 (entget (ssname ENTX COMPT))))) 'HEIGHT)) (if (> (- (ROUND-PREC HAUTEURTEXTE 1) 0.1) 0) (progn (vla-put-height (vlax-ename->vla-object (cdr (car (entget (ssname ENTX COMPT))))) (- (ROUND-PREC HAUTEURTEXTE 1) 0.1) ) (setq CHANG (1+ CHANG)) ) (progn (prompt "\nLA HAUTEUR D'UN TEXTE N'A PAS ETE CHANGE CAR DEVENU NEGATIVE :")) ) (setq COMPT (1+ COMPT)) ) (if (> COM 1) (progn (if (> CHANG 0) (prompt "\nLA HAUTEUR DES TEXTES A DIMINUEE DE 0.1 :") ) ) (progn (if (> CHANG 0) (prompt (strcat "\nLA HAUTEUR DU TEXTE EST DE < " (rtos (- (ROUND-PREC HAUTEURTEXTE 1) 0.1) 2 1) " >: ") ) (prompt (strcat "\nLA HAUTEUR DU TEXTE EST DE < " (rtos (ROUND-PREC HAUTEURTEXTE 1) 2 1) " >: ")) ) ) ) ) ) (if (= (cadr ACTION) 48) (setq BOUCLE1 0) ) ) (princ) ) (defun C:TESTTOUCHE () (prompt "\nAPPUYER SUR UNE TOUCHE POUR CONNAITRE SON NUMERO SUR VOTRE CLAVIER ( 0 + - ) OU AUTRE : " ) (setq ACTION (grread NIL 4 0)) (prompt (strcat "\nLA TOUCHE SUR LAQUELLE VOUS VENEZ D'APPUYER A LE N° : " (RTOS (cadr ACTION) 2 0) " SUR VOTRE CLAVIER: " ) ) (princ) ) phil
-
bonjour je cherche toujours a activer désactiver des fenetres de l'espace papier a la volée sans pour autant passer en revue toutes les présentations avant j'ai modifié un LISP de Blaes Sébastien ca marche que si les ID 69 sont supérieur a 1 ( pour le moment je fais apparaitre les "viewport" de l'espace papier ID69=1 pour comprendre ) l'ID 69 du viewport se modifie en 1,2,3 .... que si on est déja aller dans la présentation l'idée avec c:changeidviewport est de modifier chaque ID 68 et ID 69 de chaque viewport avant de lancer c:acfp mais ENTMOD ne fonctionne pas avec les viewport y a t'il une autre méthodes en ACTIVEX? VISUAL LIPS ? *.NET pour modifier les ID 69 de chaque fenetre rapidement a la volée sans ouvrir les présentations merci bon week end Phil ; Ce fichier lisp contient toutes les fonctions utiles pour ; CHOISIR L ACTIVATION OU PAS DES FENETRES CONTENUES DANS LES PRESENTATIONS ; ; la commande à utiliser est : ; - acfp pour : Choisir Echelle Fenêtre Présentation ; ; BLAES Sébastien ; version du 29/07/2009 ; ; les variables écrites en majuscules, sont des variables globales (vl-load-com) ;------------------------------------------; ; nom: get_all_fen ; ; role: retourne sous forme de liste de ; ; quadruplets, toutes les fenêtres ; ; existantes dans les des différentes; ; présentations. Les quadruplets sont; ; de cette forme: ; ; - objet vla de la fenêtre ; ; - nom de la présentation ; ; - echelle personnalisée ; ; - verrouillage (V verrouillée ou ; ; D déverrouillée) ; ; param: aucun ; ; retour: liste de quadruplets ; ; nil si erreur ; ; date: 29/07/2009 ; ; Sébastien BLAES ; ;------------------------------------------; (defun get_all_fen (/ RES_ACFP vla_doc vla_pre tmp) (setq RES_ACFP nil tmp nil ; ces variables seront globales et servent à stocker le nombre maximum de caractères ; que prennent l'id, le nom de la présentation ainsi que l'échelle var_acfp_id_max 0 var_acfp_id_fen69_max 0 var_acfp_pre_max 0 var_acfp_cal_max 0 var_acfp_scale_max 0 var_acfp_fix_scale_max 0 ) ; setq (setvar "CTAB" "Model") (cond ; on cherche toutes les fenêtres sauf l'espace objet et les présentations elle-même ((= (setq select (ssget "X" '((0 . "VIEWPORT") ;;; (-4 . "<NOT") (69 . 1) (-4 . "NOT>") ))) nil) (princ (strcat "\nIl n'y a pas de fenêtres dans le fichier")) ) (t (setq RES_ACFP nil) (while (/= (setq ent (ssname select 0)) nil) (setq lent (entget ent) vla_ent (vlax-ename->vla-object ent) id_fen68 (cdr (assoc 68 lent)) id_fen69 (cdr (assoc 69 lent)) pre_name (cdr (assoc 410 lent)) cal_name (cdr (assoc 8 lent)) scale (vla-get-customscale vla_ent) ;;; lock (vla-get-displaylocked vla_ent) acti1 (vla-get-ViewportOn vla_ent) OBJID (vla-get-ObjectID vla_ent) RES_ACFP (cons (list vla_ent pre_name scale acti1 id_fen69 cal_name OBJID id_fen68) RES_ACFP) ) ; setq ; on s'occupe des variables globales (if (> (strlen (cdr (assoc 5 lent))) var_acfp_id_max) (setq var_acfp_id_max (strlen (cdr (assoc 5 lent)))) ) ; if (if (> (strlen (rtos id_fen69)) var_acfp_id_fen69_max) (setq var_acfp_id_fen69_max (strlen (rtos id_fen69))) ) ; if (if (> (strlen pre_name) var_acfp_pre_max) (setq var_acfp_pre_max (strlen pre_name)) ) ; if (if (> (strlen cal_name) var_acfp_cal_max) (setq var_acfp_cal_max (strlen cal_name)) ) ; if (if (> (strlen (rtos scale)) var_acfp_scale_max) (setq var_acfp_scale_max (strlen (rtos scale))) ) ; if (if (> (strlen (itoa (fix scale))) var_acfp_fix_scale_max) (setq var_acfp_fix_scale_max (strlen (itoa (fix scale)))) ) ; if ; on supprime ent de la sélection (ssdel ent select) ) ; while ) ) ; cond (reverse RES_ACFP) ) ; get_all_fen ;-------------------------------------------; ; nom: choisir_echelle_fenetre_presentation ; ; role: ouvre une dcl pour choisir l'échelle; ; personnalisée des fenêtres contenues; ; dans les présentations ; ; param: aucun ; ; retour: t si tout c'est bien passé ; ; nil si erreur ; ; date: 28/07/2009 ; ; Sébastien BLAES ; ;-------------------------------------------; (defun c:acfp (/ RES_ACFP liste_pre_fen_ACFP tmp_dcl desc_tmp_dcl ) (setq RES_ACFP nil) (cond ; on récupère les présentations et leur fenêtres ((= (setq liste_pre_fen_ACFP (get_all_fen)) nil) (princ (strcat "\nIl y a eu une erreur de recherche des fenêtres dans les présentations")) ) ; on va créer un fichier temporaire pour la dcl ((= (setq tmp_dcl (vl-filename-mktemp "tmp.dcl")) nil)) ; on va l'ouvrir ((= (setq desc_tmp_dcl (open tmp_dcl "w")) nil)) (t ;;;;;;;;;;;;;;;;; ; FICHIER DCL ; ;;;;;;;;;;;;;;;;; ; on va écrire dans le fichier temporaire ; on déclare la boite de dialogue (write-line (strcat "acfp_dialog: dialog{label=\"ACFP LISTES DES PRESENTATIONS et FENETRES \";") desc_tmp_dcl ) (write-line ":row{" desc_tmp_dcl) ; LISTE DES PRESENTATIONS (write-line ":column{width=180;" desc_tmp_dcl) (write-line (strcat ":text {label=\"ID_FENETRE - ID 68 - ID 69 - OBJET ID - ACTIVATION - NOM PRESENTATION(S) - ECHELLE - CALQUE Nb DE FENETRE(S) : " (itoa (length liste_pre_fen_ACFP)) "\";}" ) desc_tmp_dcl ) (write-line ":list_box {key=\"k_liste_fen\";height=110;width=70;fixed_width_font=true;multiple_select=true;}" desc_tmp_dcl ) (write-line "}" desc_tmp_dcl) ; ECHELLE PERSONNALISEE ET VEROUILLAGE (write-line ":column{" desc_tmp_dcl) (write-line ":column{" desc_tmp_dcl) (write-line ":spacer {height=2;}" desc_tmp_dcl) ;;; (write-line ":edit_box{key=\"k_ech_perso\";label=\"Echelle\";}" desc_tmp_dcl) (write-line ":radio_column{label=\"ACTIVATION FENETRE \";" desc_tmp_dcl) (write-line ":radio_button{key=\"k_active\";label=\"ACTIVER\";}" desc_tmp_dcl) (write-line ":radio_button{key=\"k_desactive\";label=\"DESACTIVER\";}" desc_tmp_dcl) ;;; (write-line ":radio_button{key=\"k_before\";label=\"ne pas changer\";}" desc_tmp_dcl) (write-line "}" desc_tmp_dcl) (write-line ":button{key=\"k_apply\";label=\"APPLIQUER\";}" desc_tmp_dcl) (write-line "}" desc_tmp_dcl) (write-line "}" desc_tmp_dcl) (write-line "}" desc_tmp_dcl) (write-line ":spacer {height=2;}" desc_tmp_dcl) ; BOUTON OK (write-line ":row{" desc_tmp_dcl) (write-line ":spacer {width=3;}" desc_tmp_dcl) (write-line ":button{key=\"k_ok\";label=\"OK\";is_default=true;}" desc_tmp_dcl) (write-line ":spacer {width=2;}" desc_tmp_dcl) (write-line "}" desc_tmp_dcl) ; on ferme la boite de dialogue (write-line "}" desc_tmp_dcl) ; on ferme le fichier (close desc_tmp_dcl) ;;;;;;;;;;;;;;;;; ;FIN FICHIER DCL; ;;;;;;;;;;;;;;;;; (cond ((= (setq dcl_id (load_dialog tmp_dcl)) nil)) ((= (new_dialog "acfp_dialog" dcl_id) nil)) (t ; cette fonction sert à mettre de façon clair les données (defun en_chaine (lst / RES_ACFP) (setq espace1 " " espace2 " " espace3 " " espace4 " " ) (repeat (+ (- var_acfp_id_max (strlen (cdr (assoc 5 (entget (vlax-vla-object->ename (nth 0 lst))))))) 4) (setq espace1 (strcat espace1 " ")) ) (repeat (+ (- var_acfp_pre_max (strlen (nth 1 lst))) 4) (setq espace2 (strcat espace2 " "))) (repeat (- var_acfp_fix_scale_max (strlen (itoa (fix (nth 2 lst))))) (setq espace3 (strcat espace3 " ")) ) (repeat 4 (setq espace4 (strcat espace4 " "))) (strcat (cdr (assoc 5 (entget (vlax-vla-object->ename (nth 0 lst))))) espace4 (rtos (nth 7 lst) 2 0) espace4 (rtos (nth 4 lst) 2 0) espace4 (rtos (nth 6 lst) 2 0) espace4 (if (= (nth 3 lst) :vlax-true) " ACTIVE " " DESACTIVE " ) espace1 (nth 1 lst) espace2 (rtos (nth 2 lst) 2 10) espace4 (nth 5 lst) ;;; espace4 ; if ) ; strcat ) ; en_chaine (defun applique_verrouillage (chx / liste_choix tmp_choix tmp verr) ; on boucle sur choix afin de chercher les fenêtres concernées (setq liste_choix '() tmp_choix chx ) (while (/= (setq tmp (read tmp_choix)) nil) (setq liste_choix (cons (car (nth tmp liste_pre_fen_ACFP)) liste_choix)) ; on retire de choix la valeur tmp (cond ((vl-string-search (strcat (itoa tmp) " ") tmp_choix) (setq tmp_choix (vl-string-subst "" (strcat (itoa tmp) " ") tmp_choix)) ) ((vl-string-search (strcat (itoa tmp) "") tmp_choix) (setq tmp_choix (vl-string-subst "" (strcat (itoa tmp) "") tmp_choix)) ) ) ; cond ) ; while ; on va simplement appliquer la verrouillage demandé (setq verr (if (= (get_tile "k_active") "1") :vlax-true :vlax-false ) ) (mapcar '(lambda (elem) (vla-put-ViewportOn elem verr)) liste_choix) ; mapcar (cond ((= (setq liste_pre_fen_ACFP (get_all_fen)) nil) (princ (strcat "\nIl y a eu une erreur de recherche des fenêtres dans les présentations")) ) (t ; on remplit la liste des présentations (fill_liste_pre) (set_tile "k_liste_fen" chx) ) ) ; cond ) ; applique_verrouillage (defun applique_echelle (scale / choix tmp_choix liste_choix tmp) (cond ; on teste s'il y a des éléments cochés dans la liste ((= (setq choix (get_tile "k_liste_fen")) "") (princ (strcat "\nAucun élément de sélectionné dans la liste!")) (princ) ) (t ; on boucle sur choix afin de chercher les fenêtres concernées (setq liste_choix '() tmp_choix choix ) (while (/= (setq tmp (read tmp_choix)) nil) (setq liste_choix (cons (car (nth tmp liste_pre_fen_ACFP)) liste_choix)) ; on retire de choix la valeur tmp (cond ((vl-string-search (strcat (itoa tmp) " ") tmp_choix) (setq tmp_choix (vl-string-subst "" (strcat (itoa tmp) " ") tmp_choix)) ) ((vl-string-search (strcat (itoa tmp) "") tmp_choix) (setq tmp_choix (vl-string-subst "" (strcat (itoa tmp) "") tmp_choix)) ) ) ; cond ) ; while ; on met l'échelle (mapcar '(lambda (elem) (vla-put-customscale elem scale)) liste_choix) ; mapcar ; on gère le verrouillage (cond ; si ne pas changer est cocher on ne fait rien ((= (get_tile "k_before") "1") (princ (strcat "\nRien a changer!")) (princ)) (t (applique_verrouillage choix)) ) ; cond ) ) ; cond ) ; applique_verrouillage ; on définit les fonctions utiles sur la dcl (defun fill_liste_pre () (start_list "k_liste_fen") (mapcar '(lambda (elem) (add_list (en_chaine elem))) liste_pre_fen_ACFP) ; mapcar (end_list) ) ; fill_liste_pre (defun k_apply_clic (/) (cond ; on teste la valeur de l'échelle saisie ;;; ((or (= (type (setq cus_scale (read (get_tile "k_ech_perso")))) 'int) (= (type cus_scale) 'real)) ;;; (applique_echelle cus_scale) ;;; ) ; si cus_scale vaut nil, c'est que l'utilisateur n'a pas saisie d'échelle ((= cus_scale nil) (cond ; si ne pas changer est cocher on ne fait rien ;;; ((= (get_tile "k_before") "1") (princ (strcat "\nRien a changer!")) (princ)) ; on teste s'il y a des éléments cochés dans la liste ((= (setq choix (get_tile "k_liste_fen")) "") (princ (strcat "\nAucun élément de sélectionné dans la liste!")) (princ) ) (t (applique_verrouillage choix)) ) ; cond ) ; la valeur saisie n'est pas bonne (t (princ "\nValeur saisie incorrecte") (princ)) ) ; cond ) ; k_apply_clic ; on définit les actions sur la dcl (action_tile "k_ok" "(setq ok t)(done_dialog)") (action_tile "k_apply" "(k_apply_clic)") ; on remplit la liste des présentations (fill_liste_pre) ; par défaut on coche "ne pas changer" (set_tile "k_before" "1") ; on lance la dcl (start_dialog) (unload_dialog dcl_id) ; on a quitter la dcl (cond ((= ok t))) ; cond ) ) ; cond ) ) ; cond ; on supprime le fichier temporaire (vl-file-delete tmp_dcl) (princ) ;;; RES_ACFP ) ; ------------------------------ ; information sur les viewport ; ------------------------------ (defun c:testviewport (/ a0 a1 cals surfent surfent ent js ) (setvar "cmdecho" 0) (setvar "dimzin" 0) (setq cav (getvar "clayer")) ;quel objet de référence pour la surface (setq bl nil) (setq bl (ssget "X" '((0 . "VIEWPORT") ;;(-4 . "<NOT") (69 . 1) (-4 . "NOT>") ))) (setq ent nil) (setq compt 0) (setq compt1 1) (if ( = bl nil) (prompt "\n AUCUNE FENETRE DANS AUCUNE PRESENTATION TROUVE : " ) (progn (setq com (sslength bl)) (while (< compt com) (setq val410 "PAS DE CALQUE" ) (progn (setq ent (entget (ssname bl compt))) ;;; (setq entite (cdr (assoc -1 ent))) ;;; (setq typenti (cdr (assoc 0 ent))) (progn (prompt (strcat "\n| " " ")) (prompt (strcat "\nENTITE N°" (rtos compt1 2 0) " SUR " (rtos com 2 0) "" )) (setq val0 (cdr (assoc 0 ent))) (setq val5 (cdr (assoc 5 ent))) (setq val410 (cdr (assoc 410 ent))) (setq val8 (cdr (assoc 8 ent))) (setq val68 (cdr (assoc 68 ent))) (setq val69 (cdr (assoc 69 ent))) (setq actv (vlax-get-property (vlax-ename->vla-object (cdr (assoc -1 ent))) 'viewporton)) (prompt (strcat "\nTYPE D'ENTITE 0 : " val0)) (prompt (strcat "\nIDENTIFICATEUR ID 5 : " val5)) (prompt (strcat "\nIDENTIFICATEUR PRESENTATION 410 : " val410)) (prompt (strcat "\nIDENTIFICATEUR CALQUE 8 : " val8)) (if (= val68 nil) (prompt "\nPAS D IDENTIFICATEUR 68 : NON") (prompt (strcat "\nIDENTIFICATEUR 68 : " (rtos val68 2 0) )) ) (if (= val69 nil) (prompt "\nPAS D IDENTIFICATEUR 69 : NON") (prompt (strcat "\nIDENTIFICATEUR 69 : " (rtos val69 2 0))) ) (getkword "\nVOULEZ VOUS CONTINUER") ) ) (setq compt (1+ compt)) (setq compt1 (1+ compt1)) ) ) ) ;modifier l'entite (prompt "\n") (setvar "dimzin" 8) (setvar "clayer" cav) ;;; (setvar "cmdecho" 1) ) ; ------------------------------ ; CHANGER ID 68 ET ID 69 DES viewport ; ------------------------------ (defun c:changeidviewport (/ a0 a1 cals surfent surfent ent js) (setvar "cmdecho" 0) (setvar "dimzin" 0) (setq cav (getvar "clayer")) ;quel objet de référence pour la surface (setq bl nil) (setq bl (ssget "X" '((0 . "VIEWPORT") ;;; (-4 . "<NOT") (69 . 1) (-4 . "NOT>") ) ) ) (setq ent nil) (setq compt 0) (setq compt1 1) (if (= bl nil) (prompt "\n AUCUNE FENETRE DANS AUCUNE PRESENTATION TROUVE : ") (progn (setq com (sslength bl)) (while (< compt com) (setq ent (entget (ssname bl compt)) val69 (cdr (assoc 69 ent)) val410 (cdr (assoc 410 ent)) val8 (cdr (assoc 8 ent)) val0 (cdr (assoc 0 ent)) ) (if (= val69 0) (progn (if (= val8 "0") (progn (setq ent (subst (cons 68 1) (assoc 68 ent) ent)) (setq ent (subst (cons 69 1) (assoc 69 ent) ent)) (entmod ent) (prompt "\n MODIFICATION DE ID 68 ET ID69 : ") ) (progn (setq ent (subst (cons 68 1) (assoc 68 ent) ent)) (setq ent (subst (cons 69 (1+ compt1)) (assoc 69 ent) ent)) (entmod ent) (prompt "\n MODIFICATION DE ID 68 ET ID69 FENETRE OBJET : ") ) ) ) (progn (prompt (strcat "\n| " " ")) (prompt (strcat "\nENTITE N°" (rtos compt1 2 0) " SUR " (rtos com 2 0) "")) (setq actv (vlax-get-property (vlax-ename->vla-object (cdr (assoc -1 ent))) 'viewporton)) (prompt (strcat "\nTYPE D'ENTITE 0 : " val0)) (prompt (strcat "\nIDENTIFICATEUR PRESENTATION 410 : " val410)) (prompt (strcat "\nIDENTIFICATEUR CALQUE 8 : " val8)) (if (= val69 nil) (prompt "\nPAS D IDENTIFICATEUR 69 : NON") (prompt (strcat "\nIDENTIFICATEUR 69 : " (rtos val69 2 0))) ) (getkword "\nVOULEZ VOUS CONTINUER") ) ) (setq compt (1+ compt)) (setq compt1 (1+ compt1)) ) ) ) ;modifier l'entite (prompt "\n") (setvar "dimzin" 8) (setvar "clayer" cav) ;;; (setvar "cmdecho" 1) )
-
Probl de Filtre SSGET sur (210 0.0 0.0 -1.0)
PHILPHIL a répondu à un(e) sujet de lecrabe dans LISP et Visual LISP
hello le crabe Peut ere ca ? (setq selinsert (ssget "_x" (list '(0 . "INSERT") '(2 . "jolie_bloc")'(210 . "0.0 0.0 -1.0")))) Tes blocs ne serait pas issu de quelque chose en 3D, type menuiserie ? et que quand tu décomposes ton blocs certaines lignes disparaissent parce que leurs vecteurs ne sont plus en accord avec le scu a+, Phil -
bonjour sous REVIT peut on faire afficher les volumes vides ou les cage car comment savoir qu'un volume vide est la si on ne le voit pas, ( sauf a passer la souris dessus par hazard ) merci Phil
-
desactiver toutes les fenetres des espaces papiers
PHILPHIL a répondu à un(e) sujet de chrisbric dans AutoCAD 2011
bonjour je déterre un vieux lisp je suis sous autocad 2019 VPAON et VPAOFF ne fonctionnent pas si le lisp ACLAY n'a pas été exécuter avant j'ai droit a sauf qu'il doit bosser une heure sur le fichier pour avoir la mains dessus. faire ca chaque matin sur le fichier n'est pas tres productif d'ou vient le souci ? qui peut mettre a jour le lisp ? merci a+ Phil -
HELLO sinon tu imprimes tout tes fichiers en *.pdf avec le nom du fichier et de la présentation comme tu le dis 147-A3V.pdf puis avec un logiciel LEDRENOMMER TU renommes tous tes fichiers d'un coup en enlevant ou gardant que les 3 premières lettres du nom http://support.led.free.fr/LedRenommer/index.html c'est moins "LIPSIENS" mais ca dépanne si tu es charrette Phil
-
hello alors la merci humour du midi belle facon poetique pour dire que l'on a merde ( un peu )( on peut te piquer l'expression ? ) j'aurais au moins souri aujourd'hui bonne journée, phil
-
hello J'utilise VISUAL LISP¨pour l'encodage des *.lsp en *.fas j'ai récupéré le fichier *.lsp sur le site de LEE MAC ouvert dans VISUAL LISP puis je l'ai compilé. je fais ca car j'ai du lire quelque part ( il y a 15 ans ) que les fichier *.fas étaient plus rapide a la lecture ou l’exécution que les fichiers *.lsp, si c'est faux, peut etre que j'abandonnerai cette idée. j'ai oublie de dire que j'avais modifié la taille de la fenetre dans TABSORT et que ca ne prenait pas en compte les modifications tant que je n'avais pas supprimer le *.dcl dans le sous répertoire "...\appdata\roaming\autodesk\aca 2019\fra\support" je voulais aussi modifié le Lisp TABSORT pour rajouter des petites routines de modifications de nom de présentations, mais la ca se complique un peu a comprendre comment LEE MAC programme. pas grave avec TABSORT ( merci LEE MAC ) ONG ( merci Patrick_35 ) et mon Lisp CHANGE_NOM_PRESENTATION j'arrive a me débrouiller a+ Phil
-
HELLO TOUS ONG marche tres bien quand je le charge comme fichier ong.fas , pas de soucis et je m'en sers plus souvent que TABSORT avec TABSORT et STEAL il n'y a que quand je les charge en version *.LSP qu'ils fonctionnement a 100% charger en version TABSORT.FAS et STEAL.FAS ca bugue il doit y avoir un probleme avec ce qu'ils ecrivent dans un sous répertoire "support" ...appdata\roaming\autodesk\aca 2019\fra\support a+ Phil ( pas breton ) ( mais aime les crepes, galettes, cidre, d'ailleurs qui n'aiment pas ca ?)
-
bonjour j'ai récupérer des lisp de LEE MAC TABSORT STEAL mais ceux la ne fonctionne pas si je les appelle en version *.FAS a l'ouverture d'un fichier *.dwg ils ne fonctionnent que si je les appelle en verion *.lsp de plus j'ai découvert que TABSORT créait un fichier *.dcl dans un sous répertoire "support" que je dois effacer pour que les modifications de la définition du dcl dans le *.lsp soient pris en compte comment y remédier ? merci a+ PHIL
-
SUPER WINDOWS 10 PROBLEME RESOLU j'ai fait une restauration systeme d'avant la mise a jour mais windows me dit dans une tite fenetre qu'il n'a pas réussis a faire la restauration du systeme mais par contre j'ai récupérer ma souris et mes disk externe sur USB 3.0 c'est un beau "merdier" donc Phil
