Charly21000
Membres-
Compteur de contenus
35 -
Inscription
-
Dernière visite
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par Charly21000
-
Comment attacher un xref avec un calque du même nom
Charly21000 a répondu à un(e) sujet de naito073 dans AutoCAD 2010
Là, en effet, je comprends ta demande... J'espère que tu trouveras ton bonheur. Bon courage. -
Comment attacher un xref avec un calque du même nom
Charly21000 a répondu à un(e) sujet de naito073 dans AutoCAD 2010
Salut Kinato, Personnellement je n'ai pas de programme pour cela... Lorsque que je travaille en synthèse technique, je superpose en règle générale entre 10 et 15 plans (maxi 30 mais c'est rare) en références externes. Chacune d'entre elles est ventilée dans un calque portant le numéro du plan. Je crée moi-même ces calques en les nommant XREF_"le numéro du plan". Il est clair que ça prend un peu de temps mais avec les raccourcis clavier "Ctrl+C" et "Ctrl+V", je dois mettre 1 à 2 secondes maxi par calque, et donc par référence externe et j'avoue que cette manip ne me dérange pas vraiment... Je n'ai pas du tout répondu à ta demande, mais je voulais te faire part de ce retour d'expérience. A la prochaine. -
Salut tout le monde, HELP!!! Je souhaite dessiner des plinthes en périphérie de pièces d'un projet. J'ai essayé différentes techniques : - en la créant en 3D dans un modèle générique métrique mais le soucis est aux niveaux des raccords d'angle je n'arrive pas joindre correctement les plinthes entre elles et c'est super long... ; - en la créant en 2D dans un profil métrique que j'insère en profil en relief mais j'ai aussi des soucis pour régler les raccordements, ajuster les longueurs, exemple si j'ai une cloison de 30 ml avec des cloisons perpendiculaire à celle-ci, il va me tracer un plinthe de 30ml sans s'arreter au niveau des cloisons ; - en créant un bord de dalle mais j'ai des soucis au niveau des portes et je dois en plus scinder tous les planchers pièce par pièce ; - en créant un type de mur incorporant un profil en relief dans la structure, mais j'ai des cloisons démarrant à 2cm du plancher (joints de dilatation) et je ne peux pas placer mon profil à -0.02 (en dehors de la cloison comme le dit si bien Revit). Comment faites vous habituellement?
-
eTransmit - Conservation des XREF en XREF
Charly21000 a répondu à un(e) sujet de Charly21000 dans AutoCAD 2013
J'avais déjà essayé de cette manière mais ça ne marchait pas et là je réessaye et ça fonctionne... J'ai dû me planter quelque part. Impec, merci beaucoup!!! -
eTransmit - Conservation des XREF en XREF
Charly21000 a répondu à un(e) sujet de Charly21000 dans AutoCAD 2013
-
Salut tout le monde, Je viens de changer ma version AutoCAD 2006 pour une version 2013 et je rencontre un souci concernant la création de mes eTransmit. En effet, ces derniers se créent mais lors de leurs ouvertures, je constate que les références externes sont converties en bloc. Existe-t-il une configuration à faire pour que les références externes restent des références externes et non des blocs dans l'eTransmit? Merci d'avance pour vos réponses.
-
Création d'un list de nettoyage
Charly21000 a répondu à un(e) sujet de Charly21000 dans LISP et Visual LISP
En tout cas, merci beaucoupe Patrick pour ce merveilleux programme, on sent les années d'expériences... Chapeau!!! Malheureusement, en ce qui me concerne, je le trouve bien trop compliqué et complet pour moi... Un programme définit comme ci-dessous me suffirait amplement : 1°/ RFORM : exécution du lisp "rform" (disponible en téléchargement ici - Merci Gile pour ce merveilleux programme très utile) (suppression fichier forme .shx manquant) ; 2°/ UI : unités du dessin impérativement en cm ; 3°/ XR : détacher toutes les références externes (qu'elles soient chargées, déchargées, manquantes...) ; 4°/ IM : détacher toutes les images (qu'elles soient chargées, déchargées, manquantes...) ; 5°/ UR : purger tous les éléments du fichier ; 6°/ CONTROLE : contrôler et corriger toutes les erreurs du fichier ; 7°/ Ctrl+S : Sauvegarder les fichiers en version 2004. Merci d'avance. Charly. -
Création d'un list de nettoyage
Charly21000 a répondu à un(e) sujet de Charly21000 dans LISP et Visual LISP
Merci pour ce lien. En effet, ce lisp parait hyper complet voir peut-être même trop pour moi... :huh: Il y a des options dont je ne connais pas l'utilité dans la première boite de dialogue : - purger les appli ; - liens dxe ; - proxys ; - zombies blocs et dictionnaires ; - wipeouts ; - effacer XDATAS ; - nettoyer dictionnaires ; - supprimer dictionnaires. (c'est quoi tout ça??? :blink: ) De plus, quand le programme a terminé le nettoyage, j'ai le message suivant dans la ligne de commande : Commande: Erreur : Erreur Automation Clé introuvable Commande: Commande: C'est normal? D'avance, merci de vos aides. Charly -
Bonjour à tous, En ayant assez de faire les même manip pour chaque plan reçu, je fais appel à votre savoir-faire. N'étant pas programmeur, je suis à la recherche d'une personne qui pourrait créer un lisp pour moi. Ce programme nommé "net" effecturait les commandes suivantes : 1°/ RFORM : exécution du lisp "rform" (disponible en téléchargement ici - Merci Gile pour ce merveilleux programme très utile) (suppression fichier forme .shx manquant) ; 2°/ UI : unités du dessin impérativement en cm ; 3°/ XR : détacher toutes les références externes (qu'elles soient chargées, déchargées, manquantes...) ; 4°/ IM : détacher toutes les images (qu'elles soient chargées, déchargées, manquantes...) ; 5°/ UR : purger tous les éléments du fichier ; 6°/ CONTROLE : contrôler et corriger toutes les erreurs du fichier ; 7°/ Ctrl+S : Sauvegarder les fichier en version 2004. Quelqu'un peut-il m'aider? Merci d'avance. Détail du lisp RFORM: ;;; RFORM (gile) ;;; Remplace les fichiers de forme shx introuvables par ltypeshp.shx (defun c:rform (/ name font ext) (vl-load-com) (or *acdoc* (setq *acdoc* (vla-get-ActiveDocument (vlax-get-acad-object))) ) (vlax-for ts (vla-get-TextStyles *acdoc*) (setq name (vla-get-Name ts) font (vla-get-FontFile ts) ) (if (and (= 1 (logand 1 (cdr (assoc 70 (tblsearch "STYLE" name))))) (setq ext (vl-filename-extension font)) (= (strcase ext) ".SHX") (not (findfile font)) ) (vla-put-FontFile ts "ltypeshp.shx") ) ) (princ) )
-
Tu trouveras un première ébauche de mon fichier via ce lien : http://dl.free.fr/qbTBaLmWJ
-
En effet, je n'est plus les contraintes définies par les versions d'AutoCAD supérieure à 2006. Sur quelle version est apparue cette nouvelle commande? 2007? J'ai cherché dans "Style de côtes" la possibilité de forcer le sens de la côte mais je n'est rien trouvé. Le bloc que je suis en train de créer n'est pas un bloc "porte". C'est un bloc dynamique permettant de définir des rayons de giration avec les paramètres suivants : - point d'insertion ; - orientation de la voie avant braquage ; - quantité d'obstacles à éviter pour effectuer la manoeuvre ; - angle de sortie de l'engin. Pour un braquage, j'utilise 3 cercles, pour 2 braquage, j'utilise 6 cercles, pour N braquages, j'utilise Nx3 cercles (intérieur, axe, extérieur) et j'aimerai tous les remplacer par des arcs afin de dessiner exaclement la voie que doit prendre un engin pour effectuer la plus courte manoeuvre pour allez d'un point A à un point B avec N obstacles et un rayon de giration défini par le constructeur. Voilà l'objectif de ce bloc.
-
HELP!!! Personne n'a d'autres propostitions à me suggérer pour cette intérrogation???
-
Il existe peut-être une autre possibilité. Celle-ci consiste à créer 2 lignes et de remplacer l'arc par une cotation angulaire que l'on configure de manière à ne faire apparaitre que l'arc de cotation. On crée ensuite un paramètre et une action de rotation que l'on applique uniquement sur une ligne. Mais je rencontre un autre problème. La cotation angulaire côte au plus court (maximum côté : 180°). Cela ne marche donc pas pour des arc devant développer un angle de plus de 180°... Donc ça ne fonctionne déjà un peu mieu... Mais pas encore complètement... :exclam:
-
J'avais bien lu ton sujet avant de poster le mien mais je rencontrais des problèmes pour utiliser le fichier "porte", c'est pour cela que j'ai posté un nouveau sujet. Le fichier "porte" disponible via le lien doit être enregistré avec une version supérieure à 2006 puisque je n'arrive pas à l'ouvrir via AutoCAD. Pour remédier à ce problème, j'utilise "TrueView 2011" qui me propose la conversion du fichier en 2004. Mais après cette conversion et son lancement sur AutoCAD, j'obtiens ce message : ---------------------------------------------------------------------------------------------------------------------------------------- porte.dwg contient des éléments de création. Ouvrir dans l'éditeur de blocs? ---------------------------------------------------------------------------------------------------------------------------------------- Quand je clic "oui" : j'entre dans l'éditeur du bloc "porte" mais il ne contient aucun objet (pas de lignes ni d'arc ni d'autres choses) ; Quand je clic "non" : je suis dans l'EO avec 2 lignes et 1 arc mais pas de bloc dynamique ; J'ai fait le test en insérant le bloc "porte" dans l'EO du fichier "porte", j'obtiens un bloc non dynamique, ce qui est étrange puisqu'en entrant dans l'éditeur de ce nouveau bloc inséré, j'obtiens 2 lignes, 1 arc, 1 paramètre de rotation, 1 poignée de visibilité et 1 action de rotation. J'ai essayé de : - réinitialiser le bloc, ça ne change rien. - copier ce bloc vers un nouveau fichier, le bloc reste non dynamique alors qu'en entrant de nouveau dans l'éditeur de bloc, je vois les lignes et arc, le paramètre de rotation, la poignée de visibilité et l'action. C'est un problème de version d'AutoCAD? Quelle version as-tu? Quelqu'un peut m'aider??? :calim:
-
Bonjour à tous, Je souhaite, avec AutoCAD 2006, créer un bloc dynamique permettant d'ajuster la longueur d'un arc sans changer ni les coordonnées du centre de cet arc, ni le rayon. Si vous avez des idées... Charly.
-
Bonjour, Les nuages de révision sont, pour AutoCAD, considérés comme des polylignes. Par concéquent, il n'y a aucune manière de filtrer les nuages de révision seul. Pour te faciliter la tâche, je te conseille de : - rendre le calque "0" courant ; - geler tous les autres calques ; - de filter (commande "fi") toutes les polylignes ; - de déplacer l'ensemble des polylignes sélectionner d'une distance X de manière à "échapper" de ta zone de dessin (seul les polylignes se déplacent (ton dessin devient devient donc plus clair) ; - de supprimer les nuages de révision un par un (pas mieu...) ; - de redéplacer le restant de -X pour le repositionner à l'emplacement initial. Si d'autres personnes ont de meilleures idées... Dernière chose, tu peux "gueuler" :casstet: sur celui qui a fait ce plan car les nuages de révision doivent appartenir à un ou plusieurs calques spécifiques correspondant à l'indice de révision... @ +
-
où sont mes objets sélectionnés??
Charly21000 a répondu à un(e) sujet de eric45 dans AutoCAD LT 2008
Y a t il possibilité de mettre à disposition ton fichier afin de le tester sur mon poste? -
où sont mes objets sélectionnés??
Charly21000 a répondu à un(e) sujet de eric45 dans AutoCAD LT 2008
Bonjour, Essaie avec la commande "Filter" (fi) et vois si ça marche. Sinon donne plus de détails sur ta propriété de "Sélection rapide" (couleur ou calque ou...) et des entités que tu souhaites sélectionner. @ + -
Etrange, étrange... Sur ma version 2006, ça fonctionne super bien et je ne comprends pas trop ce qui peut ce passer (vu mes compétences en programmation :calim: ) En revanche, si ce lisp correspond à ce dont tu as besoin pour réaliser ta légende, tu n'as qu'à " bidouiller" le tableau que le lisp te crée. A première vue, le problème que tu sembles rencontrer n'est qu'un problème de rotation des textes. Il suffit de sélectionner le tableau complet (ligne + texte), va dans "Propriétés", dans le menu déroulant, sélectionne "Texte (XX)" et modifie la valeur de la rotation des textes... C'est du système D mais bon, si ça peut dépanner en attendant que quelqu'un trouve le problème... A bientôt.
-
Si cette fois-ci, cà ne fonctionne pas, il est disponible gratuitement parmis d'autres programmes sur ce site : http://ma83.free.fr/info/acadlisp.htm A bientôt. Charly.
-
Etrange... Je vous le retransmets : ; PPLAN.LSP ; *************************************** ; Création d'un tableau contenant les ; paramètres des plans ou calques ; **************************************** (defun c:pplan () (setvar "cmdecho" 0) (setq der_plan (getvar "clayer")) (setq der_cl (getvar "cecolor")) (setq der_txt (getvar "textstyle")) (setq der_blip (getvar "blipmode")) ; corrige un bug AutoCAD où sur certaine version ; le terme DUPLAN avait été remplacé par "BYLAYER". (setq der_tl (getvar "celtype")) (if (= der_tl "BYLAYER") (setq der_tl "DUPLAN") ) ; supprime les marques (setvar "blipmode" 0) ; Crée le plan PPLAN et le met courant (command "_Layer" "_m" "PPLAN" "") ; On se met sur le type de ligne CONTINUOUS (command "_linetype" "_s" "CONTINUOUS" "") ; On définit la couleur DUPLAN (A12) ou DUCALQUE (A13) (if (= (substr (getvar "acadver") 1 2) "12") (command "_color" "DUPLAN") (command "_color" "DUCALQUE") ) ; Determine si style de texte PPLAN existe ; on utilise la police ARIAL pour avoir ; des caractères non proportionnels (if (= (tblsearch "STYLE" "PPLAN") nil) (command "_style" "PPLAN" "ARIAL" 0 "" "" "" "" "") ) ; On efface le tableau s'il existe (setq eff_plan (ssget "x" (list (cons 8 "PPLAN")))) (if (/= eff_plan nil) (command "_erase" eff_plan "") ) ; On demande où démarre le cadre qui délimite les informations ; ainsi que la hauteur du texte à écrire (setq pt_plan (getpoint "\nPosition écriture paramètres plans (Coin haut droit): ")) (setq htxt (getdist "\nHauteur du texte: " pt_plan)) ; On calcule les points de départ du cadre puis ; on trace la lige haute (setq lg_pt1 (polar pt_plan (* 0.5 pi) (* 1.65 htxt))) (setq lg_pt2 (polar lg_pt1 0 (+ (* 60 htxt) (* 10 htxt)))) (setq lg_pt1 (polar lg_pt1 pi (* 1.65 htxt))) (setq lg_pt2 (polar lg_pt2 0 (* 1.65 htxt))) (command "_line" lg_pt1 lg_pt2 "") ; On écrit la définition des colonnes (command "_text" pt_plan htxt 0 "Nom du plan") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "Etat") (command "_text" (polar pt_plan 0 (* 50 htxt)) htxt 0 "Couleur") (command "_text" (polar pt_plan 0 (* 60 htxt)) htxt 0 "Type ligne") (command "_line" (polar lg_pt1 (* 1.5 pi) (* 3.0 htxt)) (polar lg_pt2 (* 1.5 pi) (* 3.0 htxt)) "") (setq lg_pt3 (polar lg_pt1 (* 1.5 pi) (* 3.0 htxt))) (setq lg_pt4 (polar lg_pt2 (* 1.5 pi) (* 3.0 htxt))) (setq pt_plan (polar pt_plan (* 1.5 pi) (* 3.3 htxt))) ; On se positionne sur le premier nom de plan qui est défini (setq x_plan (tblnext "layer" T)) ; On boucle pour passer un à un tous les plans (while (/= x_plan nil) (setq nom_plan (cdr (assoc 2 x_plan))) (setq coul_plan (cdr (assoc 62 x_plan))) (setq tl_plan (cdr (assoc 6 x_plan))) (setq c70_plan (cdr (assoc 70 x_plan))) ; si le plan existe alors on détermine son état ; on va vers le sous programme ECRIT_PLAN (if (/= x_plan nil) (progn (ecrit_plan) (setq lg_pt3 (polar lg_pt3 (* 1.5 pi) (* 1.65 htxt))) (setq lg_pt4 (polar lg_pt4 (* 1.5 pi) (* 1.65 htxt))) ) ) (setq x_plan (tblnext "layer")) ) ; fin du while ; On calcule les coordonnées de la ligne basse ; puis on trace tout le cadre (setq lg_pt3 (polar lg_pt3 (* 1.5 pi) (* 1.65 htxt))) (setq lg_pt4 (polar lg_pt4 (* 1.5 pi) (* 1.65 htxt))) (command "_line" lg_pt3 lg_pt4 "") (command "_line" lg_pt1 lg_pt3 "") (command "_line" (polar lg_pt1 0 (* 40 htxt)) (polar lg_pt3 0 (* 40 htxt))"") (command "_line" (polar lg_pt1 0 (* 50 htxt)) (polar lg_pt3 0 (* 50 htxt))"") (command "_line" (polar lg_pt1 0 (* 60 htxt)) (polar lg_pt3 0 (* 60 htxt))"") (command "_line" lg_pt2 lg_pt4 "") ; On rétablit les paramètres d'origines (command "_Layer" "_m" der_plan "") (command "_linetype" "_s" der_tl "") (command "_color" der_cl) (command "_text" "_st" der_txt command) (setvar "blipmode" der_blip) (alert "Fin du traitement...") (princ) ) ; ===================== ; Sousprogramme ; Ecriture des paramètres ; ===================== (defun ecrit_plan () (setq actif T) ; On écrit le nom du plan (command "_text" pt_plan htxt 0 nom_plan) ; On définit la couleur. Si la couleur est standard ; (valeur entre 1 et 7) on écrit le nom de la couleur ; sinon son code (if (< coul_plan 0) (setq actif nil coul_plan (abs coul_plan)) ) (cond ((= coul_plan 1) (setq couleur "Rouge") ) ((= coul_plan 2) (setq couleur "Jaune") ) ((= coul_plan 3) (setq couleur "Vert") ) ((= coul_plan 4) (setq couleur "Cyan") ) ((= coul_plan 5) (setq couleur "Bleu") ) ((= coul_plan 6) (setq couleur "Magenta") ) ((= coul_plan 7) (setq couleur "Blanc") ) ((setq couleur (itoa coul_plan)) ) ) (command "_text" (polar pt_plan 0 (* 50 htxt)) htxt 0 couleur) ; On écrit le type de ligne (command "_text" (polar pt_plan 0 (* 60 htxt)) htxt 0 tl_plan) ; On déternine l'état du plan (cond ((= c70_plan 0) (if (/= actif nil) (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC . . .") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN . . .") ) ) ((= c70_plan 1) (if (/= actif nil) (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC G . .") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN G . .") ) ) ((= c70_plan 2) (if (/= actif nil) (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC . . N") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN . . N") ) ) ((= c70_plan 3) (if (/= actif nil) (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC G . N") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN G . N") ) ) ((= c70_plan 4) (if (/= actif nil) (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC . V .") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN . V .") ) ) ((= c70_plan 5) (if (/= actif nil) (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC G V .") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN G V . ") ) ) ((= c70_plan 6) (if (/= actif nil) (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC . V N") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN . V N") ) ) ((= c70_plan 7) (if (/= actif nil) (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC G V N") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN G V N") ) ) ((= c70_plan 64) (if (/= actif nil) (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC . . .") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN") ) ) ((= c70_plan 65) (if (/= actif nil) (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC G . .") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN G . .") ) ) ((= c70_plan 66) (if (/= actif nil) (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC . . N") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN . . N") ) ) ((= c70_plan 67) (if (/= actif nil) (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC G . N") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN G . N") ) ) ((= c70_plan 68) (if (/= actif nil) (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC . V .") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN . V .") ) ) ((= c70_plan 69) (if (/= actif nil) (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC G V .") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN G V .") ) ) ((= c70_plan 70) (if (/= actif nil) (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC . V N") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN . V N") ) ) ((= c70_plan 71) (if (/= actif nil) (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC G V N") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN G V N") ) ) ((= c70_plan 48) (if (/= actif nil) (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC . . .") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN . . .") ) ) ((= c70_plan 49) (if (/= actif nil) (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC G . .") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN G . .") ) ) ((= c70_plan 50) (if (/= actif nil) (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC . . N") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN . . N") ) ) ((= c70_plan 51) (if (/= actif nil) (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC G . N") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN G . N") ) ) ((= c70_plan 52) (if (/= actif nil) (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC . .V .") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN . V .") ) ) ((= c70_plan 53) (if (/= actif nil) (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC G V .") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN G V .") ) ) ((= c70_plan 54) (if (/= actif nil) (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC . V N") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN . V N") ) ) ((= c70_plan 55) (if (/= actif nil) (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC G V N") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN G V N") ) ) );cond (setq pt_plan (polar pt_plan (* 1.5 pi) (* 1.65 htxt))) ) ; Fin du sous programme (princ "\n==> PPLAN") (princ)
-
Il existe un lisp PPLAN qui permet de créer un tableau avec la liste des calques présents dans ton fichier et autres, tu verras ça. Ce dernier n'est pas de moi, je tiens à le préciser et est pas mal du tout. Un grand merci à son créateur. @ + ; PPLAN.LSP ; *************************************** ; Création d'un tableau contenant les ; paramètres des plans ou calques ; **************************************** (defun c:pplan () (setvar "cmdecho" 0) (setq der_plan (getvar "clayer")) (setq der_cl (getvar "cecolor")) (setq der_txt (getvar "textstyle")) (setq der_blip (getvar "blipmode")) ; coorige un bug AutoCAD où sur certaine version ; le terme DUPLAN avait été remplacé par "BYLAYER". (setq der_tl (getvar "celtype")) (if (= der_tl "BYLAYER") (setq der_tl "DUPLAN") ) ; supprime les marques (setvar "blipmode" 0) ; Crée le plan PPLAN et le met courant (command "_Layer" "_m" "PPLAN" "") ; On se met sur le type de ligne CONTINUOUS (command "_linetype" "_s" "CONTINUOUS" "") ; On définit la couleur DUPLAN (A12) ou DUCALQUE (A13) (if (= (substr (getvar "acadver") 1 2) "12") (command "_color" "DUPLAN") (command "_color" "DUCALQUE") ) ; Determine si style de texte PPLAN existe ; on utilise la police MONOTXT pour avoir ; des caractères non proportionnels (if (= (tblsearch "STYLE" "PPLAN") nil) (command "_style" "PPLAN" "MONOTXT" 0 "" "" "" "" "") ) ; On efface le tableau s'il existe (setq eff_plan (ssget "x" (list (cons 8 "PPLAN")))) (if (/= eff_plan nil) (command "_erase" eff_plan "") ) ; On demande où démarre le cadre qui délimite les informations ; ainsi que la hauteur du texte à écrire (setq pt_plan (getpoint "\nPosition écriture paramètres plans (Coin haut droit): ")) (setq htxt (getdist "\nHauteur du texte: " pt_plan)) ; On calcule les points de départ du cadre puis ; on trace la lige haute (setq lg_pt1 (polar pt_plan (* 0.5 pi) (* 1.65 htxt))) (setq lg_pt2 (polar lg_pt1 0 (+ (* 60 htxt) (* 10 htxt)))) (setq lg_pt1 (polar lg_pt1 pi (* 1.65 htxt))) (setq lg_pt2 (polar lg_pt2 0 (* 1.65 htxt))) (command "_line" lg_pt1 lg_pt2 "") ; On écrit la définition des colonnes (command "_text" pt_plan htxt 0 "Nom du plan") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "Etat") (command "_text" (polar pt_plan 0 (* 50 htxt)) htxt 0 "Couleur") (command "_text" (polar pt_plan 0 (* 60 htxt)) htxt 0 "Type ligne") (command "_line" (polar lg_pt1 (* 1.5 pi) (* 3.0 htxt)) (polar lg_pt2 (* 1.5 pi) (* 3.0 htxt)) "") (setq lg_pt3 (polar lg_pt1 (* 1.5 pi) (* 3.0 htxt))) (setq lg_pt4 (polar lg_pt2 (* 1.5 pi) (* 3.0 htxt))) (setq pt_plan (polar pt_plan (* 1.5 pi) (* 3.3 htxt))) ; On se positionne sur le premier nom de plan qui est défini (setq x_plan (tblnext "layer" T)) ; On boucle pour passer un à un tous les plans (while (/= x_plan nil) (setq nom_plan (cdr (assoc 2 x_plan))) (setq coul_plan (cdr (assoc 62 x_plan))) (setq tl_plan (cdr (assoc 6 x_plan))) (setq c70_plan (cdr (assoc 70 x_plan))) ; si le plan existe alors on détermine son état ; on va vers le sous programme ECRIT_PLAN (if (/= x_plan nil) (progn (ecrit_plan) (setq lg_pt3 (polar lg_pt3 (* 1.5 pi) (* 1.65 htxt))) (setq lg_pt4 (polar lg_pt4 (* 1.5 pi) (* 1.65 htxt))) ) ) (setq x_plan (tblnext "layer")) ) ; fin du while ; On calcule les coordonnées de la ligne basse ; puis on trace tout le cadre (setq lg_pt3 (polar lg_pt3 (* 1.5 pi) (* 1.65 htxt))) (setq lg_pt4 (polar lg_pt4 (* 1.5 pi) (* 1.65 htxt))) (command "_line" lg_pt3 lg_pt4 "") (command "_line" lg_pt1 lg_pt3 "") (command "_line" (polar lg_pt1 0 (* 40 htxt)) (polar lg_pt3 0 (* 40 htxt))"") (command "_line" (polar lg_pt1 0 (* 50 htxt)) (polar lg_pt3 0 (* 50 htxt))"") (command "_line" (polar lg_pt1 0 (* 60 htxt)) (polar lg_pt3 0 (* 60 htxt))"") (command "_line" lg_pt2 lg_pt4 "") ; On rétablit les paramètres d'origines (command "_Layer" "_m" der_plan "") (command "_linetype" "_s" der_tl "") (command "_color" der_cl) (command "_text" "_st" der_txt command) (setvar "blipmode" der_blip) (alert "Fin du traitement...") (princ) ) ; ===================== ; Sousprogramme ; Ecriture des paramètres ; ===================== (defun ecrit_plan () (setq actif T) ; On écrit le nom du plan (command "_text" pt_plan htxt 0 nom_plan) ; On définit la couleur. Si la couleur est standard ; (valeur entre 1 et 7) on écrit le nom de la couleur ; sinon son code (if (< coul_plan 0) (setq actif nil coul_plan (abs coul_plan)) ) (cond ((= coul_plan 1) (setq couleur "Rouge") ) ((= coul_plan 2) (setq couleur "Jaune") ) ((= coul_plan 3) (setq couleur "Vert") ) ((= coul_plan 4) (setq couleur "Cyan") ) ((= coul_plan 5) (setq couleur "Bleu") ) ((= coul_plan 6) (setq couleur "Magenta") ) ((= coul_plan 7) (setq couleur "Blanc") ) ((setq couleur (itoa coul_plan)) ) ) (command "_text" (polar pt_plan 0 (* 50 htxt)) htxt 0 couleur) ; On écrit le type de ligne (command "_text" (polar pt_plan 0 (* 60 htxt)) htxt 0 tl_plan) ; On déternine l'état du plan (cond ((= c70_plan 0) (if (/= actif nil) (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC . . .") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN . . .") ) ) ((= c70_plan 1) (if (/= actif nil) (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC G . .") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN G . .") ) ) ((= c70_plan 2) (if (/= actif nil) (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC . . N") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN . . N") ) ) ((= c70_plan 3) (if (/= actif nil) (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC G . N") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN G . N") ) ) ((= c70_plan 4) (if (/= actif nil) (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC . V .") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN . V .") ) ) ((= c70_plan 5) (if (/= actif nil) (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC G V .") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN G V . ") ) ) ((= c70_plan 6) (if (/= actif nil) (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC . V N") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN . V N") ) ) ((= c70_plan 7) (if (/= actif nil) (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC G V N") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN G V N") ) ) ((= c70_plan 64) (if (/= actif nil) (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC . . .") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN") ) ) ((= c70_plan 65) (if (/= actif nil) (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC G . .") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN G . .") ) ) ((= c70_plan 66) (if (/= actif nil) (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC . . N") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN . . N") ) ) ((= c70_plan 67) (if (/= actif nil) (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC G . N") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN G . N") ) ) ((= c70_plan 68) (if (/= actif nil) (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC . V .") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN . V .") ) ) ((= c70_plan 69) (if (/= actif nil) (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC G V .") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN G V .") ) ) ((= c70_plan 70) (if (/= actif nil) (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC . V N") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN . V N") ) ) ((= c70_plan 71) (if (/= actif nil) (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC G V N") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN G V N") ) ) ((= c70_plan 48) (if (/= actif nil) (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC . . .") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN . . .") ) ) ((= c70_plan 49) (if (/= actif nil) (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC G . .") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN G . .") ) ) ((= c70_plan 50) (if (/= actif nil) (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC . . N") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN . . N") ) ) ((= c70_plan 51) (if (/= actif nil) (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC G . N") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN G . N") ) ) ((= c70_plan 52) (if (/= actif nil) (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC . .V .") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN . V .") ) ) ((= c70_plan 53) (if (/= actif nil) (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC G V .") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN G V .") ) ) ((= c70_plan 54) (if (/= actif nil) (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC . V N") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN . V N") ) ) ((= c70_plan 55) (if (/= actif nil) (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "AC G V N") (command "_text" (polar pt_plan 0 (* 40 htxt)) htxt 0 "IN G V N") ) ) );cond (setq pt_plan (polar pt_plan (* 1.5 pi) (* 1.65 htxt))) ) ; Fin du sous programme (princ "\n==> PPLAN") (princ)
-
problème de gèle de claque dans présentation
Charly21000 a répondu à un(e) sujet de magalie dans AutoCAD 2006
Bonjour, Je ne sais pas si tu as trouvé la réponse à ta question... :casstet: Question stupide : Lorsque que tu gêles tes calques de l'EP, tu as bien entendu double-cliqué dans la fenêtre afin d'accéder à l'EO de ta page de présentation? Sinon, tu peux utiliser la commande "fcalque", c'est pratique et rapide. @+ -
gel de calque Xref ( en cliquant sur le dessin )
Charly21000 a répondu à un(e) sujet de TOOBRAKE dans AutoCAD 2006
Ca ira très bien avec cette commande supplémentaire. :D Un très grand merci à toi Oto @+ -
Bonjour, Dans la ligne de commande, as-tu un message du genre : [surligneur] ** Bloc non défini #-1[/surligneur] Si c'est le cas, j'ai souvent rencontré ce problème. La plupart du temps, ce fut lors d'un travail sur des fichiers intégrants de nombreux XREF (env. 30 XREF ayant une taille pouvant aller de 5 Mo à 20 Mo par XREF voir plus, donc assez lourds à gérer...) et la seule solution que j'ai trouvée (système D), c'est de fermer le fichier concerné et de le réouvrir. Ensuite la commande Ctrl+V remarche. Si ça peut te dépanner en attendant une réponse plus concrète... Pour info, je suis sur AutoCAD 2006. Charly
