Aller au contenu

Serge

Membres
  • Compteur de contenus

    397
  • Inscription

  • Dernière visite

Tout ce qui a été posté par Serge

  1. Bonjour, Voici un extrait sans arrière pensée d'une page adressée au développeurs (ADN). En gros, ce que ça dit est : "À vos risques". Hors d'ondes, le texte est plus mordant. Vous pouvez traduire ce texte sur Reverso.com Important AutoCAD LT Information for Developers Dear ADN Member: As you know, AutoCAD LT does not support the development of applications based on ObjectARX, LISP or VBA. The product was not intended as an application development platform, but as a lower-cost easier to use alternative to the full features and functions of AutoCAD. It has come to Autodesk's attention that some developers are nevertheless developing applications for AutoCAD LT. We are therefore calling your attention to the following: AutoCAD LT was not conceived as an application development platform. Consequently, it does not contain an application development environment. Because AutoCAD LT was not conceived as a development platform, Autodesk does not support application development for AutoCAD LT. Autodesk does actively support content development for AutoCAD LT such as symbol libraries that use the content integration tools available within AutoCAD LT. Because AutoCAD LT is not a development platform, programming changes may be made in future versions that cause such applications to cease functioning with AutoCAD LT. Autodesk assumes no responsibility should this occur. AutoCAD LT is a Microsoft WindowsÒ logo compliant program and will support Windows API's that are required for Windows logo certification. As those API's change in successive versions of Windows, they can be expected to change in AutoCAD LT as well. Autodesk will not intentionally block the operation of applications based on these Microsoft Windows API's. However Developers and Customers must consider and accept that this mechanism for developing applications may be modified or otherwise unavailable in future releases of Microsoft Windows or AutoCAD LT. AutoCAD, AutoCAD OEM and the Vertical Desktops offer the appropriate environments for developing independent applications. These products contain all necessary APIs, which are fully disclosed, and developer support for them is provided through the Autodesk Developer Network. Use of AutoCAD LT by developers must strictly comply with the provisions of the Software License Agreement that accompanies the product; moreover, ADN members must comply with the terms of their ADN Agreement with Autodesk. In addition, unauthorized copying of AutoCAD LT or any portion of its code is copyright infringement. Autodesk will vigorously protect its intellectual property rights in AutoCAD LT. To protect AutoCAD LT customers from the risk of unauthorized and unsupported use of AutoCAD LT by third-party developers, and to protect its own image and reputation, Autodesk will take such steps as may be necessary to prevent or impede such unauthorized use. Serge
  2. Laurent, En passant, la France est l'un des 4 pays nord-américain mais je ne crois pas qu'on y retrouve de nationale :-) Serge
  3. Serge

    Reconstruire les blocs

    Ludwig, Si je te comprend bien, tu désires un UnExplodeBlock. Est-ce bien cela ? Pour le point d'insertion, c'est un bug que j'ai corrigé ce matin. Je venais tout juste de terminer la routine quand j'ai vu votre demande. C'est ce qui explique ce petit bug. Patrick_35, Ce sera fait. Pako, Le valeurs d'attributs par défaut du nouveau bloc sont d'abord prise en compte puis je fais le tour de l'ancien bloc pour savoir s'il existe des anciennes valeurs qui deviendraient prioritaires. L'ordre des attributs n'a aucune importance, pouvu qu'il n'y ait pas 2 fois le même nom de tag dans le même bloc. Normalement, ce programme est offert à ceux qui ont le MVPort. Je vais donc en faire une version 100% fonctionnelle mais qui popera une boite de dialogue tous les 3 ou 5 blocs, question de pas déplaire à ceux qui ont payé la version pleine. J'enlèverai cet irritant dans un an, si quelqu'un me le rappelle :-) Serge
  4. Laurent, Il est possible que je sois trop habitué aux distances au Canada. De mémoire, tu demeures à Clermont-Ferrant, ce qui est relativement proche de la N7. Non ? Et en plus, la N7 passe par Lapalisse, élément glissé en 2ième partie. En tout cas, je ne vois pas de contradiction avec ce que j'avais dit. Dijon qu'avec certains jeux de Meaux, la moutarde monte vite au nez :-) À moins que ce ne soit le volcan qui fasse des scories :-) Chez nous, on a la Trans-canadienne puis des routes et autoroutes provinciales. Pas de nationale. Serge
  5. Serge

    Status AutoCAD en VBA

    eagle4, Tu as raison pour le else. Ça doit être à cause du manque de tabulations que j'ai mal lu le code. Serge
  6. Il y a 2 conversations en parallèlle Patrick, Pas de quoi Laurent, Je suis allé visiter Versailles à ce moment. Ce n'était pas joli. Et puisqu'on parle de camion, la Nationale 7 passe tout près de chez vous, c'est une vérité de Lapalisse. Nationale 7, Est-ce en rapport à Charles Trenet? Serge
  7. Patrick, Coquille: Remplacer (setq ang (if (equal x 0 1e-14) pi (atan (/ y x)))) par (setq ang (if (not (equal x 0 1e-14)) (atan (/ y x)) (* pi 0.5 (if (< y 0) -1 1)))) Ça ne changeait rien dans le code de la flèche, mais c'est pour la forme. Serge
  8. Serge

    Reconstruire les blocs

    Pako, Excuse moi, je n'avais pas décrit le fonctionnement. Ma routine permet d'insérer un bloc par-dessus un autre et le remplacement se fait selon l'apparence que les 2 blocs ont au moment d'être choisi, ce qui signifie que je tiens compte de l'angle de rotation relatif, de l'échelle relative et aussi du choix d'un calque pour y laisser les vieux blocss pour fins de comparaiso, je transfère les attributs bloc par bloc et finalement, le remplacement est sélectif. Ah oui, les échelles d'insertion peuvent être miroir ou Y différent de Y. ReplaceBlock des express ne fait que recopier la définition d'un bloc dans un autre, ce qui prend à peu près 10 lignes de codes à faire. Exemple d'utilisation: Commande: RB Calque pour les anciens blocs : Enter Sélectionnez la zone ayant les 2 blocs: Sélection par Crossing Choix des objets: Spécifiez le coin opposé: 2 trouvé(s) Choix des objets: Enter Attention: Les 2 blocs n'ont pas la même échelle. Vous pouvez interrompre la routine et faire des validations avant de continuer. Interrompre la routine [Oui/Non] : Nonr Choisissez les blocs à remplacer [Tout/Sélection] : Enter Note: j'avais étaeint le flag pour l'effacement des vieux blocs. Je vais mettre à jour le site d'ici 10 minutes. Désolé. Serge
  9. À moi, Je ne peux m'empêcher de faire un jeu de mots en arabe puisque je vois une grenouille. Le surnom des Français (et par ricochet les Québecois) est Grenouille. Du coté de Maghrébien, c'est Beurre. Or, ces 2 mots se resemblent étrangement en arabe. C'est l'héritage d'une ancienne vie .... Serge
  10. Pako, Merci. J'ai développé une routine qui tient compte des arcs. Je pense même l'avoir déjà publier sur ce forum ou sur l'un des 2 autres. En fait, je ne peux pas être le Bonhomme Carnaval puisqu'il veut se syndiquer et que je suis l'employeur :-) Serge
  11. Serge

    Reconstruire les blocs

    À moi, J'aurais du avoir cliqué sur "Désactiver les smileys" Le message ne contient pas de petits bonhommes Serge
  12. Serge

    Reconstruire les blocs

    Ludwig, D'ici 30 minutes, tu iras sur notre site http://www.cadnovation.com/fr Dans la sectionTRUCS, SUPPORT, ROUTINES , tu cliqueras sur Plus puis de là il y aura un routine pour remplacer les blocs. Ce sera un fichier à extension fas. Tu le charge comme n'importe quel fichier lsp. Voici ce que ça dit au chargement: La variable eacu_rb::oldBlocsLayerName peut être définie pour choisir le nouveau calque où seront transférés les anciens blocs. Par défaut, ce calque se nomme VieuxBlocks Exemple: (setq eacu_rb::oldBlocsLayerName "VieuxBlocks") Tapez RB pour remplacer les blocs. Serge
  13. Patrick, Si je peux me permettre une amélioration. C'est plus facile à comprendre si on a une fonction qui l'appelle. La commande TEST ci-dessous demande un point, un angle de rotation et une taille relative à l'écran. À la fin, je fais un redrawall qui efface la flèche (defun arrowvec ( pos angRadians color scale / height next point2d prev x y ) (setq height (* scale (getvar "viewsize") 0.002)) ; La flèche fait 500 unités de long (1/500 = 0.002) (setq prev pos) (mapcar '(lambda (point2D) ;; Coordonnées selon le modèle horizontal, à échelle ajustée (setq x (* height (nth 0 point2D))) (setq y (* height (nth 1 point2D))) (setq rayon (sqrt (+ (* x x) (* y y)))) (setq ang (if (equal x 0 1e-14) pi (atan (/ y x)))) ;; Même coordonnées mais pivotées selon l'angle demandé (setq ang (+ ang angRadians)) (setq x (* rayon (cos ang))) (setq y (* rayon (sin ang))) ;; Même coordonnées mais décalées de pos (setq x (+ x (nth 0 pos))) (setq y (+ y (nth 1 pos))) (setq next (list x y)) (grdraw prev next color) (setq prev next) ) (list '(-200 200) '(-200 100) '(-500 150) '(-400 0) '(-500 -150) '(-200 -100) '(-200 -200) '(0 0)) ) ) (defun c:test ( / angRadians color point scale ) ;; Color est un entier ;; -1 = encre XOR, 1 à 255 sont des couleurs ACI (setq color -1) ; Flèche de couleur XOR (setq point (getpoint "\nMontrez le point ciblé par la flèche: ")) (setq angRadians (getorient point "\nMontrez l'angle de la flèche: ")) (initget (+ 2 4)) ; Non zéro, non négatif (setq scale (getreal "\nTaille relative de l'écran (3 à 10% suggéré) <5>: ")) (if (not scale) (setq scale 5.0)) ; Normalement, le programmeur devrait valider les valeurs (if (> scale 50) (setq scale 50)) (setq scale (* scale 0.01)) ; Pourcentage oblige (arrowvec point angRadians color scale) (getstring "\nPause... Tapez sur Enter pour continuer") (command "_redrawall") (princ) ) Serge
  14. Maximillien, Il ne faut pas oublier le (close fichier) Serge
  15. Ludwig Si tu as une polyligne sans courbes, ceci ferait l'affaire (reste les validations nécessaire) : (setq plineSel (entsel "\nChoisissez la polyligne: ")) (setq pline (car plineSel)) (setq plineGet (entget pline)) (setq sommets (mapcar 'cdr (vl-remove-if '(lambda (x) (/= (car x) 10)) plineGet))) (setq ss (ssget "_wp" sommets)) ; ou _CP Serge
  16. Laurent, Je crois qu'en camion, on peut rouler notre bosse. Avec un logiciel, on peut rouler notre boss. La plupart des logiciels sont excellents et ont tous un très bons rapport qualité - prix. C'est en effet dommage qu'Autodesk force les gens à se mettre à jour. On critique souvent Microsoft de la sorte. Mais avez vous pensé à quoi ressemblerait ce forum si on avait des utilisateurs en R12, en r13, etc. ? D'autre part, comment Autodesk réussirait à investir dans l'innovation sans cette source de revenu Pour ce qui est de MicroStation, je sais que parmi les 2 plus grandes firmes d'ingénieurs au monde l'utilisent (Fluor Daniel et Bechtel) ainsi que nombre de ministère du transport et municipalités. Du coté 3D, je sais qu'Autodesk vient d'essyer un revers assez important car Hydro-Québec production (les barrages électriques) vient de passer à Catia. Cela aura un impact majeur au Québec et aura un effet domino ailleurs (on sait ce que ça fait un barrage qui éclate). Parlant d'Hydro-Québec et de sondages, il y a quelques années, le Québec a connu une très grave crise de verglas (le 5 janvier 1998). Montréal est passé très très près d'être la proie des flammes n'ayant plus d'eau disponible. Quoi qu'il en soit, Hydro-Québec a mené un sondage auprès de ses clients pendant cette crise pour connaitre leur taux de satisfaction quand à leur services. La réponse a été de 98% de satisfaits ou de très satisfaits. Quand on s'y arrête, les seuls gens qui pouvaient être rejoints étaient ceux qui avaient l'électricité. On n'a pas sondé ceux qui étaient campé dans des refuges. Comme quoi on peut faire dire n'importe quoi aux sondages. Voir ces liens pour en connaitre davantage sur cet événement http://archives.radio-canada.ca/IDD-0-13-265/desastres_tragedies/crise_verglas/ http://archives.radio-canada.ca/IDC-0-13-265-1326/desastres_tragedies/crise_verglas/clip2 http://bilan.usherbrooke.ca/bilan/pages/evenements/3818.html http://www.wsws.org/francais/News/1998/fev1998/verglas.shtml Serge
  17. Serge

    Status AutoCAD en VBA

    micc, Tu ne peux simplement faire un New. Tu aurais un objet compatible mais avec rien dedans. Le GetObject demande à Windows de retrouver l'objet ouvert. Je te conseille d'examiner le fichier C:\Program Files\AutoCAD 200xx\Sample\ActiveX\ExtAttr\ExtAttr.xls qui contient une macro faisant exactement ce que tu cherche. Serge
  18. Laurent, Tu peux m'appeler maitre Capillaire. Ça me redonnera vingt ans. Serge
  19. Serge

    Configurer un traceur en VBA

    eagle4 En vb6, c'est très simple. Tu as accès à la collection Printers. En VBA, tu dois utiliser un API de Windows. Voir un exemple à http://support.microsoft.com/default.aspx?scid=kb;fr;154078 Si tu veux envoyer un code spécifique à l'imprimante, par exemple pour le choix du plateu, voici un exemple: Sub ChangeTray() ' selects the manual page tray without printing Application.SendKeys "%fu%e{TAB}{DOWN}{DOWN}{TAB}m~{ESC}", True End Sub Sub ChangeTrayAndPrint() ' selects the manual page tray and prints the selected sheet(s) Application.SendKeys "%fu%e{TAB}{DOWN}{DOWN}{TAB}m~~", True End Sub Si tu veux afficher les imprimantes dans une boite de dialogue, il y a le Common Dialog (composant ajouté) avec la méthode ShowPrinter. Celle-ci te permettra d'afficher le bouton Propriétés. Serge Serge
  20. Serge

    Status AutoCAD en VBA

    eagle4, Je déclarerais acadApp global afin de pouvoir utiliser l'objet partout. e même, il faudrait penser à fermer cet objet à la sortie de la routine, sans quoi tu pourrais avoir consommation de mémoire inutilement. Exemple: Public acadApp As AcadApplication Autre chose, il te manque un Else entre Err.Clear Set acadApp = CreateObject("AutoCAD.Application") Exemple: Err.Clear Else Set acadApp = CreateObject("AutoCAD.Application") Serge
  21. Laurent, Pour le linge, je vais me dérober. Pour l'appel de l'interpréteur, il faut nuancer. Si on répond 1/12 sur la ligne de commande, c'est AutoCAD qui calcule. Dès qu'on entre une parenthèse, c'est AutoLISP. Pour ce qui est de l'utilisation des résultats, c'est le rôle du rpogrammeur de faire ses validations. Lorsqu'il a un doute sur la nature de ses nombres, il peut toujours multiplier par 1.0. Serge
  22. Laurent, Belle coquille. On parle de courbe de femme et non de ligne. C''était écrit linge et non ligne, puisqu'on parle d'habillement et de ceinture. Pour l'interpréteur, c'est exactement ce que je disais: 1/2 donne 0 parce que 2 nombres entiers donne un résultat en entier. Par contre 1.0/2 donne 0.5 Et tant qu'à y être, avec le calculateur, on peut écrire .5*2 qui donne 1 .0 En AutoLISP, on aurait reçu un "invalid dotted pair" à cause du zéro absent devant le point. Serge
  23. Serge

    changement des commandes

    Maximillien, Ce serait gratuit, avec surement une pub sur le MVPort dans la boite de dialogue de configuration :-) Préférez vous une boite de dialogue autonome ou travailler avec la boite de dialogue d OPTIONS. Je peux facilement faire les 2. Cependant, la plupart des verticaux ont ajoutés plusieurs onglets et on risquerait de se retrouver très loin caché. Serge http://www.cadnovation.com/fr/Prod/mvport/mvport.asp
  24. Laurent, Tout d'abord, à l'approche de Noël, je préférerais me débarrasser de ma ceinture :-). En Amérique, et peut-être en France aussi, la taille du linge de femme se calcule en age. On peut porter de la taille 0 à la taille 20.Je ne connais pas l'origine de ce système bizarre. Moi, je porte du 8. En fait, c'est que quand j'attache ma ceinture, j'ai l'air d'un 8. Revenons aux chiffres après le point. Saviez-vous que le diamètre d'un atome d'hydrogène est de 1 angström, c'est-à-dire 10e-10 mètre ou 10e-7 mm. Lorsqu'on trace, on n'a pas besoin de 14 chiffres après le point. C'est pourquoi l'échelle de la fenêtre flottante est passé de la double précision à la simple précision à partir de la 2000i. Si je vous dis cela, c'est qu'on a eu des surprises avec le MVPort. Toujours pour se donner des repères, le diamètre du noyau d'hydrogène (le proton) est de 10e-12 mm. Pourquoi 14 ou 16 chiffres après le point. Pour réduire les erreurs après plusieurs manipulations mathématiques. Je n'entrerai pas dans le détail des mathématiques mais il va de soi que plus le nombre de chiffres significatifs est élevé et plus on est précis, surtout dans les divisions. Toute la géométrie des objets est basée sur des calculs de matrices, qui sont en fait des tableaux de 4x4 chiffres se multipliant entre-eux. Tout traitement de nombres réels (doubles) par AutoCAD se fait en double précision. Il ne faut pas se méprendre avec l'affichage du résultat sur la console qui n'est qu'en simple précision. Aussi, il faut se méfier du piège suivant : l'interpréteur d'AutoLISP retourne les résultats selon la précision la plus élevée des nombres reçus. Si on passe 2 entiers, on recevra un entier. Si on passe un double et un entier, on recevra un entier. Le calculateur (fonction en arx issue de geomcal.arx) retourne toujours les nombres en double précision. Finalement, au rythme où tu participes, tu auras rejoins Tramber d'ici un an :-)) Serge
  25. Laurent, Eh bien on va marquer ce fil. C'est mon 200-ième. Je porte des bretelles. Voici 14 langues supportées en 2005 Available in Brazilian Portuguese, Czech, English Intl, French, German, Hungarian, Italian, Japanese, Korean, Polish, Russian, Simplified Chinese, Spanish, Traditional Chinese Absents: ??? Je n'ai pas compté US English qui est la même langue que English Intl, ni Portuguese, ces 2 devant compter parmi le 19 déclarée en R13 mais que je n'ai pas retracé les preuves. Serge
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité