Aller au contenu

Serge

Membres
  • Compteur de contenus

    397
  • Inscription

  • Dernière visite

Tout ce qui a été posté par Serge

  1. KHdA, Tu peux essayer l'utilitaire gratuit LTScale Switch qui change automatiquement la valeur du Ltscale en passant de l'onglet Model/Objet à une présentation. http://www.cadnovation.com/fr/Prod/ltscale/ltscale.asp Serge
  2. Serge

    changement des commandes

    À tous, Lorsque j'aurai un peu de temps (fin janvier), je pense faire un utilitaire en Arx pour que vous puissiez choisir la commande associée à un double-clic selon l'objet choisi. Y voyez-vous un intérêt. Serge
  3. Serge

    Configurer un traceur en VBA

    Eagle4, Configurer un traceur ou une présentation? Serge
  4. Patrick, Pour ceux qui veulent une fonction plus générale, il y a un exemple daté du 3 septembre. Je ne sais pas comment faire le lien vers ce message. Si quelqu'un .... Serge
  5. Claudoyo, Il y a plusieurs commandes pour masquer: À l'écran: _HIDE, _3DORBIT, DVIEW Sur traceur: _MVIEW _hide, SOLPROF / SOLDRAW Je ne sais pas quelle commande tu essaie mais parfois il existe des différence entre la façon au clavier et la façon par programmation. Ceci est souvent dû au besoin de supporter les vieilles routines. Il se peut aussi que tu veuille utilise une routine liste dans une routine lisp, ce qui sera refusé. Serge
  6. Serge

    Autocad et Excel

    Patrick_35, C'est bon. Tout ce qui manque et un cond ou un if où tu pourras choisir la version d'Excel. Mentionnons qu'avec Excel10, le type library est dans le fichier exe. Serge
  7. Serge

    Filtrer les bloc anonymes

    Ludwig, Ça te prend l'anti-apostrophe pour spécifier le caractère * et non l'utiliser Exemple: (setq ss (ssget "_x" (list (cons 0 "insert") (cons 2 "`**")))) Serge
  8. Serge

    ouvrages AutoCAD

    C'est du vieux stock, mais bon .. http://www.cadnovation.com/fr/EU/eunivers.asp Serge
  9. Le crabe, L'achat de Softdesk a permis à leurs fonateurs de fonder Cadopia et le logiciel compétiteur Intellicad. Patrick, Les nouveautés d'une versions de base d'AutoCAD est souvent disponible autant dans la version LT, sinon dans les verticaux. Les extensions aux palettes, les tableaux, etc. étaient disponibles dans ADT2004. Mechanical et Map apportent aussi leur contribution. Serge
  10. Serge

    Achetez vous une étoile

    Patrick, J'ai acheté un cratère sur la lune et je suis prêt à le revendre pour moins de 1000$. Je donne la chance aux lecteurs de ce forum. N'attendez pas, lorsqu'il sera sur eBay, les prix seront beaucoup plus élevés. À qui la chance ? Serge
  11. Serge

    Angle entre deux lignes

    Patrick, Tu peux toujours exécuter un SendCommand avec l'idée d'utiliser la varaiable système USERR1 comme tampon (tu sauvegarde la valeur initiale au préalable). L'ennui est que tu auras toujours un écho sur la ligne de commande. Est-ce que tes lignes sont en 3D ? Exemple d'utilisation de CAL depuis VBA: Sub test() Dim commande As String Dim UserR1 As Double Dim MyValue As Double loadArx "geomcal.arx" ' S'assurer d'avoir chargé le arx UserR1 = ThisDrawing.GetVariable("userr1") commande = "(setvar " & Chr(34) & "userr1" & Chr(34) & " (cal " & Chr(34) & _ "1.1+1.2" & Chr(34) & "))" & vbCr ThisDrawing.SendCommand commande MyValue = ThisDrawing.GetVariable("userr1") Debug.Print "Userr1: " & CDbl(MyValue) ThisDrawing.SetVariable "userr1", UserR1 End Sub Sub loadArx(arxFileName As String) Dim appList As Variant appList = ThisDrawing.Application.ListArx If VarType(appList) <> vbEmpty Then Dim I As Integer For I = LBound(appList) To UBound(appList) If StrComp(appList(I), arxFileName, vbTextCompare) = 0 Then Exit Sub Next End If ThisDrawing.Application.loadArx (arxFileName) End Sub Serge
  12. Serge

    Lignes de même longueur

    À tous, En passant, puisqu'il y a des programmeurs en Arx, le inputPointManager qui permet d'allumer les objets comme le font AutoCAD Mechanical ou Architectural Desktop. Depuis AutoCAD 2000i. Signature: virtual AcEdInputPointManager * AcApDocument::inputPointManager() const; Serge
  13. Serge

    Lignes de même longueur

    Didier, C'est jouer avec les mots. Cela ne permettra pas d'utiliser les poignées. De plus, il faudra un (redraw ent 4) ou un regen pour enlever cette surbrillance. Serge
  14. Serge

    Angle entre deux lignes

    Patrick, Je ne connais pas de fonction en Lisp qui accepte 2 lignes et lui trouve l'angle. La fonction angle reçoit 2 points. Pour l'exemple précédent, il y a 2 bémols. 1) Si les lignes forment un plan tridimentionnel, on pourra toujours utiliser le calculateur en lisp via les formules "ang(sommet,p1,p2,p3)" et "ang(sommet,p1,p2)" où tous ces 4 paramètres sont des points 3d 2) En 2D, si la ligne 1 est à 10 degrés et la ligne 2 à 350 degrées, la différence sera de 340 degrés, ce qui n'est pas faux mais pas exact non plus. On peut alors faire (rem (- (+ (* 2 pi) ang1) ang2) (* 2 pi)) c'est à dire, on ajoute un tour complet à l'angle 1, on lui soustrait l'angle 2, et si on est toujours au desus de 2 pi, on soustrait ce 2 pi. En VBA, on peut donc appliquer le même algorithme (si on est en 2D) Serge
  15. Merci Patrick, Et pour le taux de satisfaction ? Les visiteurs? Ce qui est bien est la coïncidence avec un truc pour ADN à EuroDisney ainsi que le marathon de Paris. Si je ne me blesse plus, j'y penserai beaucoup beacoup. Il y a un autre Bernard qui coure là bas (ce n'est pas le Bernard F. qu'on connait et qui fait du vélo). Celui-là, c'est Bernard Z, et il a couru 40 km en 1:59:57. Il m'écoeure :-))) Serge
  16. Serge

    Développeur Agréer !

    Pako, Le Canada et les US font parti du même groupe AMERICAS,incluant parfois l'Amérique du su. Les autres groupes sont l'Europe + Middle-Est (EMEA) et l'Asie (APAC). Le lien entre le Canada et les US est encore plus étroit que ce simple groupe. On a des versions anglaises non verrouillées. Les lois sur les droits d'auteur étant les mêmes. Pour la souscription, le cout annuel de base est de 1800 UDS pour la base, 3000 USD pour VIP et 25000 USD pour être Premier Partner. Comme le huard est fort par rapport au USD, c'est le temps de faire des réserves. J'ai acheté 3 abonnements d'un coup :-) Serge
  17. Serge

    Angle entre deux lignes

    Patrick, J'imagine que tu connais au moins 3 points, le deuxième étant le sommet. Voici un exemple simple que tu peux adapter. Sub Example_AngleFromXAxis() ' This example finds the angle, in radians, between the X axis ' and an axis defined by two points. Dim pt1(0 To 2) As Double Dim pt2(0 To 2) As Double Dim retAngle As Double pt1(0) = 2: pt1(1) = 5: pt1(2) = 0 pt2(0) = 5: pt2(1) = 2: pt2(2) = 0 ' Return the angle retAngle = ThisDrawing.Utility.AngleFromXAxis(pt1, pt2) ' Display the angle found MsgBox "The angle in radians between the X axis and the 2 points is " & retAngle, , "AngleFromXAxis Example" End Sub Serge
  18. Serge

    Lignes de même longueur

    Ludwig, Comme l'a dit Bruno, tu a vraiement intérêt à utiliser equal avec un écart admissible d,au moins 1e-8. Pour la dernière question, regarde du coté de sssetfirst Serge
  19. fabcad, Je déconseille fortement le Lisp pour l'accès à Excel. En VBA, c'est très simple. Fais toi une macro en Excel pour faire ton graphique. Tu récupère le contenu de cette macro que tu récupère dans le VBA d'AutoCAD avec la précaution de référencer les objets d'Excel à une variable définie dans le VBA d'AutoCAD. Avec un With, ça se fait très rapidement. Serge
  20. Patrick, Ils ne disent pas c'est quels jours. Est-ce qu'il y a plusieurs personnes de ce forum qui y vont? Est-ce que les gens sont satisfaits ? Serge
  21. Patrick 35, Si tu vas dans Vlide, tu peux te créer un espion sur (namedobjdict). De là, tu peux faire un double-clic dessus qui t'ouvres une nouvelle fenetre. Celle-ci offre 2 entrées: {entrées...} et {identificateur} "C". Tu double-clique sur {entrées...} qui t'ouvre l'entrée du dictionnaire. Tu y découvres tous les dictionnaires. C'est beaucoup plus rapide que par programmation. Serge
  22. Serge

    recup dimension

    Mitch-5100 Par programmation ? En Lisp, VBA ? Il y a GetBoundingBox pour l'étendue d'un objet, pour le reste, il s'agit de savoir quelles propriétés tu veux. Serge
  23. Serge

    logand ?

    Tramber, D'abord un extrait de l'aide sur la variable OSMODE. Type : Entier Enregistrée dans : Base de registres Valeur Initiale : 4133 Définit les modes d'accrochage aux objets actifs à l'aide des codes binaires qui suivent : 0 AUCun 1 EXTrémité 2 MILieu 4 CENtre 8 NODal 16 QUAdrant 32 INTersection 64 INSertion 128 PERpendiculaire 256 TANGente 512 PROche 1024 RAPide 2048 Intersection PROJetée 4096 EXTension 8192 PARallèle Pour spécifier plusieurs modes d'accrochage aux objets, entrez la somme de leurs valeurs. Par exemple, l'entrée de la valeur 3 spécifie les accrochages aux objets Extrémité (code binaire 1) et Milieu (code binaire 2). La valeur 16383 spécifie quant à elle tous les accrochages aux objets. Quand les accrochages aux objets sont désactivés à l'aide du bouton Accrobj de la barre d'état, le code binaire 16384 (0x4000) est renvoyé, en plus de la valeur normale d'OSMODE. Cette valeur supplémentaire permet aux développeurs d'écrire des applications pour AutoCAD et de distinguer ce mode des modes d'accrochage aux objets désactivés à partir de la boîte de dialogue Paramètres de dessin. Si vous affectez une valeur à ce bit, les modes d'accrochage aux objets actifs sont désactivés. Attribuer une valeur à OSMODE alors que ce bit est désactivé active les modes d'accrochage aux objets actifs. ======================================== Ensuite, le mot octet vient de l'utilisation de groupe de 8 chiffres, soit des zéros ou des uns. Lorsque je jouais au bowling, j'avais toujours l'impression d'écrire mon score en binaire (mais ça c'est une autre histoire). ======================================== La raison d'avoir choisi des nombres binaires est simple Ça permet de faire des combinaisons ou de vérifier plus facilement. Ci après la représentation binaire et décimale des mêmes modes d'accrochage. Binaire - Décimal - Signification 00000000000000 - 0 AUCun 00000000000001 - 1 EXTrémité 00000000000010 - 2 MILieu 00000000000100 - 4 CENtre 00000000001000 - 8 NODal 00000000010000 - 16 QUAdrant 00000000100000 - 32 INTersection 00000001000000 - 64 INSertion 00000010000000 - 128 PERpendiculaire 00000100000000 - 256 TANGente 00001000000000 - 512 PROche 00010000000000 - 1024 RAPide 00100000000000 - 2048 Intersection PROJetée 01000000000000 - 4096 EXTension 10000000000000 - 8192 PARallèle Si tu veux rendre tous les modes actifs, tu t'assure qu'il y aura un 1 à chaque position. C'est le rôle d'un logior: 0 ou 0 donne 0, 1 ou 0 donne 1, 0 ou 1 donne 1 et 1 ou 1 donne 1. Tu peux donc faire (setvar "osmode" (logior (getvar "osmode") 16383)) Ceci est un cas extrême, mais si tu avais voulu allumer CENtre et laisser les autres actifs, tu aurais déclaré (setvar "osmode" (logior (getvar "osmode") 4)). Note: La somme de tous ces chiffres est le dernier de la suite, multiplié par 2, moins 1. Dans l'exemple, la somme de 1 jusqu'à 8192 est donc (8192*2)-1, soit 16383. Pour le logang (et non logiand), cela te permet de savoir un un bit était allumé ou non: 0 et 0 donne 0, 1 et 0 donc 0, 0 et 1 donne 0 et 1 et 1 donne 1. Ainsi, si tu voulais savoir si le mode CENter était allumé, tu dirais: (if (logand (getvar "osmode") 4) ....) Comme 4 est en fait 00000000000100, tous ces zéros vont annuler les 1 présent dans le (getvar "osmode"). Seul le 1 va pouvoir se confronter à ce que vaut le getvar. Serge
  24. Serge

    un peu d\'aide

    Dol, Je n'ai pas essayé de faire rouler ta routine mais je peux te dire qu'il y a vait quelques coquilles. Comme rebcao l'a mentionné, le fait que defun se trouve sur la même ligne qu'un ; qui le précède, c'est comme si le defun n'avait jamais été écrit. Il y a d'autres coquilles du genre.Le initget a été amélioré. On a placé la déclaration de variables locales en commentaires (pourquoi?) Je t'envoie une version corrigée. Fais attention au mélange d'expressions anglaises/françaises. ;------------------------------------------------------------------------ (defun C:chdxf() ;/ rep dos s f ligne lst nom ;------------------------------------------------------------------------ (initget "Oui Non") (setq choix (getkword "\nVoulez-vous un repertoire specifique [Oui/Non] : ")) (if (not choix) (setq choix "Oui")) (if (= choix "Oui") (progn (setq rep (getstring T "\nRépertoire de recherche: ")) ) (progn (setq rep (getvar "dwgprefix")) (setq lg (strlen rep)) (setq rep (substr rep 1 (- lg 1))) )) (dos_command (strcat "dir " rep "\\*.dxf/b/on>" rep "\\listdxf") 8) (princ) (setq lst nil) (setq s (open (strcat rep "\\dxf.scr") "w")) (setq f (open (strcat rep "\\listdxf") "r")) (while (setq ligne (read-line f)) (setq lst (append lst (list ligne))) );fin while (foreach x lst (setq nom (NOEXT x)) (write-line "_NEW" s) (write-line (strcat nom "=") s) (write-line "_DXFIN" s) (write-line (strcat rep "\\" nom) s) (write-line "zoom et" s) (write-line "FILEDIA 1" s) (write-line "CMDDIA 1" s) (write-line "CMDECHO 1" s) (write-line "ATTREQ 1" s) (write-line "SAUVENOM 2000" s) ;(write-line "2000" s) (write-line (strcat rep "\\" nom) s) );fin foreach (princ "\n") (close s) (close f) (setq ecr (strcat rep "\\dxf")) (command "script" ecr) (princ) );fin defun Serge
  25. Serge

    Le côut de la guerre

    Pas de problème, il devrait y avoir un deuxième compteur pour afficher les profits de la vente du pétrole. Notre ami Georges War Bush est en visite ce soir chez nous. 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é