-
Compteur de contenus
5 029 -
Inscription
-
Dernière visite
-
Jours gagnés
56
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par bonuscad
-
Si tu as réussi à les charger sans messages d'erreurs, c'est simplement un problème d'échelle du type de ligne, voir aussi (si type de ligne est appliqué à des polylignes) que la génération du type de ligne soit actif pour celle-ci. (Cela résout aussi l'orientement dans les arc de polyligne évoqué par FormaBois) Voici un résultat en image
-
Il faut comprendre dans un dossier de recherche DECLARE d'Autocad, ou un nouveau que tu crée.
-
Bonjour, Essayes ces types de lignes en les décompressant au bon endroit. C'est une alternative pour une symbolique de barbules, en plus cela suivra les modifications de l'objet support. NB: Valable aussi sous une version pleine. TypeLigne-Talus.zip
-
Bonjour, Je ne sais pas si ça sera d'une utilité. J'avais crée ça pour déterminer la position d'une ligne de rappel (depuis le centre de la vue,suivant les 4 quadrants trigo) Pour tester coller entièrement le code directement en ligne de commande. ((lambda ( / pt1 pt2 d_x d_y) (setq pt1 (getvar "VIEWCTR") pt2 pt1 d_x (* (getvar "viewsize") 0.3) d_y (* (getvar "viewsize") 0.3)) (while (equal pt2 pt1) (setq pt2 ((lambda ( / key pt p1 p2 p3 p4 alpha) (princ "\nBloc position ") (while (and (setq key (grread T 4 0)) (/= (car key) 3)) (cond ((eq (car key) 5) (redraw) (setq pt (cadr key)) (setq alpha (angle pt1 pt)) (cond ((and (>= alpha 0.0) (< alpha (* pi 0.5))) (setq p1 pt p2 (list (+ (car pt) d_x) (cadr pt)) p3 (list (+ (car pt) d_x) (+ (cadr pt) d_y)) p4 (list (car pt) (+ (cadr pt) d_y)) ) ) ((and (>= alpha (* pi 0.5)) (< alpha pi)) (setq p1 pt p2 (list (car pt) (+ (cadr pt) d_y)) p3 (list (- (car pt) d_x) (+ (cadr pt) d_y)) p4 (list (- (car pt) d_x) (cadr pt)) ) ) ((and (>= alpha pi) (< alpha (* pi 1.5))) (setq p1 pt p2 (list (- (car pt) d_x) (cadr pt)) p3 (list (- (car pt) d_x) (- (cadr pt) d_y)) p4 (list (car pt) (- (cadr pt) d_y)) ) ) (T (setq p1 pt p2 (list (car pt) (- (cadr pt) d_y)) p3 (list (+ (car pt) d_x) (- (cadr pt) d_y)) p4 (list (+ (car pt) d_x) (cadr pt)) ) ) ) (if (> (abs (apply '- (mapcar 'car (list pt1 pt)))) (abs (apply '- (mapcar 'cadr (list pt1 pt))))) (progn (grdraw pt1 (list (car p1) (cadr pt1)) 1) (grdraw (list (car p1) (cadr pt1)) (list (car p1) (cadr pt)) 1) ) (progn (grdraw pt1 (list (car pt1) (cadr p1)) 1) (grdraw (list (car pt1) (cadr p1)) (list (car p1) (cadr pt)) 1) ) ) (grdraw p1 p2 7) (grdraw p2 p3 7) (grdraw p3 p4 7) (grdraw p4 p1 7) ) ) ) (redraw) (cadr key) )) ) ) ))
-
Je viens de voir ce sujet que par ton post de résolu. Je pense que pour régler ce problème de _UNDO, il fallait régler celui-ci DANS le fichier gabarit (DWT)que tu utilise et enregistrer ce dernier avec ce nouveau réglage. De cette manière l'annulation était appliqué à tous tes nouveaux dessins. Ta désinstallation n'était peut être pas nécessaire...
-
On dirait que ta commande est englobée dans un GROUPE. Une procédure automatique?? Donc le 1er U aura pour conséquence de s'appliquer au groupe. Essayes de faire un nouveau profil (dernier onglet dans les options) et voir si ce problème perdure avec un nouveau profil.
-
Demande de sauvegarde sans modifications
bonuscad a répondu à un(e) sujet de Guillaume MASSART dans AutoCAD 2011
Bonjour, Peut être s'orienter vers la variable EXPERT (valeur par défaut 0) J'ai pas testé, mais il n'est pas impossible qu'elle supprime des messages de confirmation lors de macro ou de script. Peut être voir aussi avec la commande NONDEF et REDEF s'il te serait pas possible de contourner ton problème... -
Bonjour, Peux tu faire en transparence, lors de l'utilisation de la commande polyligne, la commande MODIFVAR et interroger la variable UNDOCTL
-
J'ai déjà eu ce problème. Effectivement un contrôle corrigé du dessin crée ce calque $AUDIT-BAD-LAYER. Si l'on purge après ce contrôle ce nouveau calque créé et qu' on relance de nouveau un audit et bien il retrouvera de nouveau la même erreur. IL FAUT après le contrôle, sauvegarder le dessin, QUITTER complétement la session d'Autocad, relancer celui-ci et ouvrir à nouveau le dessin en effectuant ALORS la purge du calque indésirable, et là c'est bon un audit ne trouvera plus d'erreur.
-
Insérer tous les blocs d'un répertoire en mode réseau
bonuscad a répondu à un(e) sujet de Karmelie dans Routines LISP
Bonjour, Un sujet évoqué le mois dernier: Comment imprimer rapidement une liste de blocs? ou comment imprimer une "planche contact" de blocs.. Ne répond peut être pas exactement a tes dimensions voulues (de mémoire la routine fait des espacement A4) Si tu n'arrive pas à ajuster le code, reviens nous voir. -
Normalement elle devrait fonctionner... ! Si tu ne prends pas l'échelle proposée par défaut, il faut rentrer le rapport sous forme de liste de point en X,Y par exemple 125,1 la virgule sert de séparateur. Ce n'était pas important, mais juste plus simple pour moi pour travailler dessus avec du code lisp. Si ça te dérange pas, l'insertion déformé en bloc est le plus simple et suffisante alors. Dans ton premier message il était stipulé : Donc il faut que j'étire ma courbe mais sans perdre mes coordonnées . j'avais envisagé ma réponse dans cet optique. Sauf qu'après relecture je m’aperçoit que j'aurais du appliquer la rotation du SCU autour de l'axe des X au lieu de celui des Y comme je l'ai fais, de cette façon je n'aurait pas eu besoin de modifier la courbe originale avec MILLE_X
-
Bonsoir, Une info de "Le Matin. Si on veut lire entre les lignes, ne serait ce pas le corium qui rencontrerait une nappe phréatique? Situation à mon avis très critique, la pollution risque de pulvériser celle de Tchernobyl si ça explose ...
-
Pour les SCU c'est effectivement une solution. Le problème est que cela permet SEULEMENT de compresser pour déformer l'échelle sans modifier les cordonnées. Or dans ton fichier de Test du voudrait l'inverse. Comme j'ai bien envie de voir la courbe du CAC40 faire un beau plongeon Cela reste possible mais il va falloir appliquer un facteur de 1000 au coordonnées X pour décompresser la courbe. Dans ton fichier de test utilise la commande CONVERT pour convertir ta polyligne2D en LWPolyligne. Copie-colle le code qui suit en ligne de commande (defun c:mille_x ( / ent dxf_ent typ_ent up_def pt_lst n new_lst) (while (not (setq ent (entsel "\nChoisir une polyligne2D: ")))) (setq typ_ent (cdr (assoc 0 (setq dxf_ent (entget (car ent))))) new_lst '()) (cond ((eq typ_ent "LWPOLYLINE") (setq up_def (vl-remove-if '(lambda (x) (or (= (car x) 10) (= (car x) 40) (= (car x) 41) (= (car x) 42))) dxf_ent)) (setq pt_lst (vl-remove-if-not '(lambda (x) (or (= (car x) 10) (= (car x) 40) (= (car x) 41) (= (car x) 42))) dxf_ent)) (while pt_lst (setq new_lst (append (mapcar '(lambda (x / y) (setq y (nth x pt_lst)) (if (zerop x) (list 10 (* (cadr y) 1000.0) (caddr y)) y)) '(0 1 2 3)) new_lst)) (setq pt_lst (cddddr pt_lst)) ) (setq up_def (subst (cons 90 (/ (length new_lst) 4)) (assoc 90 up_def) up_def)) (entmod (append (subst (cons 90 (/ (length new_lst) 4)) (assoc 90 up_def) up_def) new_lst)) ) (T (princ "\nN'est pas une polyligne 2D optimisée!") ) ) (princ) ) Utilise alors la commande MILLE_X au clavier Fais un zoom étendu. Tu auras ta courbe décompressée en X Par la suite pour jouer avec les SCU pour compresser la courbe tu peux utiliser le code suivant: (defun c:compress_view ( / echll) (initget 8) (setq echll (getpoint "\nEchelle de déformation <1000,1>: ")) (if (eq echll ()) (setq echll '(1000 1))) (setvar "ucsfollow" 0) (command "_.ucs" "_world") (command "_.ucs" "_y" (angtos (atan (/ (sqrt (- (* (car echll) (car echll)) (* (cadr echll) (cadr echll)) ) ) (cadr echll) ) ) 0 4 ) ) (if (tblsearch "UCS" (strcat (itoa (fix (car echll))) "-" (itoa (fix (cadr echll))))) (command "_.ucs" "_save" (strcat (itoa (fix (car echll))) "-" (itoa (fix (cadr echll)))) "_yes") (command "_.ucs" "_save" (strcat (itoa (fix (car echll))) "-" (itoa (fix (cadr echll))))) ) (command "_.plan" "_current") (command "_.ucs" "_previous") ) Avec la commande COMPRESS_VIEW tu pourras alors déformer ta courbe sans changer les coordonnées Avec le facteur 1000pour1 (1000,1) tu retrouvera ta vue initiale Si tu prends un facteur de 100,1 tu auras une courbe bien lisible.
-
Pour les SCU c'est effectivement une solution. Le problème est que cela permet SEULEMENT de compresser pour déformer l'échelle sans modifier les cordonnées. Or dans ton fichier de Test du voudrait l'inverse. Comme j'ai bien envie de voir la courbe du CAC40 faire un beau plongeon Cela reste possible mais il va falloir appliquer un facteur de 1000 au coordonnées X pour décompresser la courbe. Dans ton fichier de test utilise la commande CONVERT pour convertir ta polyligne2D en LWPolyligne. Copie-colle le code qui suit en ligne de commande (defun c:mille_x ( / ent dxf_ent typ_ent up_def pt_lst n new_lst) (while (not (setq ent (entsel "\nChoisir une polyligne2D: ")))) (setq typ_ent (cdr (assoc 0 (setq dxf_ent (entget (car ent))))) new_lst '()) (cond ((eq typ_ent "LWPOLYLINE") (setq up_def (vl-remove-if '(lambda (x) (or (= (car x) 10) (= (car x) 40) (= (car x) 41) (= (car x) 42))) dxf_ent)) (setq pt_lst (vl-remove-if-not '(lambda (x) (or (= (car x) 10) (= (car x) 40) (= (car x) 41) (= (car x) 42))) dxf_ent)) (while pt_lst (setq new_lst (append (mapcar '(lambda (x / y) (setq y (nth x pt_lst)) (if (zerop x) (list 10 (* (cadr y) 1000.0) (caddr y)) y)) '(0 1 2 3)) new_lst)) (setq pt_lst (cddddr pt_lst)) ) (setq up_def (subst (cons 90 (/ (length new_lst) 4)) (assoc 90 up_def) up_def)) (entmod (append (subst (cons 90 (/ (length new_lst) 4)) (assoc 90 up_def) up_def) new_lst)) ) (T (princ "\nN'est pas une polyligne 2D optimisée!") ) ) (princ) ) Utilise alors la commande MILLE_X au clavier Fais un zoom étendu. Tu auras ta courbe décompressée en X Par la suite pour jouer avec les SCU pour compresser la courbe tu peux utiliser le code suivant: (defun c:compress_view ( / echll) (initget 8) (setq echll (getpoint "\nEchelle de déformation <1000,1>: ")) (if (eq echll ()) (setq echll '(1000 1))) (setvar "ucsfollow" 0) (command "_.ucs" "_world") (command "_.ucs" "_y" (angtos (atan (/ (sqrt (- (* (car echll) (car echll)) (* (cadr echll) (cadr echll)) ) ) (cadr echll) ) ) 0 4 ) ) (if (tblsearch "UCS" (strcat (itoa (fix (car echll))) "-" (itoa (fix (cadr echll))))) (command "_.ucs" "_save" (strcat (itoa (fix (car echll))) "-" (itoa (fix (cadr echll)))) "_yes") (command "_.ucs" "_save" (strcat (itoa (fix (car echll))) "-" (itoa (fix (cadr echll))))) ) (command "_.plan" "_current") (command "_.ucs" "_previous") ) Avec la
-
Bonjour, Pour une LT, je viens d'essayer de transcrire en Diesel le même fonctionnement de ELP en lisp. Si ça se limite à des segments droit de Lignes ou LwPolylignes (sauf les cercles), on obtient un résultat identique. ^C^C_.ucs;_world;_.id;_near;\_.ucs;_entity;$M=$(getvar,LASTPOINT);_.snapang;;_.orthomode;1;_.line;*$M=$(getvar,LASTPOINT);_none;\;_.orthomode;0;_.snapang;0;_.ucs;_previous;_.ucs;_previous;_.line;;^Z Quelques explications L'usage du SCU général en début de macro se justifie par l'usage de * devant les coordonnées retourné par LASTPOINT(se symbole force les coordonnées dans le système général quelque soit le système en cours utilisé). Cette astuce permet à la macro de fonctionner quelque soit le SCU. Est ce le style de fonctionnement que tu attendais?
-
Bonjour, Voici comment je l'ai compris: nouveau contenu -> (anciennement: nouveaux sujets) contenu du jour -> (anciennement: nouvelles réponses) Me suis-je fourvoyé dans une mauvaise interprétation?
-
Vérifier la valeur de la variable ATTREQ. Suivant sa valeur, les attributs par défaut sont appliqués sans aucune demande.
-
Peu importe l'outil utilisé (DWG To PDF, ou PDFCreator), le poids du fichier et fortement lié à la densité ppp (Point Par Pouce) choisie dans les paramètres des options. Dépasser les 600ppp me semble incongru (correspondant à la qualité d'une impression laser) 300 correspondant généralement à du jet d'encre. En tout cas se tenir à te telles valeurs reste acceptable pour des PDF de qualité (imprimé à l'échelle 1...) sans que sa taille deviennent handicapante. En tout cas plus tu baissera ta densité, plus ton fichier sera léger mais de qualité plus médiocre.
-
Comment imprimer rapidement une liste de blocs?
bonuscad a répondu à un(e) sujet de sebu38 dans AutoCAD 2011
Bonjour, Regarde cette réponse au sujet de l'insertion en masse -
Lisp pour ajuster la taille du papier du pdf à la taille du dessin
bonuscad a répondu à un(e) sujet de autospeed dans Routines LISP
Bonjour, Sous XP il faut dans les propriété du système, dans l'onglet "Avancé" ajouter les variable d'environnements avec la déclaration appropriée: GS_LIB C:\Program Files\gs\gs9.02\lib et GS_PROG C:\Program Files\gs\gs9.02\bin\gswin32.exe Sous Seven (en 64) cela doit être à peu près la même chose... (gswin64.exe si ça existe?) -
[Résolu] Problème pour combiner deux listes
bonuscad a répondu à un(e) sujet de prospoule dans Pour aller plus loin en LISP
Bonjour, Ton idée de départ avec foreach est bonne. Voici comment tu pourrais la tourner. (setq liste1 '("a" "b" "c" "s" "u" "y")) (setq liste2 '("1" "2" "3" "4" "0")) (setq liste3 ((lambda (l1 l2 / l0) (setq l0 nil) (foreach n l1 (list (foreach nj l2 (setq l0 (cons (strcat n nj) l0))))) (reverse l0) ) liste1 liste2) ) -
Bonjour, Changes l'expression pt_lst (list (trans (cdr (assoc 10 dxf_ent)) (car ent) 1)) par pt_lst (list (osnap (trans (cadr ent) (car ent) 01) "_near")) Si la sélection se fait sur un texte ou un attribut constituant du bloc, pour que le code fonctionne, on peut l'envisager sous cette forme: (defun c:lead_block-name ( / ent dxf_ent typ_ent blk_name pt_lst pt) (while (null (setq ent (entsel "\nChoix de l'entité: ")))) (setq dxf_ent (entget (car ent)) typ_ent (cdr (assoc 0 dxf_ent)) ) (if (eq typ_ent "INSERT") (progn (setq blk_name (cdr (assoc 2 dxf_ent)) pt_lst (osnap (trans (cadr ent) (car ent) 0) "_near") ) (if (not pt_lst) (setq pt_lst (list (osnap (trans (cadr ent) (car ent) 0) "_ins"))) (setq pt_lst (list pt_lst)) ) (while (setq pt (getpoint (car pt_lst) "\nIndiquez le point suivant: ")) (setq pt_lst (cons pt pt_lst)) ) (command "_.leader") (foreach n (reverse pt_lst) (command "_none" n)) (command "" blk_name "") ) (princ "\nEntité n'est pas une insertion de bloc!") ) (prin1) )
-
Hé oui,ce n'est pas résolu! Des nappes apparaissent en surface Est ce du aux récents séismes sur la la côte est des États-Unis? Ce puits (et d'autres plus anciens) ne demandent qu'à se ré-ouvrir au moindre sursaut. Il faut dire que l'activité sismique est importante ses derniers temps... http://fr.rian.ru/science/20110821/190597776.html http://naturealerte.blogspot.com/2011/08/07082011indonesie-18-volcan-sont-en.html http://lesmoutonsenrages.fr/2011/08/04/720-seismes-en-1-semaine-aux-iles-canaries-reunion-durgence/#more-9480 Pour ne citer que les plus révélateurs. Au moins on peut supposer que l'activité humaine n'y est pour rien dans ce regain d'activité. C'est déjà un bon point, on ne peut que constater (et subir)! Ha la la! , le monde bouge en ce moment, et dans tout les sens...
-
Symboles le long d\'un pline à distance x
bonuscad a répondu à un(e) sujet de Karmelie dans AutoCAD 2011
Bonsoir, Regardes ce sujet . Après une adaptation, ça pourrait correspondre... -
S'informer sur le net (est pour l'instant, d'ici qu'ils censurent) notre seule outil d'information contre la lobotomisation des médias officiel. J'aime bien consulter quelque sites qui livrent des infos croustillantes. Je vous les donne en partage. Celui ci s’emploie à écumer les infos du net et relayer les infos les plus marquantes/insolites http://lesmoutonsenrages.fr/ Celui-la à suivre l'état de Fukishima http://fukushima.over-blog.fr/ Et ce dernier à avoir des analyses du monde financier (il est un peu plus technique et je ne comprends pas toujours tous les termes, mais reste croustillant) http://liesidotorg.wordpress.com/ Je ne dis pas qu'ils sont à prendre aux pied de la lettre, mais ils offrent un éclairage sur l'info différent. Si de votre coté, vous avez des liens sympas à partager ...
