-
Compteur de contenus
397 -
Inscription
-
Dernière visite
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par Serge
-
leduj, Il y a une application en Arx qui surveille la sauvegarde et qui ne fait pas son travail correctement. Je serais surpris que cela soit l'une des routines d'Autodesk. Il reste à vérifier les autres que tu peux décharger une à une jusqu,à ce que le message disparaisse. Tu connaitra le coupable. Méthodes pour décharger une routine: a) via (arxunload "lenom") => c'est plus compliqué b) La commande ARX, suivie de l'option Unload c) La commande APPLOAD et en utilisant le bouton "Décharger" => la plus facile Serge
-
comment effacer ou gérer les categorie de vues
Serge a répondu à un(e) sujet de fabcad dans AutoCAD 2008
fabcad, Les catégories n'ont pas à être supprimées car elles le sont d'elles mêmes lorsque non utilisées. Voici un exemple en VBA qui montre comment renommer. En l'extensionnant, on peut créer une fonction d'effacement en choisissant comme nouveau nom une chaine vide. Option Explicit Sub Rename_CategoryName(OldCategoryName As String, NewCategoryName As String) ' Renomme les catégorie de vue ' OldCategoryName peut accepter la plupart des caracères génériques ' de la commande wcmatch ' Note: pour éviter de se compliquer la vie avec la déclaration "Option Compare" ' qui affecte la commande LIKE, on compare tout en minuscules. Dim oView As AcadView Dim oViews As AcadViews Dim CurCategoryName As String Set oViews = ThisDrawing.Views OldCategoryName = LCase(OldCategoryName) For Each oView In oViews CurCategoryName = LCase(oView.CategoryName) If CurCategoryName Like OldCategoryName Then oView.CategoryName = NewCategoryName End If Next set oView = Nothing set oViews = Nothing End Sub Public Sub Exemple_Rename() ' Renomme les catégories de vues. ' Paramètre 1: l'ancuien nom (accepte les caractères génériques). ' Ici tout ce qui commence par S ' Paramètre 2: le nouveau nom (sans caractères génériques). ' Ici, le nouveau nom est "NouveauNom" Rename_CategoryName "s*", "NouveauNom" End Sub Public Sub Exemple_Erase() ' Renomme les catégories de vues. ' Paramètre 1: l'ancuien nom (accepte les caractères génériques) ' Paramètre 2: le nouveau nom (sans caractères génériques). Ici, c'est vide Rename_CategoryName "s*", "" End Sub Serge -
LISP pour faire metres des bloc electrique
Serge a répondu à un(e) sujet de TPS001 dans AutoCAD 2009
bennane01, Pour plus de précision (mais cela ne donne pas de réponses), le fichier n'est pas compilé (donc pas du fas ni vlx) mais bel et bien un lsp protégé avec la vieille commande Protect.exe. Il existe des décrypteurs pour cela. Serge -
kdien, Normalement, les espaces de travail sont stockés dans le menu (avec extension CUI), lequel se trouve par défaut dans le sous répertoire Support de ton répertoire itinétant (voir la variable système ROAMABLEROOTPREFIX) Par exemple, cela donne "C:\Documents and Settings\sc\Application Data\Autodesk\ACD-A 2009\fra\Support\ACA.cui" Il existe plusieurs possibilités de partager ces espaces de travail: en spécifiant un chemin d'itinérance sur le réseau pour le partager, en copiant le fichier depuis ton disque local vers le réseau, en utilisant une menu d'entreprise (ENTREPRISEMENU) Serge
-
Oops, J'ai cru que le demandeur était mdsv31 mais il s'agissait de ludo07. Mes excuses. Serge
-
Bonjour à tous et surtout à Tramber (Bertrand), (Ceci est un peu hors sujet mais j'y reviendrai sur le droit chemin un peu plus loin) Ça fait longtemps ! Qu'est devenu le site ? Qu'est devenu Patrick ? C'est drôle comment les pensées de Tramber ont traversées l'Atlantique pour venir me rejoindre. J'ai lu sa lettre ouverte mais je ne sais pas comment y répondre ou si c'est possible de le faire (car j'aimerais bien). Néanmoins, je suis en vie, en pleine forme et je ne veux pas abuser de ce fil pour raconter mes 3 dernières années :-) Pour répondre à mdsv31, la magie n'existe pas mais on peut en faire un bout, selon ce que tu as besoin. Les 2 solutions suivantes te permettront d'obtenir le volet graphique d'AutoCAD dans Excel mais avec des degrés de communication différents 1) Copier-coller: dans Excel, un double-clic sur l'image collée (je présume que cela t'est facile à faire) ouvrira une session d'AutoCAD (en tant que serveur) pour la mise à jour des données. Cela peut être lourd et comporte de nombreuses limitations. 2) Copier-coller l'image sans le soucis des attributs (et surtout sans communication directe avec AutoCAD). Une fois l'image copiée, on peut coller des zones de texte par dessus a) Dans Excel, Affichage -> Barre d'outils -> Boite à outils Contrôles b) Dans la barre d'outils, choisir "Zone de texte" et former une zone rectangulaire à l'endroit normalement réservé à un attribut c) Faire un clic-droit sur la zone et choir "Format de contrôle" dans le menu contextuel. Cela permettra de choisir la couleur de fond de la zone, la police, etc. d) Répéter pour chaque nouvelle zone de texte. On peut aussi faire du copier-coller de ces zones pour sauver encore plus de temps. e) Pour quitter le mode de création, cliquer sur l'icône "Désactiver le mode de création" (i.e. la première) Il faut s'assurer de verouiller les contrôles pour ne pas qu'ils se déplacent par rapport à l'image de fond. On peut aussi faire un groupe (on choisit l'image en premier puis chaque contrôle, puis clic-droit pour ouvrir le menu contextuel suivit de "Groupe" -> "Grouper" 3) Pour utilisateurs expérimentés, on peut poursuivre la méthode 2 et créer des automatismes en VBA pour assurer un lien unidirectectionnel ou bi-directionnel avec AutoCAD (ce que je ne traiterai pas maintenant mais c'est très facile) En espérant cette solution adéquate. Au plaisir de vous lire ! Serge Camiré PS On fête le 400e de la ville de Québec cette année (qu'est-ce qu'on est vieux :-)) PS2 Pour me rejoindre prenom.nom@videotron.ca (en remplaçant é par e) PS3 Ah! une bonne flammen kuechen avec su sirop d'érable
-
Speedprint - amélioration de LISP
Serge a répondu à un(e) sujet de Krynn dans Pour aller plus loin en LISP
Au plaisir. Ça faisait longtemps que je n'avais pas visité ce forum. Ça m'a fait fait du bien. Serge -
Speedprint - amélioration de LISP
Serge a répondu à un(e) sujet de Krynn dans Pour aller plus loin en LISP
Krynn, J'ai modifié quelque peu ton programme à la lumière de l'objectif que j'en comprenais. J'ai inséré plein de commentaires pour rendre la lecture plus facile. Convertir en VBA ne simplifirait rien car si on veut de la souplesse, on finira par faire ouvrir des boite de dialogue, ce qui en fin de compte revient à exécuter la commande TRACEUR elle-même (à titre d'exemple, lister les imprimantes réseaux, locales, les fichiers pc3, les innombrables formats de feuilles, etc.) Si je me base sur les résultats, on veut normalement choisir un format puis sélectionner l'imprimante si plus d'un choix est offert. C'est comme ça que j'ai conçu le programme. Il y a 3 variables globales: *formats*, *imprimantes* et *echelles*. C'est la seule partie qu'il faut adapter. Si tu ajoute, modofie ou supprime une imprimante, ce sera somme toute assez facile. Voici le code. Après avoir chargé le fichier, on exécute SPEEDPRINT en espace Objet. Serge ;;; ------------------------------------------------------- ;; 3 variables globales qui définissent les paramètres d'impression. ;;; (setq *formats* (list ;; Liste des formats, leur taille correspondante en orientation Portrait et le nom canonique (list "A4" (list 21.0 29.7) "A4 [210 x 297 mm]") (list "A3" (list 29.7 42.0) "A3 [297 x 420 mm]") (list "A2" (list 42.0 59.4) "A2 [420 x 594 mm]") (list "A1" (list 59.4 84.0) "A1 [594 x 840 mm]") (list "A0" (list 84.0 118.8) "A0 [840 x 1188 mm]") (list "Tabloide" (list 11.0 17.0) "Tabloid [11 x 17 in]") ; À titre d'exemple (list "Lettre" (list 8.5 11.0) "Letter [8.5 x 11 in]") ; À titre d'exemple )) (setq *imprimantes* (list ;; Liste des imprimantes, leurs formats supportés et le nom de périphérique de sortie ou fichier pc3. (list "AdobePDF" (list "A4" "A3" "A3" "A2" "A1" "A0") "Adobe PDF.pc3") (list "DesignJet1055" (list "A4" "A3" "A3" "A2" "A1" "A0") "DesignJet 1055.pc3") (list "Riccoh3800" (list "A4" "A3") "Riccoh 3800.pc3") (list "LaserJet1300" (list "A4") "LaserJet1300.pc3") (list "DelrinaFax" (list "Lettre") "Delrina") ; À titre d'exemple )) (setq *echelles* (list ;; Liste des échelles "1" "2" "5" "10" "20" "50" "100" "200" "500" "1000" )) ;;; ------------------------------------------------------- ;;; imprimantesPossibles ;;; Retourne les imprimates qui supportent le format demandé. ;;; ;;; Reçoit ;;; format: 'STR, un choix parmi "A4" "A3" "A3" "A2" "A1" "A0" ;;; Retourne ;;; 'LIST, une liste d'imprimantes ;;; ;;; Exemple: ;;; (imprimantesPossibles "A4") retournait '("LaserJet1300") ;;; (imprimantesPossibles "A0") retournait '("AdobePDF" "DesignJet1055" "LaserJet1300" "Riccoh3800") ;;; (imprimantesPossibles "Tabloide") retournait nil (defun imprimantesPossibles ( format / choix nom return ) (setq return nil) (foreach imprimante *imprimantes* (setq nom (car imprimante)) (setq choix (cadr imprimante)) (if (member format choix) (setq return (cons nom return))) ) (if return (setq return (acad_strlsort return))) ; trier return ) ;;; getkwordString ;;; Convertit une liste de chaine en une seule, dont chaque item est séparé par un / ;;; ;;; Reçoit: ;;; liste: 'STR, une liste de chaînes ;;; separator: 'STR, un (et un seul) caractère, soit idéalement " " ou "/" ;;; Retourne: ;;; 'STR, la chaine résultante ;;; ;;; Exemple: (getkwordString *echelles* "/") ;;; où (setq *echelles* (list "1" "2" "5" "10" "20" "50" "100" "200" "500" "1000")) ;;; retournerait "1/2/5/10/20/50/100/200/500/1000" ;;; Note: Aucune validation n'a été faite sur le paramètre liste. (defun getkwordString ( liste separator / return ) (setq return "") (foreach item liste (setq return (strcat return separator item))) (setq return (substr return 2)) ; Enlever le 1er caractère, i.e. le / return ) ;;; rectangle_provisoire ;;; Dessine un rectangle temporaire qui s'effacera avec Redraw ;;; Reçoit: ;;; ptCentre: 'LIST, un pt 2D ;;; format: 'STR, un des choix "A4" "A3" "A3" "A2" "A1" "A0" ;;; echelle: 'INT, un des choix parmi 1 2 5 10 20 50 100 200 500 1000 ;;; orientation: 'STR, un choix entre pAysage ou pOrtrait. ;;; couleur: 'INT, couleur du rectangle correspond aux couleurs ACI (e.g. 1=rouge, 2=jaune, etc.) ;;; Retourne ;;; LIST, les 2 coins opposés qui on été calculés (defun rectangle_provisoire ( ptCentre format echelle orientation couleur / h2 ptLowerLeft ptLowerRight ptUpperLeft ptUpperRight taille vects w2 x y ) (setq taille (cadr (assoc format *formats*))) (if (= orientation "pAysage") (progn (setq w2 (* 0.5 echelle (nth 1 taille))) ; demi-largeur (setq h2 (* 0.5 echelle (nth 0 taille))) ; demi-hauteur ) (progn (setq w2 (* 0.5 echelle (nth 0 taille))) ; demi-largeur (setq h2 (* 0.5 echelle (nth 1 taille))) ; demi-hauteur )) (setq x (nth 0 ptCentre)) ; X du Point centre (setq y (nth 1 ptCentre)) ; Y du Point centre ;; Les 4 coins (setq ptLowerLeft (list (- x w2) (- y h2))) (setq ptLowerRight (list (+ x w2) (- y h2))) (setq ptUpperRight (list (+ x w2) (+ y h2))) (setq ptUpperLeft (list (- x w2) (+ y h2))) (setq vects (list couleur ptLowerLeft ptLowerRight couleur ptLowerRight ptUpperRight couleur ptUpperRight ptUpperLeft couleur ptUpperLeft ptLowerLeft )) (grvecs vects) (list ptLowerLeft ptUpperRight) ; valeur de retour, les 2 coins opposés ) (defun c:speedprint ( / corners ctb couleur echelle format formats imprimante imprimantes msg orientation pc3 pt pt1 pt2 taille ;; Paramètres de la commande PLOT / TRACEUR _aireDeTrace _configurationDeTraceDetaille _decalageDeTrace _echelleDeTrace _enregistrerModificationsDeMEP _enregistrerTraceDansUnFichier _epaisseurDeLigne _nomDePeripheriqueDeSortie _nomDePresentation _orientationDuDessin _parametrageOmbrage _poursuivre _styleDeTrace _symetrieVerticale _tableDeTraces _tailleDePapier _unitesDePapier ) ;; Demander le format (setq formats (mapcar 'car *formats*)) ; Extrait "A4" "A3" "A3" "A2" "A1" "A0" (setq msg (strcat "\nFormat de la page [" (getkwordString formats "/") "] <" (car formats) ">: ")) (initget (getkwordString formats " ")) (setq format (getkword msg)) (if (not format) (setq format (car formats))) (setq taille (last (assoc format *formats*))) ;; Demander l'imprimante (setq imprimantes (imprimantesPossibles format)) (cond ((not imprimantes) (alert "Il n'y a pas d'imprimante pour ce format.") (exit) ) ((= (length imprimantes) 1) ; Une seule imprimante, la choisir (setq imprimante (car imprimantes)) ) (t (setq msg (strcat "\nChoix de l'imprimante [" (getkwordString imprimantes "/") "] <" (car imprimantes) ">: ")) (initget (getkwordString imprimantes " ")) (setq imprimante (getkword msg)) (if (not imprimante) (setq imprimante (car imprimantes))) ) ) (setq pc3 (last (assoc imprimante *imprimantes*))) ;; Demander l'orientation (initget "pAysage pOrtrait") (setq orientation (getkword "\nOrientation [pAysage/pOrtrait] : ")) (if (not orientation) (setq orientation "pAysage")) ;; Demander l'échelle (setq msg (strcat "\nÉchelle d'impression [" (getkwordString *echelles* "/") "] <" (car *echelles*) ">: ")) (initget (getkwordString *echelles* " ")) (setq echelle (getkword msg)) (if (not echelle) (setq echelle (car *echelles*))) (setq ctb (strcat "arc-" echelle ".ctb")) (setq echelle (atoi echelle)) ;; Demander le point centre de la zone d'impression. (initget 1) ; pas de nil (setq pt (getpoint "\nIndiquez le point centre de la vue: ")) ;; Dessiner le rectangle temporaire (setq couleur 1) ; Dessiner en rouge (setq corners (rectangle_provisoire pt format echelle orientation couleur)) (setq pt1 (nth 0 corners)) (setq pt2 (nth 1 corners)) ;; Imprimer (setq _configurationDeTraceDetaille "_yes") (setq _nomDePresentation (getvar "ctab")) (setq _nomDePeripheriqueDeSortie pc3) (setq _tailleDePapier taille) (setq _unitesDePapier "_millimeters") (setq _orientationDuDessin (strcat "_" orientation)) (setq _symetrieVerticale "_no") (setq _aireDeTrace "_window") (setq _echelleDeTrace (strcat "10=" (itoa echelle))) (setq _decalageDeTrace "_center") (setq _styleDeTrace "_yes") (setq _tableDeTraces ctb) (setq _epaisseurDeLigne "_yes") (setq _parametrageOmbrage "") (setq _enregistrerTraceDansUnFichier "_no") (setq _enregistrerModificationsDeMEP "_yes") (setq _poursuivre "_yes") (command "_-plot" _configurationDeTraceDetaille ; '"_Yes" ou "_No" _nomDePresentation ; "", "Model", qui est universel ou "Objet" _nomDePeripheriqueDeSortie ; Un nom de périphérique ou un fichier pc3 _tailleDePapier ; "A4 [210 x 297 mm]" _unitesDePapier ; _millimeters ou _inches _orientationDuDessin ; _paysage ou _portrait _symetrieVerticale ; _yes ou _no _aireDeTrace pt1 pt2 ; _window et 2 coins opposés _echelleDeTrace ; Pouces/mm tracé = Unités de dessin _decalageDeTrace ; _center ou un point centre _styleDeTrace ; _yes ou _no _tableDeTraces ; Nom d'un fichier ctb ou stb _epaisseurDeLigne ; _yes ou _no _parametrageOmbrage ; _yes ou _no _enregistrerTraceDansUnFichier ; _yes ou _no _enregistrerModificationsDeMEP ; _yes ou _no _poursuivre ; _yes ou _no ) (princ) ) (princ) -
Salut Bertrand, Ce n'est encore que le bout du périscope mais c'est un début. Je vais essayer de me faire plus présent. Je vois que je n'ai pas perdu la couleur de ma ceinture et que certains sont même devenu zillième dan. Je souhaite à tous une très bonne année 2007 (je commence à être un peu mélangé quand on sait que beaucoup de gens sont encore sur la 2005, qu'on est en 2006, que la version courante est la 2007 et que la 2008 se pointe). ¡ Hasta pronto ! Serge
-
C'est très clair. C'est quand même bizarre comme phénomène.
-
zizouspawn, Je ne suis pas certain de comprendre. Tu veux filtrer les attributs ayant une certaine élévation mais pas le bloc lui même ? Est-ce pour les ramener à 0 ? Si c'est ça, il existe déjà de nombreuses solutions comme Flatten des Express tools ou tout ramener à l'élévation 1e99, avant de redescendre le tout à 0. Si par contre, c'est pour un besoin différent, ni le _QSelect, ni (ssx) ne te donneront de résultats. Il faut une routine qui va itérer dans chaque instance de bloc. Joyeuses fêtes, Serge
-
dfbiago, Tout d'abord, j'offre mes meilleurs voeux à tous. La mémorisation de la taille et de la position des boites de dialogue se fait via les profils. Ci-après un petit bout de code qui affiche ces paramètres. Pour résoudre le problème, il faut se demander pourquoi le profil ne retient-il pas l'information. Démarres-tu avec le commutateur /p, ton profil est-il restauré chaque fois ? ;;; c:infoDialog ;;; Affiche la taille et la position des boites de dialogue d'AutoCAD. ;;; L'utilité est purement académique. ;;; ;;; Compatibilité: AutoCAD 2000 et plus ;;; ;;; Par Serge Camiré, CadNovation, 2006/12/28 ;;; http://www.cadnovation.com/fr (defun c:infoDialog( / descendents height hkcuDialog hkcuRoot largeDividor largeSpaces largeSpacesWidth smallDividor smallSpaces smallSpacesWidth width x y ) (setq hkcuRoot (strcat "HKEY_CURRENT_USER\\" (vlax-product-key) "\\Profiles\\" (getvar "cprofile") "\\Dialogs")) (setq descendents (vl-registry-descendents hkcuRoot)) (setq largeSpaces " ") (setq smallSpaces " ") (setq largeDividor (vl-string-translate " " "=" largeSpaces)) (setq smallDividor (vl-string-translate " " "=" smallSpaces)) (setq largeSpacesWidth (1+ (strlen largeSpaces))) (setq smallSpacesWidth (1+ (strlen smallSpaces))) (princ (strcat "\n\n" (substr (strcat "Nom de la boite" largeSpaces) 1 largeSpacesWidth) (substr (strcat "X" smallSpaces) 1 smallSpacesWidth) (substr (strcat "Y" smallSpaces) 1 smallSpacesWidth) (substr (strcat "Largeur" smallSpaces) 1 smallSpacesWidth) (substr (strcat "Hauteur" smallSpaces) 1 smallSpacesWidth) )) (princ (strcat "\n" largeDividor smallDividor smallDividor smallDividor smallDividor "====")) (foreach descendent descendents (setq hkcuDialog (strcat hkcuRoot "\\" descendent)) (setq x (vl-registry-read hkcuDialog "x")) (setq y (vl-registry-read hkcuDialog "y")) (setq width (vl-registry-read hkcuDialog "width")) (setq height (vl-registry-read hkcuDialog "height")) (if (or x y width height) (progn (princ (strcat "\n" (substr (strcat descendent largeSpaces) 1 largeSpacesWidth) (substr (strcat (if x (itoa x) "?") smallSpaces) 1 smallSpacesWidth) (substr (strcat (if y (itoa y) "?") smallSpaces) 1 smallSpacesWidth) (substr (strcat (if width (itoa width) "?") smallSpaces) 1 smallSpacesWidth) (substr (strcat (if height (itoa height) "?") smallSpaces) 1 smallSpacesWidth) )) )) ) ;; Une petite pub de MVPort ? (princ) ) Serge
-
Patrick, Le logo me fait un peu penser à ma présence sur ce site : un revenant :-) Pour moi, je ne vois qu'un fantôme qui me fait "Bouh!" (ce qui accompagnerait bien le logo de VoloView pour l'Halloween - en plus, c'est les mêmes couleurs) Quoi qu'il en soit, tiens moi au courant pour que je rectifie mon site. Note: Nous utilisons présentement 2 noms pour notre compagnie: Consultants Univers inc et CAD-Novation. La seconde, plus récente, a été choisie pour permettre une meilleure diffusion de nos produits dans le monde. Bientôt, nous n'utiliserons que ce nom. À l'époque, nous cherchions un nom neutre ayant le mot CAD. Je ne sais pas pourquoi mais personne n'avait retenu mes 2 suggestions : CAD-havre et CAD-uque. OK, je retourne hiberner ... Serge
-
Tramber, Les SOL* opèrent avec un solide 3D, ce qui n'était pas le cas ici. Bien vu. Serge
-
8_pool, Si cela avait été un triangle rectangle de 1x2m, j'aurais deviné qu'il s'agissait du triangle de Pascal. Serge
-
probleme sur un simple script
Serge a répondu à un(e) sujet de dilack dans Personnalisation, macros, DIESEL
dilack, Il te faut: 1) Facultativement inverser le \ en / (non obligatoire mais utile si jamais tu porte le code vers le lisp...) 2) Surtout entourer le nom des tes fichiers par des "" "" s'ils contient des espaces Exemple: _OPEN "D:/DATA_BET/5 - ACAD/1 - PROTO/1 - BIBLIO/ASSAI/J2C_avaloir" Serge -
On devait surement parler d'aller sur l'ile de la Réunion :-)) Serge
-
biba22_26, Voir aussi FLATTEN (Express tools) ainsi que les commandes SOLVIEW, SOLPROF, SOLDRAW. En dernier recours, il y a la génération d'un fichier DXB (c'est l'un des formats de traçage) que l'on réimporte avec _DXBIN. Serge
-
rebcao, En Amérique du Nord, Autodesk reconnait la cession de licence et je crois qu'il en soit ainsi dans le reste du monde.. Pour répondre à Jeck, je serais surpris qu'Autodesk échange le logiciel mais je ne crois pas qu'il y aurait objection à passer à une version 2006 française. Ça ne coute rien d'essayer (ou presque). PS Je me demande si une licence achetée en Suisse est 2 fois plus chère que dans le reste du monde mais (ils doivent donner 2 t-shirts - ne cherchez pas à comprendre, je me défoule). Serge
-
Puisque je ne serai pas devant mon écran le 25 juin, ni dans 10 minutes et ce jusqu'au 19 juillet, j'en profite pour souhaiter bonne fête à Bertrand tout de suite. Qui sait, je le lui dirai peut-être en personne. J'ai une valise pleine de sirop d'érable ;) Sur un air connu: Bonne fête à toi, bonne fête à toi, bonne fête, bonne fête, bonne fête à toi :-)) Serge
-
Pako, Ça semble intéressant pour nous mais je n'ai rien vu qui permette l'édition de dessins de produits verticaux (Mechanical, Electrical, Autodesk Architectural Desktop, ABS, etc.) Je leur ai posé la question. À suivre. C'est dur de suivre ce texte traduit. Il faut essayer de comprendre quel était le texte original anglais pour donner un sens à certaines phrases. Le mieux est d'indiquer à la toute première ligne que le texte est traduit et où se trouve l'original. Bonne St-Jean Serge
-
karaathis, Tu veux probablement dire effacer tout objet délimité par le rectangle afin que le texte soit dégagé. Il existe la commande WIPEOUT des Express Tools. Malheureusement, ces objets ne sont pas fiables (oui à l'écran mais non lors de l'impression). Un dérivé du Wipeout est la comande TEXTMASK, elle aussi des Express Tools. Une méthode infaillible est de choisir une couleur que jamais tu ne voudrais te servir, par exemple 192. Tu peux dessiner un objet solide (commande SOLIDE ou _SOLID) de cette couleur puis le texte par dessus. Ensuite, dans le style de tracé tu choisi le screening (projection) à 0%. Serge
-
LFA, Pour être puriste, la seule ressemblence entre DotNet (que l'on devrait plutôt appeler C# ou VB pour DotNet puisque ce sont les langages qui nous intéressent) et le ARX (C++) est qu'il faut acheter un compilateur Visual DotNet. ARX est du code non managé (en gros, pas de tracas de déployement) et VB DotNet c'est l'inverse. ARX est natif à AutoCAD, l'autre non. ARX est disponible depuis R13 et l'autre depuis 2005. zebulon_ À mon avis, Visual Lisp est le meilleur choix pour celui qui programme de façon occasionnel;e. Seules lacunes: les DCL (corrigés avec ObjectDCL) et le manque d'accès au fichiers binaires. Le VBA offre certains autres avantages. VBA et Lisp sont gratuits. Serge
-
Lfa, Du LIPS en VBA ... j'ai écris un LEVRE là-dessus. Va voir du coté de SendCommand (ex: ThisDrawing.SendCommand "_redraw". Attention, il n'existe pas de synchronisation entre les 2 environnements, c'est-à-dire que le VBA continuera même si le programme en Lisp n'a pas terminé. Didier, BeginLisp est le nom d'un réacteur qui sera alerté lors du déclanchement externe du programme Lisp. Serge
-
LFA, Le MVPort est en ObjectARX (natif ou C++ pur). Nous n'avons pas exposé d'interface (COM) mais même si nous l'avions fait, elles-auraient été compatible avec un DVB ou un client Visual Lisp. Tramber, Je suis content que tu sois satisfait de ObjectDCL car je me réjoins de la réussite des autres et je pense que c'est un bon produit. Je ne crois pas qu'il y ait de problèmes avec la 2006 car 2004 à 2006 sont des versions 16. Incidemment, si la 2007 devait être une 17, il y a de bonnes chances qu'il y ait incompatibilité. En passant, ce produit s'adresse surtout aux clients finaux. De notre coté, nous développons des applications à large diffusion et en Arx le plus souvent. Le besoin n'y est pas. Serge
