Aller au contenu

(gile)

Moderateurs
  • Compteur de contenus

    12 247
  • Inscription

  • Dernière visite

  • Jours gagnés

    209

Tout ce qui a été posté par (gile)

  1. Salut, Je ne connais pas Civil, mais avec AutoCAD "standard" le fichier AutoCAD.CUI personnalisable se trouve dans le dossier : C:\Document and Settings\\Application Data\Autodesk\AutoCAD 2006\R16.2\fra\Support Un fichier AutoCAD.CUI "originel" (non personnalisé) se trouve dans : C:\Progam Files\AutoCAD 2006\UserDataCache\Support Peut-être en est il de même pour civil.CUI ?
  2. (gile)

    DIM et HATCH

    C'est bien ce que nous (Tramber et moi) disons. La grille est sur le plan XY du SCU courant (Z = 0). En déplaçant le SCU (en altitude) pour mettre son origine (0,0,0) sur le plan dans lequel tu veux tes cotes, tu pourras faire tes cotes dans ce plan. http://img480.imageshack.us/img480/4232/cote19wc.png http://img52.imageshack.us/img52/6559/cote22bs.png [Edité le 18/3/2006 par (gile)]
  3. (gile)

    CODES DXF (rapides)

    Très pratique aussi, à mon avis, pour accéder à la valeur d'un code dxf d'une entité, il y a GETVAL, trouvée dans la faq AutoLISP. Cette routine est très polyvalente, elle accèpte comme argument aussi bien les "ENAME" que les listes entsel ou les listes entget : ;;; GETVAL (Reini Urban) Retourne la première valeur du groupe d'une entité. ;;; Accepte tous les genres de représentations de l'entité ;;; (ename, les listes entget, les listes entsel) ;;; NOTE: Ne peut obtenir que le premier groupe 10 d'une LWPOLYLINE ! (defun GETVAL (grp ele) ; " valeur dxf" de tout entite. (cond ((= (type ele) 'ENAME) ; ENAME (cdr (assoc grp (entget ele)))) ((not ele) nil) ; valeur vide ((not (listp ele)) nil) ; element invalide ((= (type (car ele)) 'ENAME) ; liste entsel (cdr (assoc grp (entget (car ele))))) (T (cdr (assoc grp ele))) ; liste entget ) )
  4. (gile)

    DIM et HATCH

    Salut et bienvenue, La vitre en question ne serait pas le plan XY du SCU courant ? Pour faire une cotation en 3D, il faut placer son SCU dans le plan dans lequel on veut la cotation. Ahhh ! encore coiffé au poteau ! [Edité le 17/3/2006 par (gile)]
  5. (gile)

    CODES DXF (rapides)

    Tu peux aussi rajouter (textscr) avant le dernier (princ) pour ouvrir la fenêtre de texte.
  6. (gile)

    CODES DXF (rapides)

    Salut, Tu veux parler de la seconde invite "Choix des objets: " ? Tu peux utiliser (ssget "_s") pour un seul objet ou (car (entget)) pour avoir directement le nom d'entité : (defun C (2points) PRINTDXF () (mapcar 'print (cons "Résultat de entget l'entité:" (entget (car (entsel))) ) ) (princ) ) Erratum : C'est (ssget "_:S") et non (ssget "_s") [Edité le 17/3/2006 par (gile)]
  7. (gile)

    angle minimum

    Un autre exemple de l'utilisation de rem avec des angles : ;;; EQUALKPI - Évalue si un angle est égal à k pi radians à 0.000000001 près. (defun EQUALKPI (ang) (or (equal (rem ang pi) 0 1e-009) (equal (abs (rem ang pi)) pi 1e-009) ) )
  8. Tu as srûement dû leur donner ton adresse mail pour qu'ils t'envoient le code d'activation de la version d'essai.
  9. (gile)

    3D en cause pour vue 2D

    Par exemple ici
  10. (gile)

    angle minimum

    Salut, Tu trouveras un LISP ici (angle_3pts) qui retourne l'angle relatif décrit par 3 points dans le plan défini par ces 3 points, quelque soit ce plan par rapport au SCU courant (le premier point est le sommet). (angle_3pts '(0 0 0) '(1 0 0) '(1 1 0)) retourne 0.785398 radians (soit 45°) (angle_3pts '(0 0 0) '(1 1 0) '(1 0 0)) retourne aussi 0.785398 radians (soit 45°) (angle_3pts '(0 0 0) '(1 0 0) '(1 0 1)) retourne aussi 0.785398 radians (soit 45°) angle_3pts utilise les routines vec1 et asin définies dans le même sujet. Plus proche de ta méthode (ne fonctionne qu'en 2D): (setq ang (- (angle sommet point1) (angle sommet point2))) ;; si l'angle est négatif : (if (minusp ang) (setq ang (+ (* 2 pi) ang)) ) ;; si l'angle est plus grand que pi radians : (if ((setq ang (- (* 2 pi) ang)) ) Çà devrait marcher quelques soient les valeurs de ANGDIR et ANGBASE. PS : Le setq et le premier if c'est un peu la méthode de Serge (le lien de Tramber), c'est peut-être plus facile à comprendre, mais tellement moins élégant, sacré Serge ! Le second if, c'est pour que soit retourné 45° au lieu de 315° [Edité le 16/3/2006 par (gile)]
  11. De mon côté pas de mystère, je leur avais donné le mien pour télécharger la version d'essai 2005. J'ai transmis ici leur message parceque je pense que c'est une alternative intéressante à AutoCAD LT (prix, LISP ...).
  12. (gile)

    convertir un dwg en bmp

    avec PDF Creator tu peux imprimer aux formats *.pdf *.png *.jpg *.bmp *.pcx *.tif *.ps *. eps
  13. (gile)

    convertir un dwg en bmp

    Salut, Tu peux les imprimer avec PDF Creator.
  14. Ne prends surtout pas çà comme un reproche, c'est juste un conseil. Sans vouloir parler pour les autres j'imagine qu'on a tous commencé comme çà. C'est avec le temps, et une certaine pratique qu'on se préoccupe plus de "l'universalité" d'une routine, que ce soit pour l'utilisation avec différentes versions, ou pour les SCU non paralléles au SCG, pour la restauration de l'environnement initial (variables systéme) en cas d'erreur (ou d'annulation) ou, le plus difficile, pour imaginer toutes les possibilité de fausses manoeuvres. Mais çà fait plaisir de voir comment tu t'accroches et j'espère que tu y prends autant de plaisir que je peux en prendre. Bienvenue au club !
  15. J'ai reçu çà : [Edité le 14/3/2006 par (gile)]
  16. (gile)

    Raccord Arc-Arc-Ligne

    Salut, Merci, mais je n'ai fait qu'un peu de traduction, et désactivé ponctuellement les accrochages aux objets. Je ne trouve pas cette routine très aboutie, à mon goût, il manque des contrôles, elle change systématiquement toutes les lwpolylignes du dessin en polylignes 2D (old-style), en cas d'erreur pendant l'exécution d'une des sous-routines l'accrochages aux objets ne sera pas réactivé (tu en as fait l'expérience) ...
  17. Si çà peut aider, pour connaître les bits dont un entier est la somme, j'avais fait une petit LISP : ;;; BITS_LST Retourne la liste des bits dont un nombre entier est la somme (defun BITS_LST (num / n lst) (setq n 0) (while ( (setq n (1+ n)) ) (while ( (setq n (1- n)) (if (= (logand num (expt 2 n)) (expt 2 n)) (setq lst (cons (expt 2 n) lst)) ) ) lst ) (bits_lst 118) retourne (2 4 16 32 64) J'ai compris il y a peu l'utilisation de bitwise ~ : (zerop (logand 118 (cdr (assoc 70 dxf_ent)))) est équivalent à : (zerop (logand (~ 137) (cdr (assoc 70 dxf_ent)))) Parceque je l'avais comprise avant j'utilise plus volontiers la fonction logand que Boole 1 (logand n m) étant l'équivalent de (Boole 1 n m)
  18. Pour éviter à d'autres les problèmes rencontrés ici ou là. Dès lors que tu publies du code, il peut être chargé par des utilisateurs n'ayant pas forcément la même version (pays) d'AutoCAD que toi. (command "ligne") ne marche que sur une version française, (command "line") ne marche que sur une version anglo-saxone, (command "_line") marche avec toutes les versions. (command "_.line") avec un point après le underscore est encore mieux, c'est la garantie d'appeler la commande originelle même si cette commande a été redéfinie avec la commande "_undefine". Pour obtenir les noms de commande en version internationale tu peux soit lire la ligne de commande après l'appel d'une commande soit utiliser la fonction LISP getcname : (getcname "ligne") -> _line (getcname "_line") -> ligne pour les options, un peu d'imagination et des essais. Et puis parce que vive l'internationalisme ! [Edité le 14/3/2006 par (gile)]
  19. (gile)

    Les lisps ne se chargent pas.

    ou alors, tu y ajoutes des lignes du genre : (load "mon_lisp_1") (load "mon_lisp_2") ... et tu mets tes fichiers lisp (mon_lisp_1.lsp, mon_lisp_2.lsp ...) dans un dossier dont tu indiques le chemin de reccherche, ils seront plus facilement accessibles pour d'éventuelles modifications (c'est comme çà que je procède). [Edité le 13/3/2006 par (gile)]
  20. (gile)

    Variables système / *error*

    En m'inspirant largement de Elpanov Evgeniy, une nouvelle version de SAVE&SET_VAR (à utiliser à la place de setvar si on veut conserver la valeur initiale de la variable pour la restaurer en fin de LISP ou en cas d'erreur) ;;; SAVE&SET_VAR ;;; Enregistre la valeur initiale de la variable système dans une liste ;;; et lui attribue sa nouvelle valeur (si val est non nil) ;;; ;;; ex: (SAVE&SET_VAR "autosnap" nil) (SAVE&SET_VAR "orthomode" 1) ;;; -> SavedSysVarLst : ((setvar "orthomode" 0) (setvar "autosnap" 63)) ;;; -> (getvar "orthomode") : 1 ;;; -> (getvar "autosnap") : 55 (63 - 8 : le repérage polaire est désactivé) (defun save&set_var (var val) (setq SavedSysVarLst (cons (list 'setvar var (getvar var)) SavedSysVarLst) ) (if val (setvar var val) ) ) Et RESTORE_VAR à utiliser enfin de LISP et dans redéfinition de *error* ;;; RESTORE_VAR ;;; Restaure leurs valeurs initiales aux variables système de "SavedSysVarLst" ;;; ;;; ex: (RESTORE_VAR) ;;; -> (getvar "orthomode") : 0 ;;; -> (getvar "autosnap") : 63 ;;; -> SavedSysVarLst : nil (defun restore_var () (mapcar 'eval SavedSysVarLst) (setq SavedSysVarLst nil) )
  21. Très élégant !!! En tout cas beacoup plus que mes save&set_var et restore_var... ... que je me suis empréssé de remanier! [Edité le 13/3/2006 par (gile)]
  22. Encore un très joli coup du grand Bonuscad ;) [Edité le 13/3/2006 par (gile)]
  23. C'est pour çà que je faisait un point au début (que je supprime à la fin) pour être sûr de la première entité.
  24. (gile)

    AutoCAD a t il sa place en 3D ?

    Non, c'est que du solide, extrusion, copier, rotation, intersection (booléenne) puis raccord et section pour la finition. C'est pas le plus compliqué, la moulure sur les traverses chantournées demande plus de travail.
  25. (gile)

    AutoCAD a t il sa place en 3D ?

    Il semble qu'avec la version 2007 AutoCAD fasse un grand pas en avant dans la 3D, mais déjà avec les versions précédentes, un peu de patience et de méthode on peut réaliser d'assez jolies choses, voir les quelques exemples plus haut ou ci dessous (entièrement réalisés avec AutoCAD 2002) http://img44.imageshack.us/img44/2838/tablelouisxv8.png 800x640http://img30.imageshack.us/img30/802/photon.png [/img] [Edité le 12/3/2006 par (gile)]
×
×
  • 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é