-
Compteur de contenus
161 -
Inscription
-
Dernière visite
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par tyrese69_
-
Re bonjour, Aprés pas mal de temps j'ai une question sur ce sujet Comment récupérer la paire "Nom du style" et "Couleur" ("Normal" . 160) pour chaque style du m^me dictionnaire J'ai un peut perdu mes bases de lisp Daniel OLIVES TPS membre de WSP
-
Bonjour à tous, Est ce que quelqu'un a une idée sur le sujet. Le but est de "lire" un fichier STB pour extraire ces données liste des Style par exemple. Daniel OLIVES TPS membre de WSP
-
pagination automatique
tyrese69_ a répondu à un(e) sujet de zebulon_ dans Pour aller plus loin en LISP
Bonjour à tous, il y a quelques années en arrières déjà, je n'était posé les mêmes questions. Et après quelques essais, j'ai vite abandonné la méthode des onglets. Aujourd'hui, j'utilise une seule fenêtre qui gère des fenêtres liées à un cadre de gabarit. J'ai volontairement limité un carnet à 60 folios. Au delà je crée des carnets de carnets, en compilant un DSD global à partir des DSD de chaque carnets. Cette méthode permet en publiant ces carnets d'effectuer des carnets DWF ou PDF très simplement. Les routines sont en VBA et Lisp. Un bloc insérer dans le cadre de la fenêtre donne l'indication du folio à créer et remplit automatiquement le numéro du folio. Si quelqu'un est intéressé, je peux donner plus d'infos. Daniel OLIVES -
Re bonjour, Dans le même esprit il aussi bon d'avoir la liste des couches gelées ou inactives dans les fenêtres ! Vaste sujet: Daniel OLIVES
-
Bonjour, les dos lib de mac neel Permettent d'avoir une listbox très simplement (defun c:LstCG ( / layers liste ) (vl-load-com) (setq layers (vla-get-Layers (vla-get-ActiveDocument (vlax-get-acad-object))) liste '() xliste '() ) (vlax-for lay layers (if (or (= (vla-get-LayerOn lay) :vlax-false) (= (vla-get-Freeze lay) :vlax-true) ) (if (wcmatch (setq nom (vla-get-Name lay)) "*|*") (setq xliste (cons nom xliste)) (setq liste (cons nom liste)) ) ) ) (dos_listbox "Technip TPS" "Couches GELEES ou INACTIVES" liste) (dos_listbox "Technip TPS" "Couches Xrefs GELEES ou INACTIVES" xliste) (if liste (setq liste(cons "\nCalques du dessin:\n" (reverse liste)))) (if xliste (setq xliste(cons "\nCalques des XRefs:\n" (reverse xliste)))) (if (or liste xliste) (progn (princ "\nListe des calques désactivés ou gelés:") (princ "\n--------------------------------------") (mapcar '(lambda (x) (princ (strcat "\n" x))) (append liste xliste )) (princ "\n--------------------------------------") (textpage) ) (princ "\nAucun calque gelé ou désactivé.") ) (princ) )
-
Bonjour à tous, Après un très long silence, de retour pour une petite question sur AutoCAD 2013 ! J'ai un problème avec la fenêtre de bienvenue. La case à cocher qui permet de la désactiver est cachée. Pour la faire apparaître je suis obligé de taper la touche TAB, jusqu’à l'apparition de la case. Il semblerait que la fenêtre soit dans une taille légèrement trop petite ! Est ce que d'autres utilisateurs ont aussi ce problème ? Je suis en Windows 7 (x64) carte nvidia Quadro 600 ! Daniel OLIVES
-
Trouver toutes les variables d'environnement
tyrese69_ a répondu à un(e) sujet de (gile) dans ObjectARX/DBX, C++, .NET, RealDWG
Bonjour (giles), Est ce normal que la liste soit tronquée dans la fenêtre ? Commande: (setq lst (gc-getenvvars)) es color" "Perspective grid minor lines tint" "Perspective ground horizon" "Perspective ground origin" "Perspective hotspot color" "Perspective lux at distance color" "Perspective sky horizon" "Perspective sky zenith" "Perspective start color" "Perspective sub-surface azimuth" "Perspective sub-surface horizon" "Perspective Web color" "Perspective Web shape color" "Perspective ..... tint" "Perspective grid major lines color" "Perspective grid major lines tint" "Perspective grid minor lin Un autre Lyonnais daniel OLIVES -
Probleme DOSLib19x64.arx
tyrese69_ a répondu à un(e) sujet de Fraid dans Pour aller plus loin en LISP
Bonjour à tous, Il vous faut charger l'ARX en fonction de votre version ! Le ZIP donne les dernières versions ! Le numéro 9.0 correspond à la révision pour AutoCAD 2013, La précédente était 8.6 DOSLib17x64.arx pour AutoCAD x64 (64 bits) DOSLib17.arx pour AutoCAD x86 (32 bits) 19 pour 19.2 AutoCAD 2015 19 pour 19.1 AutoCAD 2014 19 pour 19.0 AutoCAD 2013 18 pour 18.2 AutoCAD 2012 18 pour 18.1 AutoCAD 2011 18 pour 18.0 AutoCAD 2010 17 pour 17.2 AutoCAD 2009 17 pour 17.1 AutoCAD 2008 17 pour 17.0 AutoCAD 2007 Anciennes versions téléchargeable séparément ! 16 pour 16.2 AutoCAD 2006 16 pour 16.1 AutoCAD 2005 16 pour 16.0 AutoCAD 2004 Voici un bout du code que j'utilise pour tester la version installée sur chaque PC, dans le fichier AutoCAD.lsp (if (and (not (= (findfile "C:\\Program Files\\DOSLib 8.6\\DOSLib18.arx") nil))(= (member "C:\\Program Files\\DOSLib 8.6\\DOSLib18.arx" (arx)) nil)) (progn (if (not (= (findfile "C:\\Program Files\\DOSLib 8.6\\DOSLib18.arx") nil)) (progn (setq txtDosLib "Version DOSLIB 8.6 trouvée !\n") (setq bdoslib 86) (if (WCMATCH (getenv "PROCESSOR_ARCHITECTURE") "*64") (arxload "C:\\Program Files\\DOSLib 8.6\\DOSLib18x64.arx") (arxload "C:\\Program Files\\DOSLib 8.6\\DOSLib18.arx") ) (setq txtDosLib (strcat txtDosLib "DOSLib18.arx chargée, mais il existe une version plus récente !\n")) ) ) ) ) (if (and (not (= (findfile "C:\\Program Files\\DOSLib 9.0\\DOSLib18.arx") nil))(= (member "C:\\Program Files\\DOSLib 9.0\\DOSLib18.arx" (arx)) nil)) (progn (if (not (= (findfile "C:\\Program Files\\DOSLib 9.0\\DOSLib18.arx") nil)) (progn (setq txtDosLib "Version DOSLIB 9.0 trouvée !\n") (setq bdoslib 90) (if (WCMATCH (getenv "PROCESSOR_ARCHITECTURE") "*64") (arxload "C:\\Program Files\\DOSLib 9.0\\DOSLib18x64.arx") (arxload "C:\\Program Files\\DOSLib 9.0\\DOSLib18.arx") ) (setq txtDosLib (strcat txtDosLib "DOSLib18.arx chargée\n")) ) ) ) ) ) ) (if (= bdoslib 0) (alert "\n * ERREUR * --> doslibxx.arx manquant: Veuillez installer ces fonctionnalités, en tant qu'\"ADMINISTRATEUR\" !") ) Daniel OLIVES -
Bonsoir, Merci à tous, voici le résultat ! (defun c:Tmenu (/ ok i j acadObject AcadMenuGroup NbMenuGroup currMenuGroup currMenuGroupMenus scMenu ) (vl-Load-Com) (setq acadObject (vlax-get-acad-object)) (setq MenuGroups (vla-get-MenuGroups acadObject)) (setq j 0) (setq NbMenuGroup (vlax-get-property MenuGroups 'Count)) (while (< j NbMenuGroup) ; (setq MenuGroupe (vlax-invoke-method MenuGroups 'Item 0)) (setq MenuGroupe (vlax-invoke-method MenuGroups 'Item j)) (princ (vlax-get-property MenuGroupe 'name)) (setq MenuCollection (vla-get-Menus MenuGroupe)) (setq nbScmenu (vlax-get-property MenuCollection 'Count)) (if (= (vlax-get-property MenuGroupe 'name) "TPS") (progn ;;parcours les scmenus (setq i 0) (while (< i nbScmenu) ; (setq scMenu (vlax-invoke-method MenuCollection 'Item 1)) (setq scMenu (vlax-invoke-method MenuCollection 'Item i)) ;(if (vlax-property-available-p scMenu 'name) ; (alert (vlax-get-property scMenu 'name)) ;) ;(if (vlax-property-available-p scMenu 'label) ; (alert (vlax-get-property scMenu 'label)) ;) ;;parcours les menuitems (setq NbMenuitems (vla-get-count scMenu)) (setq k 0) (while (< k NbMenuitems) (setq MenuItem (vlax-invoke-method scMenu 'Item k)) (if (vlax-property-available-p MenuItem 'name) ;(if (= (vlax-get-property MenuItem 'name) "B- à propos") (alert (vlax-get-property MenuItem 'name)) ;) ) (if (vlax-property-available-p MenuItem 'label) (if (= (vlax-get-property MenuItem 'label) "B- à propos") (progn ; (alert (vlax-get-property MenuItem 'label)) (setq LabelSubMenu (vlax-get-property (vla-item (vla-get-submenu MenuItem) 0) 'label)) (if (= (substr LabelSubMenu (- (strlen LabelSubMenu) 9) 10) "2012-03-23") ; "B-1- Version du menu TPS 2012-03-23" (alert (strcat "La date du fichier TPS.MNU est : " (substr LabelSubMenu (- (strlen LabelSubMenu) 9) 10))) ; "B-1- Version du menu TPS 2012-03-23" ) ) ) ) (setq k (+ 1 k)) ) (setq i (+ 1 i)) ) ) ) (setq j (+ 1 j)) ) )
-
-
Bonjour, J'ai trouvé la solution par la voie directe sans aucuns contrôles ! Mon menu possède "20" item et je cherche à lire le label du "1er" du sous menu ! (setq LabelSubMenu (vlax-get-property (vla-item (vla-get-submenu (vlax-invoke-method (vla-item (vla-get-Menus (vla-item (vla-get-MenuGroups (vlax-get-acad-object) ) 0 ) ) 0 ) 'Item 20 ) ) 0 ) 'label ) )
-
Bonsoir, Comment descendre un niveau de PLUS ? Afin de parcourir les sous item d'un item particulier ? Daniel OLIVES
-
Bonjour GEGEMATIC J'ai modifié ton code afin que les intitulés soient copiés dans un fichier txt, car la console n'est pas assez grande pour contenir l'ensemble des informations ! Encore merci je fouille un peut plus pour créer la fonction que je souhaite obtenir ! Vérifier si le menu charger contient le bon intitulé, sinon le menu est rechargé à la volée ! ;**************************************************************************** ;§/menu/programme de test pour visualiser l'arborescence des menus telle qu'elle est parcourue/none (defun c:Tmenu (/ ok i j acadObject AcadMenuGroup NbMenuGroup currMenuGroup currMenuGroupMenus scMenu ) (vl-Load-Com) (setq acadObject (vlax-get-acad-object)) (setq MenuGroups (vla-get-MenuGroups acadObject)) (setq j 0) (if (setq f (open "C:\\Temp\\Liste_menu_item.txt" "w")) (progn (setq NbMenuGroup (vlax-get-property MenuGroups 'Count)) (write-line (strcat "(Nombre de menugroup " (itoa NbMenuGroup) ")") f) (while (< j NbMenuGroup) (setq MenuGroupe (vlax-invoke-method MenuGroups 'Item j)) (write-line (vlax-get-property MenuGroupe 'name) f) (setq MenuCollection (vla-get-Menus MenuGroupe)) (setq nbScmenu (vlax-get-property MenuCollection 'Count)) (write-line (strcat " (Nombre de sous Menu : " (itoa nbScmenu) ")") f) ;;parcours les scmenus (setq i 0) (while (< i nbScmenu) (setq scMenu (vlax-invoke-method MenuCollection 'Item i)) (setq tmp scmenu) (if (vlax-property-available-p scMenu 'name) (write-line (strcat " " (vlax-get-property scMenu 'name)) f) ) (if (vlax-property-available-p scMenu 'label) (write-line (strcat " " (vlax-get-property scMenu 'label)) f) ) (setq NbMenuitems (vla-get-count scMenu)) (write-line (strcat " (Nombre de Menuitems " (itoa NbMenuitems) ")") f) ;;parcours les menuitems (setq k 0) (while (< k NbMenuitems) (setq MenuItem (vlax-invoke-method scMenu 'Item k)) (if (vlax-property-available-p MenuItem 'name) (write-line (strcat " " (vlax-get-property MenuItem 'name)) f) ) (if (vlax-property-available-p MenuItem 'label) (write-line (strcat " " (vlax-get-property MenuItem 'label)) f) ) (setq k (+ 1 k)) ) (setq i (+ 1 i)) ) (setq j (+ 1 j)) ) (close f) ) (princ "\n Erreur - Fichier déjà ouvert !") ) )
-
Migration de solution ObjectARX pour AutoCAD 2013
tyrese69_ a répondu à un sujet dans ObjectARX/DBX, C++, .NET, RealDWG
Bonjour, L'accès au site augifr n'est pas possible "Votre réponse ne correspond pas à la question" Non ?? Quelle doit elle être la réponse pour Europe un pays , (rires forts) ! Daniel OLIVES d.olives@live.fr ou dolives@techniptps.com -
Lisp exitant US GetVector
tyrese69_ a répondu à un(e) sujet de tyrese69_ dans Pour aller plus loin en LISP
-
Lisp exitant US GetVector
tyrese69_ a répondu à un(e) sujet de tyrese69_ dans Pour aller plus loin en LISP
Bonjour à tous, Afin de clore ce sujet après la vectorisation du logo via "Vectorize.lsp", voici son utilisation dans une DCL dans un lisp qui affiche une page d'aide si nécessaire ! Cette boite est un extrait de MyDialogs.lsp et dcl dans l'exemple donné sur le forum Theswamp. Daniel OLIVES Fichier trop gros pour être mis en pièce jointe ! ;; V0.00.01 - 11/04/2012 ;; = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = ; Technip TPS - dolives - 10/02/2007 ; = = = = = = = = = = = = = = = = = = = = = = = = = = == = = = = = = = = = ; -- TPS_DCL.LSP -- Fonctions particulières ; Copyright: ; ©Technip TPS - Etablissement de Lyon ; Notes: ; None ;;;------------------------------------ ;; Commentaires de révisions: ;;------------------------------------ ; Révision : mise à jour le ;; - - - - - - - - - - - - - - - - - - - - - - - - ;; SOMMAIRE ;; - - - - - - - - - - - - - - - - - - - - - - - - ; - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - ; 01 - Routine principale ; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * (defun c:DCL ( / fn dcl_file fn dcl_id) (setq fn (open (setq dcl_file (vl-filename-mktemp "tempdcl.tmp")) "w")) ; open temporary dialogue (foreach item (list ; save each line to dialogue file "DEMO : dialog {" " label = \"Un petit exemple de logo 'Vectorisé' \";" " initial_focus = \"ok_button\";" " : spacer { " " width = 80;" " height = 20;" " }" " : row {" " fixed_width = true;" " alignment = centered;" " is_bold = true;" " : ok_button {" " width = 11;" " height = 2.5;" " }" " : spacer { " " width = 5;" " }" " : button {" " key = \"Info\";" " label = \"Info\";" " width = 11;" " height = 2.5;" " fixed_width = true;" " }" " }" " : row {" " : image {" " key = \"LOGO\";" ; image key referenced by lisp call " alignment = left;" ; width,24.92, height,6.12 " color = -15;" ; set image background colour to match dialog colour " width = 24.92;" ; image width in dcl units to match vector units " height = 6.12;" ; image height in dcl units " fixed_width = true;" ; prevent image from stretching with dialog box " fixed_height = true;" ; prevent image from stretching with dialog box " }" " : paragraph {" " : text_part {" " is_bold = true;" " label = \"Designed and Created\";" " } " " : text_part {" " label = \"by Daniel OLIVES - Technip TPS - Lyon\";" " }" " }" " }" "}" ) (princ item fn) ) (close fn) ; close dialogue file (setq dcl_id (load_dialog dcl_file)) ; load dialogue file (if (not (if dcl_XY (new_dialog "DEMO" dcl_id "" dcl_XY)(new_dialog "DEMO" dcl_id))) ; (if (not (if dcl_XY (new_dialog "DclCalcs_Info" dcl_id "" dcl_XY)(new_dialog "DclCalcs_Info" dcl_id))) (progn (prompt "\nDynamic Dialogue Extraction Failed.") (exit) ) ) (logoTPS "LOGO") ; fill image using vectors within 'DEMO-VECTORS' function (action_tile "accept" "(setq dcl_XY (done_dialog))") ; save dialogue position and exit. (action_tile "Info" "(c:dcli)") (start_dialog) (unload_dialog dcl_id) (vl-file-delete dcl_file) ; erase temporary dialogue file (princ) ) (defun c:DCLI ( / fn dcl_file% fn dcl_id%) (defun *error* ( msg ) (if dch (unload_dialog dch)) (or (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*") (princ (strcat "\n** Error: " msg " **"))) (princ) ) (setq fn% (open (setq dcl_file% (vl-filename-mktemp "tempdcl%.tmp")) "w")) ; open temporary dialogue (setq Info$ (strcat " ----------------Texte de la boite de dialogue autoadaptative -------------------" "----------------- \n\n" " In the Images and Tiles section, the values of the X Pixels and Y Pixels " "correspond to the return of the dimx_tile and dimy_tile variables in image " "tiles. The algorithm to determine the values in this section may also be used " "to calculate the width and height of other type of tiles as well. The change " "in other tiles may not relate to Pixels, but as incremental changes instead.\n\n" " In the Text and Tile Widths section, the widths are calculated based upon " "the longest phrase needed. This section is very useful for aligning a column " "of text with popup_list and edit_box tiles. This method ignores the hard coded " "dcl labels for popup_list and edit_box tiles, and provides a dynamic alternative " "of being able to change the text labels within AutoLISP.\n\n" " The toggles for Popup List and Edit Box determine the combination of choices " "that will be used in a column. If only one toggle is selected, it calculates " "the needed width per the longest phrase needed. If both toggles are selected, " "it recalculates the widths to align both types in a column. Also notice that " "the Text Column width for the Edit Box is equivalent to one pixel greater than " "the Text Column width for the Popup List.\n\n" " In the List Box Tiles section, enter the desired number of lines to display " "in a list_box tile and the corresponding height is displayed. If the number " "of lines is one of the ones that are skipped in dcl, it will display a message " "with all of the skipped lines within a reasonable range.\n\n" " The Calculator image button runs the Windows calculator, which is handy for " "doing some calculations while still in the dialog.")) ; (setq Larg_DCL 100.0) ; (if (not Phrases@) (setq Phrases@ (PhraseList Info$ Larg_DCL));*Included );if ; ; Autoadapte la hauteur au nombre de lignes + 1 (setq Haut_DCL (+ 1 (length Phrases@))) ; ; Autoadapte les dimensions selon largeur sélectionnée ! (foreach item (list ; save each line to dialogue file "DclCalcs_Info : dialog {" " key = \"Title\";" " label = \"\";" " : list_box {" " key = \"List1\";" (strcat " height = " (rtos (+ 1 Haut_DCL)) ";") " fixed_height = true;" (strcat " width = " (rtos (+ 1 Larg_DCL)) ";") " fixed_width = true;" " }" " ok_only;" "}" ) (princ item fn%) ) (close fn%) ; close dialogue file (setq dcl_id% (load_dialog dcl_file%)) ; load dialogue file ; Restitue position sauvegardée de la fenêtre (setq dcl_XY (cond ( *screenpoint* ) ( '(-1 -1) ))) (if (not (if dcl_XY (new_dialog "DclCalcs_Info" dcl_id% "" dcl_XY)(new_dialog "DclCalcs_Info" dcl_id%))) (progn (prompt "\nL'Extraction Dynamique de la Fenêtre de Dialogue est Erronée.") (exit) ) ) (set_tile "Title" " Information complémentaires - Technip TPS") (set_tile_list "List1" Phrases@ "");*Included (action_tile "accept" "(setq *screenpoint* (done_dialog 1))") ; sauvegarde position fenêtre (start_dialog) (setq Dcl_Id% (unload_dialog Dcl_Id%)) ; (unload_dialog Dcl_Id%) (vl-file-delete dcl_file%) ; erase temporary dialogue file (princ) ) ;------------------------------------------------------------------------------- ; set_tile_list - Sets a dialog popup_list or list_box tile to a list ; Arguments: 3 ; KeyName$ = Key name of tile ; ListName@ = The list to set in tile ; Selected = An item in the ListNames@ or a list of items selected ; Syntax: (set_tile_list "TileName" '("A" "B" "C") "B") ; (set_tile_list "TileName" '("A" "B" "C") '("A" "C")) ; Returns: Sets Selected items in dialog popup_list or list_box tiles. ;------------------------------------------------------------------------------- (defun set_tile_list (KeyName$ ListName@ Selected / Item) (start_list KeyName$ 3) (mapcar 'add_list ListName@) (end_list) (foreach Item (if (listp Selected) Selected (list Selected)) (if (member Item ListName@) (set_tile KeyName$ (itoa (- (length ListName@) (length (member Item ListName@))))) );if );foreach );defun set_tile_list ;------------------------------------------------------------------------------- ; DclTextWidth - List of the width in pixels and the dcl width of a string ; Arguments: 1 ; Str$ = String ; Returns: List of the width in pixels and the dcl width of a string. ;------------------------------------------------------------------------------- (defun DclTextWidth (Str$ / Cnt# Mid$ Pixels# PixelWidth~) (setq Cnt# 1 Pixels# 0 PixelWidth~ 0) (if (= (type Str$) 'STR) (repeat (strlen Str$) (setq Mid$ (substr Str$ Cnt# 1)) (cond ((member Mid$ (list "@" "W")) (setq Pixels# (+ Pixels# 11));11 Pixels );case ((= Mid$ "M") (setq Pixels# (+ Pixels# 9));9 Pixels );case ((member Mid$ (list "%" "D" "G" "H" "N" "O" "Q" "R" "U" "m" "w")) (setq Pixels# (+ Pixels# 8));8 Pixels );case ((member Mid$ (list "#" "A" "B" "C" "E" "K" "P" "S" "T" "V" "X" "Y" "Z" "~")) (setq Pixels# (+ Pixels# 7));7 Pixels );case ((member Mid$ (list "$" "&" "+" "0" "1" "2" "3" "4" "5" "6" "7" "8" "9" "<" "=" ">" "?" "F" "L" "^" "_" "a" "b" "c" "d" "e" "g" "h" "k" "n" "o" "p" "q" "u" "v")) (setq Pixels# (+ Pixels# 6));6 Pixels );case ((member Mid$ (list (chr 34) "/" "J" (chr 92) "s" "x" "y" "z")) (setq Pixels# (+ Pixels# 5));5 Pixels );case ((member Mid$ (list "*" "{" "}")) (setq Pixels# (+ Pixels# 4));4 Pixels );case ((member Mid$ (list " " "!" "(" ")" "," "-" "." ":" ";" "I" "[" "]" "`" "f" "r" "t")) (setq Pixels# (+ Pixels# 3));3 Pixels );case ((member Mid$ (list "'" "i" "j" "l" "|")) (setq Pixels# (+ Pixels# 2));2 Pixels );case ((member (ascii Mid$) (list 198 230)) (setq Pixels# (+ Pixels# 10));10 Pixels );case ((= (ascii Mid$) 169) (setq Pixels# (+ Pixels# 9));9 Pixels );case ((member (ascii Mid$) (list 174 188 189 190 208 209 210 211 212 213 214 216 217 218 219 220)) (setq Pixels# (+ Pixels# 8));8 Pixels );case ((member (ascii Mid$) (list 192 193 194 195 196 197 199 200 201 202 203 221 222)) (setq Pixels# (+ Pixels# 7));7 Pixels );case ((member (ascii Mid$) (list 128 162 163 164 165 167 171 172 175 177 181 182 187 191 215 223 224 225 226 227 228 229 231 232 233 234 235 240 241 242 243 244 245 246 247 248 249 250 251 252 254 255)) (setq Pixels# (+ Pixels# 6));6 Pixels );case ((= (ascii Mid$) 253) (setq Pixels# (+ Pixels# 5));5 Pixels );case ((member (ascii Mid$) (list 170 176 186 237 238 239)) (setq Pixels# (+ Pixels# 4));4 Pixels );case ((member (ascii Mid$) (list 127 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 168 173 178 179 180 183 184 185 204 205 206 207)) (setq Pixels# (+ Pixels# 3));3 Pixels );case ((member (ascii Mid$) (list 166 236)) (setq Pixels# (+ Pixels# 2));2 Pixels );case (t (setq Pixels# (+ Pixels# 7));7 Pixels default );case );cond (setq Cnt# (1+ Cnt#)) );repeat );if (if (> Pixels# 0) (setq PixelWidth~ (atof (rtos (+ (* (1- Pixels#) (/ 1 6.0)) 0.09) 2 2))) );if (list Pixels# PixelWidth~) );defun DclTextWidth ;------------------------------------------------------------------------------- ; PhraseList - Returns a list of phrases of a String within a certain DclWidth~ ; Arguments: 2 ; Str$ = String to divide into phrases ; DclWidth~ = Dcl width needed to fit the phrase ; Returns: List of phrases within the DclWidth~ range of the String ; (setq Phrases@ (PhraseList Info$ 100)) ;------------------------------------------------------------------------------- (defun PhraseList (Str$ DclWidth~ / Cnt# Current$ ListBox@ Mid$ Temp$) (setq Current$ "" Temp$ "" Cnt# 1 Str$ (strcat Str$ "\n")) (repeat (strlen Str$) (setq Mid$ (substr Str$ Cnt# 1)) (cond ((= Mid$ " ") (if (<= (nth 1 (DclTextWidth (strcat Current$ Temp$))) DclWidth~) (setq Current$ (strcat Current$ Temp$) Temp$ " ") (setq ListBox@ (append ListBox@ (list Current$)) Current$ (substr Temp$ 2) Temp$ " " );setq );if );case ((= Mid$ "\n") (if (<= (nth 1 (DclTextWidth (strcat Current$ Temp$))) DclWidth~) (setq Current$ (strcat Current$ Temp$ " ") Temp$ "") );if (setq ListBox@ (append ListBox@ (list Current$)) Current$ (substr Temp$ 2) Temp$ "" );setq (if (/= Current$ "") (setq ListBox@ (append ListBox@ (list Current$)) Current$ "" Temp$ "" );setq );if );case (t (setq Temp$ (strcat Temp$ Mid$))) );cond (setq Cnt# (1+ Cnt#)) );repeat (if (/= Current$ "") (setq ListBox@ (append ListBox@ (list Current$))) );if ListBox@ );defun PhraseList ;******************************************************************************** ; Function to draw a vector image within a dialogue Image tile or Image Button. * ; Argument: 'DCLKEY' - the dcl key of the image tile/button to be filled. * ; Do NOT edit the dcl dimension text below, this is needed by Vectorize. * ;******************************************************************************** ; Compiled for dcl dimensions of width,24.92, height,6.12, * ;******************************************************************************** (defun LOGOTPS (DCLKEY / i j) (setq i (/ (dimx_tile DCLKEY) 151.) j (/ (dimy_tile DCLKEY) 81.)) ;(setq i (/ (dimx_tile DCLKEY) 302.) j (/ (dimy_tile DCLKEY) 162.)) (start_image DCLKEY) (fill_image 0 0 (dimx_tile DCLKEY)(dimy_tile DCLKEY) -15) (foreach x '((134 55 144 55 1) (126 55 144 55 1) (120 56 145 56 1) (114 56 145 56 1) (111 56 145 56 1) (107 56 145 56 1) (104 56 145 56 1) (101 56 145 56 1) (99 56 145 56 1) (96 56 145 56 1) (93 56 144 56 1) (91 56 144 56 1) (88 56 144 56 1) (86 57 144 57 1) (84 57 144 57 1) (82 57 144 57 1) (80 57 144 57 1) (78 57 143 57 1) (77 57 143 57 1) (75 57 143 57 1) (73 57 143 57 1) (72 57 143 57 1) (70 57 143 57 1) (68 58 142 58 1) (66 58 142 58 1) (65 58 142 58 1) (63 58 142 58 1) (62 58 142 58 1) (60 58 141 58 1) (59 58 141 58 1) (57 58 141 58 1) (56 58 141 58 1) (54 58 141 58 1) ... ( attention logo réduit ) .... (vector_image (fix (* (car x) i))(fix (* (cadr x) j))(fix (* (caddr x) i))(fix (* (cadddr x) j))(last x))) (end_image) (princ) ) -
Bonjour, Merci Gegematic pourton aide ! Ces fonctions sont trés intéressantes. Daniel OLIVES
-
Bonjour, Il est vrai que même en VLisp la base de registre est accessible ! C'est donc cette dernière solution pour laquelle j'ai opté. Daniel OLIVES
-
Bonjour à tous ! J'ai trouvé cette exemple, pour tester la version de Java installé. Est il possible d'avoir cette fonctionnalité depuis AutoCAD ? Via une dll ou autre ! Daniel OLIVES Code: import java.applet.*; import java.awt.*; public class JavaVersionDisplayApplet extends Applet { private Label m_labVersionVendor; public JavaVersionDisplayApplet() //constructor { Color colFrameBackground = Color.pink; this.setBackground(colFrameBackground); m_labVersionVendor = new Label (" Java Version: " + System.getProperty("java.version")+ " from "+System.getProperty("java.vendor")); this.add(m_labVersionVendor); } }
-
Lisp exitant US GetVector
tyrese69_ a répondu à un(e) sujet de tyrese69_ dans Pour aller plus loin en LISP
Bonsoir, La vectorisation avec "Getvectors.lsp" est bien moins bonne qu'avec ce lisp (joint!) ! Qui fourni réalise un fichier du type "LogoTPS.lsp" Ce qui permet d'avoir un fichier vectorisé qui peut être mis dans une boite de dialogue comme logo ! Je suis en train d'essayer de mieux comprendre son usage pour terminer cette DCL avec logo ! Daniel OLIVES VECTORIZE.lsp logoTPS.lsp -
Lisp exitant US GetVector
tyrese69_ a répondu à un(e) sujet de tyrese69_ dans Pour aller plus loin en LISP
Bonjour, Ce n'est que par manque d'habitude avec les commandes et variable US que je bloque sur la traduction ! Mais je te remercie grandement pour ton aide ! Je fais des tests et vous tiendrais au courant de la suite ! Daniel OLIVES -
Re bonjour, Cette commande parcours bien le menu principal, mais est il possible de parcourir un des sous menu ? Daniel OLIVES
-
Bonjour Gegematic Un grand merci pour ton aide ! Daniel OLIVES (désolé pour le retard trop de boulot!)
-
Lisp exitant US GetVector
tyrese69_ a répondu à un(e) sujet de tyrese69_ dans Pour aller plus loin en LISP
http://web2.airmail.net/terrycad/LISP/ le site en lien ! -
Bonjour à tous, Est ce que quelqu'un connait la routine "GetVectors.lsp" et la boite de dialogue associée "GetVectors.dcl" ? Ces deux fichiers sont en lisp US est il possible de vérifier et/ou terminer la transposition internationale ! Et il y a t'il quelqu'un qui l'a déjà utilisé ? Daniel OLIVES site en référence: GetVectors.lsp GetVectors.dcl
