-
Compteur de contenus
12 247 -
Inscription
-
Dernière visite
-
Jours gagnés
209
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par (gile)
-
fichiers civil.cui ne veut plus s\'ouvrir
(gile) a répondu à un(e) sujet de rimbo dans AutoCAD Civil
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 ? -
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)]
-
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 ) )
-
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)]
-
Tu peux aussi rajouter (textscr) avant le dernier (princ) pour ouvrir la fenêtre de texte.
-
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)]
-
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) ) )
-
Tu as srûement dû leur donner ton adresse mail pour qu'ils t'envoient le code d'activation de la version d'essai.
-
Par exemple ici
-
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)]
-
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 ...).
-
avec PDF Creator tu peux imprimer aux formats *.pdf *.png *.jpg *.bmp *.pcx *.tif *.ps *. eps
-
Salut, Tu peux les imprimer avec PDF Creator.
-
J\'ai bcp de mal avec entnext entlast
(gile) a répondu à un(e) sujet de cadpolo dans Débuter en LISP
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 ! -
J'ai reçu çà : [Edité le 14/3/2006 par (gile)]
-
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) ...
-
Ecrire du txt parallelement à une ligne tracé ..
(gile) a répondu à un(e) sujet de cadpolo dans Débuter en LISP
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) -
J\'ai bcp de mal avec entnext entlast
(gile) a répondu à un(e) sujet de cadpolo dans Débuter en LISP
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)] -
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)]
-
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) )
-
Gestion d\'erreur universel
(gile) a répondu à un(e) sujet de bonuscad dans Pour aller plus loin en LISP
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)] -
Ecrire du txt parallelement à une ligne tracé ..
(gile) a répondu à un(e) sujet de cadpolo dans Débuter en LISP
Encore un très joli coup du grand Bonuscad ;) [Edité le 13/3/2006 par (gile)] -
J\'ai bcp de mal avec entnext entlast
(gile) a répondu à un(e) sujet de cadpolo dans Débuter en LISP
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é. -
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.
-
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)]
