-
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)
-
Besoin d aide pour la variable ligne cachee
(gile) a répondu à un(e) sujet de willfrca dans AutoCAD 2000 à 2002
C'est pas plutôt TEXTFILL ? :casstet: De toutes façon pour le tracé de l'ombrage en lignes cachées, quelque soit la valeur de TEXTFILL ou FILLMODE il n'y a pas de remplissage des textes. C'est pour çà qu'en utilisant SOLPROF (même si cette commande est rébarbative), gel dans la fenêtre du calque des objets sources et du calque PH-... et tracé de l'ombrage Filaire, les textes sont remplis et les lignes cachées sont cachées. Pour Willfrca, le fil dont je parlais et ici un autre fil sur SOLPROF. [Edité le 10/2/2006 par (gile)] -
S'il s'agit d'insérer une image dans un dessin AutoCAD, tu peux faire Menu Insertion -> Image raster.... Ensuite pour l'orienter et la mettre à l'échelle, tu peux utiliser la commande Aligner (Modification -> Opérations 3D -> Aligner) en alignant une ligne de l'image dont tu connais la longueur avec une ligne dessinée dans AutoCAD suivant l'orientation et la longueur voulue. Tu peux ensuite, comme dit plus haut, estomper l'image pour la décalquer plus facilement (commande AJUSTEIMAGE). En espérant avoir répondu à ta question.
-
J'ai fait une petite synthèse en ajoutant des options : - possibilité de sélectionner certains textes à l'écran ou les sélectionner tous en faisant "Entrée" ou "Espace" ou "Retour chariot" ou clic droit. - possibilité de choisir entre un fichier .xls ou .txt (defun c:txt2file (/ ss typ file ent cnt separ str X Y CALQ HAUT STYL) (Prompt "\n\nSélectionner les Textes à extraires ou ..." ) (if (not (setq ss (ssget '((0 . "TEXT,MTEXT"))))) (setq ss (ssget "_X" '((0 . "TEXT,MTEXT")))) ) ;if not (if ss (progn (initget "Txt Xls") (setq typ (getkword "\nSpécifiez le type de fichier [Txt/Xls]: ")) (if (setq file (open (getfiled "Créez ou sélectionnez un fichier" "" typ 1) "w" ) ) (progn (setq cnt 0 str "" SEPAR (if (= typ "Txt") "," "\t" );if );setq (while (setq ent (ssname ss cnt)) (setq str (cdr (assoc 1 (entget ent))) X (rtos (nth 1 (assoc 10 (entget ent))) 2 8) Y (rtos (nth 2 (assoc 10 (entget ent))) 2 8) CALQ (cdr (assoc 8 (entget ent))) HAUT (rtos (cdr (assoc 40 (entget ent))) 2 4) STYL (cdr (assoc 7 (entget ent))) cnt (1+ cnt) ) ;setq (write-line (strcat str separ X separ Y separ CALQ separ HAUT separ STYL) file ) ) ;while (close file) ) ; progn (alert "Le fichier na pas été créé") ) ) ; if FILE (alert "Le dessin ne contient ni texte ni textmult.") ) ; if SS (princ) ) ;defun ;;; ******************************************************************** (prompt "\nTaper TXT2FILE pour exporter les TEXTES dans un fichier .TXT ou .XLS" ) (princ)
-
Salut et bienvenue, As tu essayé de simplement changer la couleur de tes objets ou de manière plus rigoureuse de changer la couleur du (ou des) calque(s) sur lequel tu dessine ?
-
Salut Christian, Bien vu le coup de récupérer aussi le point d'insertion et les propriétés, encore une jolie petite construction collective :) Sinon tu n'as pas eu de problème avec le code que j'avais fait, çà marche quoi ? rassure moi!
-
Besoin d aide pour la variable ligne cachee
(gile) a répondu à un(e) sujet de willfrca dans AutoCAD 2000 à 2002
Salut, Il y a eu un fil à ce sujet il y a peu. À mon avis, la solution, pour les lignes cachées comme pour le remplissage des texte, est de passer par SOLPROF. -
Vraiment, je ne comprends pas où est le problème, j'ai refais des tests, çà fonctionne. Si tu pouvais en dire plus sur les messages d'erreur. Tu peux essayer aussi le code suivant, c'est le même auquel j'ai rajouté des contrôles pour essayer de voir à quel moment çà plante. Merci de me tenir au courant. (defun c:txt2xl (/ ss file ent cnt str) (setq ss (ssget "_X" '((0 . "TEXT,MTEXT")))) (if ss (if (setq file (open (getfiled "Créez ou sélectionnez un fichier" "" "xls" 1) "w" ) ) (progn (setq cnt 0 str "" ) (while (setq ent (ssname ss cnt)) (setq str (strcat (cdr (assoc 1 (entget ent))) "\n" str)) (setq cnt (1+ cnt)) ) (princ str file) (close file) ) (alert "Le fichier na pas été créé") ) (alert "Le dessin ne contient ni texte ni textmult.") ) (princ) )
-
Je m'incline encore une fois devant l'étendue des connaissances d'Eric. :exclam: Mais j'ai voulu essayer de comprendre, après quelques essais, il me semble que c'est AutoLISP qui ne reconnaît pas la commande "xplode".
-
Fenêtre de présentation vide sans objet
(gile) a répondu à un(e) sujet de Mysticdoudou dans AutoCAD 2005
À tout hasard, as-tu essayé un zoom étendu dans ta fenêtre (espace objet de la présentation) ? -
Curieux en effet, j'ai testé hier soir çà marchait. Là je ne peux pas re-essayer, je n'ai qu'une LT sous la main. Le code de la deuxième ligne est un filtre de sélection pour sélectionner les textes et textes multilignes. PS : Il faut créer un nouveau fichier Excel dans la boite de dialogue qui devrait s'ouvrir au lancement de la commande dans AutoCAD.
-
Salut, Je te réponds en "aveugle", je ne peux pas tester, ici il n'y a qu'une LT. (defun c:xpbloc (/ ss) (setq ss (ssget "_X" '((0 . "INSERT")))) (command "xplode" ss "" "" "H" "") ) ou (defun c:xpbloc () (ssget "_X" '((0 . "INSERT"))) (command "xplode" (ssget "_X" '((0 . "INSERT")))"" "" "H" "") ) Je ne suis pas sûr du nombre de "" après ss ou (ssget "_X" '((0 . "INSERT")))"" pour valider la sélection ; il faut essayer. [Edité le 9/2/2006 par (gile)]
-
Pour sélectionner tous les blocs du dessin : (ssget "_X" '((0 . "INSERT"))) Pour ne sélectionner que ceux qui sont sur des calques non gelés : (ssget "_A" '((0 . "INSERT"))) Mais tu connais çà, non ?
-
Salut, Peut-être devrais-tu préciser un peu ce que tu veux faire, parceque là comme çà, j'aurais tendance à dire qu'avec les filtres de sélections on doit pouvoir faire les mêmes choses qu'avec _qselect.
-
Salut, Je te propose un petit LISP très vite fait, il y a sûrement moyen de faire mieux. Pour l'utiliser (j'explique comme si tu étais un débutant complet, ne t'en offusque pas si ce n'est pas le cas), Tu copie le code ci dessous dans le bloc-note, tu l'enregistre sous Txt2xl.LSP (par exemple), dans AutoCAD, dans le menu Outils -> Charger une application tu charge ton fichier .LSP et tu tapes txt2xl à la ligne de commande. (defun c:txt2xl (/ ss file ent cnt str) (setq ss (ssget "_X" '((0 . "TEXT,MTEXT")))) (if ss (progn (setq file (open (getfiled "Créez ou sélectionnez un fichier" "" "xls" 1) "w" ) ) (setq cnt 0 str "" ) (while (setq ent (ssname ss cnt)) (setq str (strcat (cdr (assoc 1 (entget ent))) "\n" str)) (setq cnt (1+ cnt)) ) (princ str file) (close file) ) ) (princ) ) PS : Telle quelle, la routine sélectionne tous les objets "Texte" et "Texte multiligne" du dessin. Si tu veux ne sélectionner que les textes qui sont sur des calques non gelés remplace : (setq ss (ssget "_X" '((0 . "TEXT,MTEXT")))) par (setq ss (ssget "_A" '((0 . "TEXT,MTEXT")))) PPS : Comme le dit Rebcao, les attributs de bloc offrent plus de possibilités que les textes et une gestion plus aisée sans programmation. [Edité le 8/2/2006 par (gile)]
-
J'ai encore modifié le LISP ci-dessus pour une nouvelle version (la dernière ?) intégrant les sous-routines ANG2STR et STR2ANG qui permettent l'affichage et les entrées dans le système d'unités angulaires courant et les calculs en radians pour conserver toute la précision d'AutoCAD. Cette petite application est aussi disponible dans les Téléchargements proposés par les membres sous la forme d'un unique fichier compilé : Res_hel.vlx.
-
Merci :red: Le "novice" que je suis est très touché par ce compliment venant du puit de connaissance que peut être un aussi ancien utilisateur d'AutoCAD que ce cher Décapode. "Le meilleur", je ne pense pas, il y a des lipeurs sur CADxp de qui j'ai encore beaucoup à apprendre.
-
tracer ligne depuis son milieu ?
(gile) a répondu à un(e) sujet de Seb. dans AutoCAD LT 2000 à LT 2002
Salut, La seconde proposition marche aussi, il faut veiller à supprimer tous les espaces, et au copier/coller il en subsiste un entre le B et le A de SNAPBASE. Avec la première la distance entre les deux points détermine la longueur totale de la ligne, avec la seconde, la moitié de sa longueur. PS le * au début de la première fait que la commande se répète, il est absent de la seconde. -
CADxp victime de son succès :D Encore BRAVO au big BOSS !!!
-
Je ne parviens pas à poster une réponse ce soir, j'ai systématiquement ce message :
-
Encore une petite amélioration. La polyligne créée herite désormais des propriétés (calque, type de ligne, couleur) du premier objet sélectionné. Le code du premier message a été modifié. On peut aussi le télécharger directement ou à partir des Téléchargements proposées par les membres. [Edité le 5/2/2006 par (gile)]
-
(setq ss (ssget '((-4 . " (0 . "LINE") (-4 . " (0 . "POLYLINE") (70 . 8) (-4 . "and>") (-4 . " (0 . "LWPOLYLINE") (70 . 0) (-4 . "and>") (-4 . "or>") ) ) )
-
** Menus et boutons rapides avec le COMPILO **
(gile) a répondu à un(e) sujet de Tramber dans Personnalisation, macros, DIESEL
Super, çà marche. Je ne pensais pas que le compilo était sensible à la casse. Peut-être un (strcase) bien placé pourait corriger ce petit défaut. Je me retrouve donc avec 4 "échap" ;) -
** Menus et boutons rapides avec le COMPILO **
(gile) a répondu à un(e) sujet de Tramber dans Personnalisation, macros, DIESEL
Salut Tramber, J'ai voulu essayer, mais je n'y arrive pas. Où me goure-je ? Je fais un fichier LISP avec l'éditeur Vlisp : Et quand je veux compiler, j'ai 6 erreurs, du type : 500x178http://img397.imageshack.us/img397/567/compilo41qn.png[/img] [Edité le 5/2/2006 par (gile)] -
C'est moi qui remercie les testeurs :) Grace à vos remarques pertinentes le LISP a pu être corrigé et ammélioré.
-
Précision : Les codes donnés dans le premier messages ne sont pas tout à fait exacts en ce qui concerne la traduction dans le SCG des sommets d'une lwpolyligne, ils ne prennent pas en compte l'élévation de l'objet. Soit nom_ent le nom d'entité d'une lwpolyligne et lst_ent celui de sa liste entget, pour chaque sommet (code dxf 10) de la polyligne les coordonnées dans le SCG s'obtiennent par : (trans (list (car (cdr (assoc 10 lst_ent))) (cadr (cdr (assoc 10 lst_ent))) (cdr (assoc 38 lst_ent)) ) nom_ent 0 ) La liste des sommets de la polyligne dans le SCG : (mapcar '(lambda (pt) (trans (list (car pt) (cadr pt) (cdr (assoc 38 lst_ent))) nom_ent 0 ) ) (mapcar 'cdr (vl-remove-if-not '(lambda (x) (= (car x) 10)) list_ent ) ) ) [Edité le 3/2/2006 par (gile)]
