-
Compteur de contenus
161 -
Inscription
-
Dernière visite
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par tyrese69_
-
Bonsoir, Comme je ne souhaite changer qu'une partie des étiquettes d'attribut, celles mal orientées, j'ai essayé la routine ci-aprés : (defun c:rAttScu () ; Permet le sélection d'une entité qui doit être un bloc ! (while (not (setq ename (entsel "\nSelectionner un bloc dont l'attribut est à orienter sur le SCU: ")))) ; donne le nom de l'entité: (setq ename (car ename)) ; donne la liste des codes DXF (setq ent (entget ename)) (setq entb (cdar (entget ename))) (setq blk (vlax-ename->vla-object entb)) (if (and (= (vla-get-hasattributes blk) :vlax-true) (safearray-value (setq atts (vlax-variant-value (vla-getattributes blk)))) ) (progn (setq ucsxdir (getvar 'ucsxdir)) (setq angle (* 180 (/ (atan (/ (cadr ucsxdir) (car ucsxdir))) 3.141592654))) ; ( a, b , 0) soit inv tg ( a / b ) (if (< angle 0) (setq angle (+ 360 angle)) ) (foreach tag (vlax-safearray->list atts) (vla-put-Rotation tag angle) ) ) ) (princ) ) Mais le résultat est surprenant la valeur récupérée correspond bien a l'angle mais celle inscrite est inexacte ??? Par exemple: scu d'angle = 296.579 (0.447434 -0.894317 0.0) l'angle extrait: -63.4208 mais l'angle inscrit par (vla-put-Rotation tag angle) est 72,7365... C'est vrai que le travail avec des scu est assez particulier et pas évident a comprendre en programmation ! A+ Daniel OLIVES
-
bonjour, Peux tu donner qs explications sur le fonctionnement de cette routine ! Merci d'avance ! Daniel
-
Bonjour, Comme convenu aucuns soucis avec 2007 , 2008 , 2009 et même Gator 2010 ! Daniel
-
Bonjour à tous, Je bloque sur un point : J'ai des blocs qui ont un attribut ! Lorsque ce bloc est inséré dans un plan qui a un scu particulier, si le dessinateur n'a pas fait atention le texte peut être mal orienté. Comment par une simple sélection réorienter le texte de cet attribut sur le scu courant ! Daniel
-
Bonjour, Un grand merci a toi Gile car j'utilise cette routine régulièrement, je travail sur une gros projet où il y a plus de 20 SCU donc elle est trés pratique ! Je teste sur les différentes versions installées et je te tiens au courant ! Daniel OLIVES PS: J'ai deux versions 2008 une sous XP au bureau avec laquelle la routine fonctionne et une sous vista avec laquelle la routine ne fonctionne pas, mais sur cette dernière j'ai d'autres pB comme la mutli-ouverture d'AutoCAD; par double clic depuis explorateur et cela malgré la SP1 installée (qui est sencée corriger ce bugg!). Je pense la réinstaller totalement et refaire un essai !
-
Bonjour à tous, Le petit lisp suivant permet d'importer les SCU d'un autre fichier ! Il fonctionne bien avec les versions 2006 d'autocad mais pas avec la 2008 ! Quelqu'un a t'il une idée ! Merci d'avance Daniel OLIVES (defun c:scui (/ UCSs fullpath srcdoc srcucss cnt name ucslst) (setq UCSs (vla-get-UserCoordinateSystems (vla-get-activedocument (vlax-get-acad-object))) ) (and (setq fullpath (getfiled "Fichier Source" (getvar "dwgprefix") "dwg" 0)) (setq srcdoc (DocAtPath fullpath)) (setq srcucss (vla-get-UserCoordinateSystems srcdoc)) (< 0 (vlax-get srcucss 'Count)) (setq cnt 0) (vlax-for x srcucss (setq name (vlax-get x 'Name)) (if (and (not (tblsearch "ucs" name)) (not (wcmatch name "_Active*"))) (setq ucslst (cons x ucslst) cnt (1+ cnt) ) ) ) (not (vlax-invoke srcdoc 'copyobjects ucslst UCSs)) (princ (strcat "\n\nNombre de sytème de coordonnées importé(s) = " (itoa cnt))) ) ;and (if srcdoc (vlax-release-object srcdoc)) (if (= cnt 0) (alert "Pas de scu différent à importer !")) (princ) ) ;end
-
Content-Type: text; name="DXFLFR.lsp" Content-Transfer-Encoding: 8bit Content-Disposition: inline; filename="DXFLFR.lsp" ;;..DXFL Written by Daron Denton, ©2002 ;; ;;requires DOSLIB 6.0 - www.mcneel.com ;; ;;Traduit par d.OLIVES en langue francaise pour l'affichage - le 2005-10-07 ;; (defun c:DXFL (/ DXF-STRLIST ENT TEMP VERDOS) ; Lignes suivantes supprimées dans AutoCAD 2008 ;(if (not (dos_help)) ; (progn (alert "\nCette fonction nécessite que DOSLIB 6.0 ; \nsoit chargée - www.mcneel.com. ; \n ; \nfonction de sortie.")(QUIT) ; ) ;) ; avec AutoCAD 2008 --> dos_version = (7 6 0) ;(if (not (>= (substr (dos_version) 1 1) "7")) ; (progn (alert "\nCette fonction nécessite que DOSLIB 6.0 ; \nsoit chargée - www.mcneel.com. ; \n ; \nfonction de sortie.")(QUIT) ; ) ; ) (cond ((= VERDOS "7 6 0") (progn (alert "\nCette fonction nécessite que DOSLIB 6.0 \nsoit chargée - www.mcneel.com. \n \nfonction de sortie.")(QUIT) (princ "Version DosLib non égale à : 7 6 0") ) (princ "7 6 0") ) ) (setq ENT (entsel "\nSelectionner un objet pour lister les codes DXF:")) (if ENT (progn (setq DXFLIST (entget (car ENT))) (if (/= (cdr (assoc 0 DXFLIST)) "LWPOLYLINE") ;..trié par Frank Oquendo www.acadx.com (setq DXFLIST (vl-sort DXFLIST '(lambda (x y) (< (car x)(car y))))) ) (foreach X DXFLIST (cond ; cond principal ;------------------ ((= (car X) -1) (setq DXF-STRLIST (append DXF-STRLIST (list (cons "-1 - Noms entité" (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 0) (setq DXF-STRLIST (append DXF-STRLIST (list (cons "0 - Type entité" (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 1) (setq DXF-STRLIST (append DXF-STRLIST (list (cons "1 - Valeur chaine caractères" (vl-prin1-to-string (cdr X)) ) ) ) ) ) ;------------------ ((= (car X) 2) (setq DXF-STRLIST (append DXF-STRLIST (list (cons "2 - Noms du bloc" (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 3) (cond ((= (cdr (assoc 0 DXFLIST)) "DIMENSION") (setq TEMP "3 - Noms du style") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 5) (setq DXF-STRLIST (append DXF-STRLIST (list (cons "5 - Poignée d'entitée" (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 6) (setq DXF-STRLIST (append DXF-STRLIST (list (cons "6 - Type de ligne" (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 7) (setq DXF-STRLIST (append DXF-STRLIST (list (cons "7 - Style de texte" (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 8) (setq DXF-STRLIST (append DXF-STRLIST (list (cons "8 - Noms de la couche" (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 10) (cond ((= (cdr (assoc 0 DXFLIST)) "ARC") (setq TEMP "10 - Point central") ) ((= (cdr (assoc 0 DXFLIST)) "CIRCLE") (setq TEMP "10 - Point central") ) ((= (cdr (assoc 0 DXFLIST)) "DIMENSION") (setq TEMP "10 - Point de définition") ) ((= (cdr (assoc 0 DXFLIST)) "ELLIPSE") (setq TEMP "10 - Point central") ) ((= (cdr (assoc 0 DXFLIST)) "INSERT") (setq TEMP "10 - Point d'Insertion") ) ((= (cdr (assoc 0 DXFLIST)) "LINE") (setq TEMP "10 - Point de départ") ) ((= (cdr (assoc 0 DXFLIST)) "LWPOLYLINE") (setq TEMP "10 - Coordonnées des sommets") ) ((= (cdr (assoc 0 DXFLIST)) "POLYLINE") (setq TEMP "10 - Point toujours 0 "factice"") ) ((= (cdr (assoc 0 DXFLIST)) "TEXT") (setq TEMP "10 - 1er point de l'alignement") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 11) (cond ((= (cdr (assoc 0 DXFLIST)) "DIMENSION") (setq TEMP "11 - Point milieu du texte") ) ((= (cdr (assoc 0 DXFLIST)) "ELLIPSE") (setq TEMP "11 - Point final de l'axe majeur") ) ((= (cdr (assoc 0 DXFLIST)) "LINE") (setq TEMP "11 - Point final") ) ((= (cdr (assoc 0 DXFLIST)) "TEXT") (setq TEMP "11 - 2nd point de l'alignement") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 12) (cond ((= (cdr (assoc 0 DXFLIST)) "DIMENSION") (setq TEMP "12 - Point d'insertion des clones") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 13) (cond ((= (cdr (assoc 0 DXFLIST)) "DIMENSION") (setq TEMP "13 - Point de définition des dimensions linéaires et angulaires") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 14) (cond ((= (cdr (assoc 0 DXFLIST)) "DIMENSION") (setq TEMP "14 - Point de définition des dimensions linéaires et angulaires") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 15) (cond ((= (cdr (assoc 0 DXFLIST)) "DIMENSION") (setq TEMP "15 - Point de définition du diamètre, rayon, et angle") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 16) (cond ((= (cdr (assoc 0 DXFLIST)) "DIMENSION") (setq TEMP "16 - Point de définition du diamètre, rayon, et angle") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 38) (cond ((= (cdr (assoc 0 DXFLIST)) "LWPOLYLINE") (setq TEMP "38 - Elevation, optionnel") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 39) (cond ((= (cdr (assoc 0 DXFLIST)) "LWPOLYLINE") (setq TEMP "39 - Epaisseur, optionnel") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 40) (cond ((= (cdr (assoc 0 DXFLIST)) "ARC") (setq TEMP "40 - Rayon") ) ((= (cdr (assoc 0 DXFLIST)) "ELLIPSE") (setq TEMP "40 - Ratio de l'axe mineur a l'axe majeur") ) ((= (cdr (assoc 0 DXFLIST)) "CIRCLE") (setq TEMP "40 - Rayon") ) ((= (cdr (assoc 0 DXFLIST)) "DIMENSION") (setq TEMP "40 - Longueur de l'étiquette des dimensions des rayons et diamètres") ) ((= (cdr (assoc 0 DXFLIST)) "LWPOLYLINE") (setq TEMP "40 - Largeur de départ") ) ((= (cdr (assoc 0 DXFLIST)) "POLYLINE") (setq TEMP "40 - Largeur de départ") ) ((= (cdr (assoc 0 DXFLIST)) "TEXT") (setq TEMP "40 - Hauteur du texte") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X)))))) ) ;------------------ ((= (car X) 41) (cond ((= (cdr (assoc 0 DXFLIST)) "DIMENSION") (setq TEMP "41 - Facteur d'expansion du texte, optionnel") ) ((= (cdr (assoc 0 DXFLIST)) "ELLIPSE") (setq TEMP "41 - Paramètre de départ") ) ((= (cdr (assoc 0 DXFLIST)) "LWPOLYLINE") (setq TEMP "41 - Largeur de fin") ) ((= (cdr (assoc 0 DXFLIST)) "INSERT") (setq TEMP "41 - Facteur d'échelle X") ) ((= (cdr (assoc 0 DXFLIST)) "POLYLINE") (setq TEMP "41 - Largeur de fin") ) ((= (cdr (assoc 0 DXFLIST)) "TEXT") (setq TEMP "41 - Echelle relative en X , optionnel") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 42) (cond ((= (cdr (assoc 0 DXFLIST)) "DIMENSION") (setq TEMP "42 - Mesure actuelle, optionnel") ) ((= (cdr (assoc 0 DXFLIST)) "ELLIPSE") (setq TEMP "42 - Paramètre de fin") ) ((= (cdr (assoc 0 DXFLIST)) "LWPOLYLINE") (setq TEMP "42 - Bombement - Bulge") ) ((= (cdr (assoc 0 DXFLIST)) "INSERT") (setq TEMP "42 - Facteur d'échelle en Y") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 43) (cond ((= (cdr (assoc 0 DXFLIST)) "LWPOLYLINE") (setq TEMP "43 - Epaisseur constante, optionnel") ) ((= (cdr (assoc 0 DXFLIST)) "INSERT") (setq TEMP "43 - Facteur d'échelle en Z") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 44) (cond ((= (cdr (assoc 0 DXFLIST)) "INSERT") (setq TEMP "44 - Espacement des colonnes, optionnel") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 45) (cond ((= (cdr (assoc 0 DXFLIST)) "INSERT") (setq TEMP "45 - Espacement des rangées, optionnel") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 50) (cond ((or (= (cdr (assoc 0 DXFLIST)) "INSERT") (= (cdr (assoc 0 DXFLIST)) "TEXT") ) (setq TEMP "50 - Rotation en radians") ) ((= (cdr (assoc 0 DXFLIST)) "ARC") (setq TEMP "50 - Angle de départ") ) ((= (cdr (assoc 0 DXFLIST)) "DIMENSION") (setq TEMP "50 - Angle de rotation, dimension horizontale ou verticale") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X)))))) ) ;------------------ ((= (car X) 51) (cond ((= (cdr (assoc 0 DXFLIST)) "ARC") (setq TEMP "51 - Angle de fin") ) ((= (cdr (assoc 0 DXFLIST)) "DIMENSION") (setq TEMP "51 - Angle négatif entre l'axe X OCS et l'axe X SCU") ) ((= (cdr (assoc 0 DXFLIST)) "TEXT") (setq TEMP "51 - Angle oblique") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 52) (cond ((= (cdr (assoc 0 DXFLIST)) "DIMENSION") (setq TEMP "52 - Angle des lignes d'extension") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 53) (cond ((= (cdr (assoc 0 DXFLIST)) "DIMENSION") (setq TEMP "53 - Angle de rotation du texte par rapport à son orientation par défaut") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 66) (setq DXF-STRLIST (append DXF-STRLIST (list (cons "66 - Entitées suivantes" (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 67) (setq DXF-STRLIST (append DXF-STRLIST (list (cons "67 - Espace" (vl-prin1-to-string (cdr X)))))) ) ;------------------ ((= (car X) 70) (setq DXF-STRLIST (append DXF-STRLIST (list (cons "70 - bit de code drapeau" (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 71) (cond ((= (cdr (assoc 0 DXFLIST)) "DIMENSION") (setq TEMP "71 - Point d'attache") ) ((= (cdr (assoc 0 DXFLIST)) "INSERT") (setq TEMP "71 - Nre de rangée, optionnel") ) ((= (cdr (assoc 0 DXFLIST)) "POLYLINE") (setq TEMP "71 - Compte les sommets de la maille N de la polyligne, optionnel") ) ((= (cdr (assoc 0 DXFLIST)) "TEXT") (setq TEMP "71 - Generation flags, optional") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 72) (cond ((= (cdr (assoc 0 DXFLIST)) "DIMENSION") (setq TEMP "72 - Espacement des lignes de texte") ) ((= (cdr (assoc 0 DXFLIST)) "POLYLINE") (setq TEMP "72 - Compte les sommets de la maille N de la polyligne, optionnel") ) ((= (cdr (assoc 0 DXFLIST)) "TEXT") (setq TEMP "72 - Type justification horizontale, optionnel") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 73) (cond ((= (cdr (assoc 0 DXFLIST)) "POLYLINE") (setq TEMP "73 - Smooth surface M density, optional") ) ((= (cdr (assoc 0 DXFLIST)) "TEXT") (setq TEMP "73 - Type justification Verticale, optionnel") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 74) (cond ((= (cdr (assoc 0 DXFLIST)) "POLYLINE") (setq TEMP "74 - Smooth surface N density, optional") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 75) (cond ((= (cdr (assoc 0 DXFLIST)) "POLYLINE") (setq TEMP "75 - Curves and smooth surface type, optional") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 90) (cond ((= (cdr (assoc 0 DXFLIST)) "LWPOLYLINE") (setq TEMP "90 - Nombre de sommets") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 100) (setq DXF-STRLIST (append DXF-STRLIST (list (cons "100 - Data marqueur de sous-classe" (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 210) (setq DXF-STRLIST (append DXF-STRLIST (list (cons "210 - Direction de l'extrusion" (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((and (> (car X) 329) (< (car X) 340) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons (strcat (itoa (car X)) " - Soft pointer handle") (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 410) (setq DXF-STRLIST (append DXF-STRLIST (list (cons "410 - Noms de la présentation" (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ (T (setq DXF-STRLIST (append DXF-STRLIST (list (cons (itoa (car X)) (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ) ;fin cond ) (dos_proplist "LISTE DES CODES DXF associés au objets" "Numéro DXF associé/description: Valeur associée:" DXF-STRLIST ) ) (setq DXFLIST nil) ) DXFLIST )
-
Bonjour à tous, un petit utilitaire qui affiche le codes DXF ! bien lire le commentaire ! Daniel OLIVES Content-Type: text; name="DXFLFR.lsp" Content-Transfer-Encoding: 8bit Content-Disposition: inline; filename="DXFLFR.lsp" ;;..DXFL Written by Daron Denton, (c)2002 ;; ;;requires DOSLIB 6.0 - www.mcneel.com ;; ;;Traduit par d.OLIVES en langue francaise pour l'affichage - le 2005-10-07 ;; (defun c:DXFL (/ DXF-STRLIST ENT TEMP VERDOS) ; Lignes suivantes supprimées dans AutoCAD 2008 ;(if (not (dos_help)) ; (progn (alert "\nCette fonction nécessite que DOSLIB 6.0 ; \nsoit chargée - www.mcneel.com. ; \n ; \nfonction de sortie.")(QUIT) ; ) ;) ; avec AutoCAD 2008 --> dos_version = (7 6 0) ;(if (not (>= (substr (dos_version) 1 1) "7")) ; (progn (alert "\nCette fonction nécessite que DOSLIB 6.0 ; \nsoit chargée - www.mcneel.com. ; \n ; \nfonction de sortie.")(QUIT) ; ) ; ) (cond ((= VERDOS "7 6 0") (progn (alert "\nCette fonction nécessite que DOSLIB 6.0 \nsoit chargée - www.mcneel.com. \n \nfonction de sortie.")(QUIT) (princ "Version DosLib non égale à : 7 6 0") ) (princ "7 6 0") ) ) (setq ENT (entsel "\nSelectionner un objet pour lister les codes DXF:")) (if ENT (progn (setq DXFLIST (entget (car ENT))) (if (/= (cdr (assoc 0 DXFLIST)) "LWPOLYLINE") ;..trié par Frank Oquendo www.acadx.com (setq DXFLIST (vl-sort DXFLIST '(lambda (x y) (< (car x)(car y))))) ) (foreach X DXFLIST (cond ; cond principal ;------------------ ((= (car X) -1) (setq DXF-STRLIST (append DXF-STRLIST (list (cons "-1 - Noms entité" (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 0) (setq DXF-STRLIST (append DXF-STRLIST (list (cons "0 - Type entité" (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 1) (setq DXF-STRLIST (append DXF-STRLIST (list (cons "1 - Valeur chaine caractères" (vl-prin1-to-string (cdr X)) ) ) ) ) ) ;------------------ ((= (car X) 2) (setq DXF-STRLIST (append DXF-STRLIST (list (cons "2 - Noms du bloc" (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 3) (cond ((= (cdr (assoc 0 DXFLIST)) "DIMENSION") (setq TEMP "3 - Noms du style") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 5) (setq DXF-STRLIST (append DXF-STRLIST (list (cons "5 - Poignée d'entitée" (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 6) (setq DXF-STRLIST (append DXF-STRLIST (list (cons "6 - Type de ligne" (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 7) (setq DXF-STRLIST (append DXF-STRLIST (list (cons "7 - Style de texte" (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 8) (setq DXF-STRLIST (append DXF-STRLIST (list (cons "8 - Noms de la couche" (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 10) (cond ((= (cdr (assoc 0 DXFLIST)) "ARC") (setq TEMP "10 - Point central") ) ((= (cdr (assoc 0 DXFLIST)) "CIRCLE") (setq TEMP "10 - Point central") ) ((= (cdr (assoc 0 DXFLIST)) "DIMENSION") (setq TEMP "10 - Point de définition") ) ((= (cdr (assoc 0 DXFLIST)) "ELLIPSE") (setq TEMP "10 - Point central") ) ((= (cdr (assoc 0 DXFLIST)) "INSERT") (setq TEMP "10 - Point d'Insertion") ) ((= (cdr (assoc 0 DXFLIST)) "LINE") (setq TEMP "10 - Point de départ") ) ((= (cdr (assoc 0 DXFLIST)) "LWPOLYLINE") (setq TEMP "10 - Coordonnées des sommets") ) ((= (cdr (assoc 0 DXFLIST)) "POLYLINE") (setq TEMP "10 - Point toujours 0 "factice"") ) ((= (cdr (assoc 0 DXFLIST)) "TEXT") (setq TEMP "10 - 1er point de l'alignement") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 11) (cond ((= (cdr (assoc 0 DXFLIST)) "DIMENSION") (setq TEMP "11 - Point milieu du texte") ) ((= (cdr (assoc 0 DXFLIST)) "ELLIPSE") (setq TEMP "11 - Point final de l'axe majeur") ) ((= (cdr (assoc 0 DXFLIST)) "LINE") (setq TEMP "11 - Point final") ) ((= (cdr (assoc 0 DXFLIST)) "TEXT") (setq TEMP "11 - 2nd point de l'alignement") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 12) (cond ((= (cdr (assoc 0 DXFLIST)) "DIMENSION") (setq TEMP "12 - Point d'insertion des clones") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 13) (cond ((= (cdr (assoc 0 DXFLIST)) "DIMENSION") (setq TEMP "13 - Point de définition des dimensions linéaires et angulaires") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 14) (cond ((= (cdr (assoc 0 DXFLIST)) "DIMENSION") (setq TEMP "14 - Point de définition des dimensions linéaires et angulaires") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 15) (cond ((= (cdr (assoc 0 DXFLIST)) "DIMENSION") (setq TEMP "15 - Point de définition du diamètre, rayon, et angle") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 16) (cond ((= (cdr (assoc 0 DXFLIST)) "DIMENSION") (setq TEMP "16 - Point de définition du diamètre, rayon, et angle") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 38) (cond ((= (cdr (assoc 0 DXFLIST)) "LWPOLYLINE") (setq TEMP "38 - Elevation, optionnel") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 39) (cond ((= (cdr (assoc 0 DXFLIST)) "LWPOLYLINE") (setq TEMP "39 - Epaisseur, optionnel") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 40) (cond ((= (cdr (assoc 0 DXFLIST)) "ARC") (setq TEMP "40 - Rayon") ) ((= (cdr (assoc 0 DXFLIST)) "ELLIPSE") (setq TEMP "40 - Ratio de l'axe mineur a l'axe majeur") ) ((= (cdr (assoc 0 DXFLIST)) "CIRCLE") (setq TEMP "40 - Rayon") ) ((= (cdr (assoc 0 DXFLIST)) "DIMENSION") (setq TEMP "40 - Longueur de l'étiquette des dimensions des rayons et diamètres") ) ((= (cdr (assoc 0 DXFLIST)) "LWPOLYLINE") (setq TEMP "40 - Largeur de départ") ) ((= (cdr (assoc 0 DXFLIST)) "POLYLINE") (setq TEMP "40 - Largeur de départ") ) ((= (cdr (assoc 0 DXFLIST)) "TEXT") (setq TEMP "40 - Hauteur du texte") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X)))))) ) ;------------------ ((= (car X) 41) (cond ((= (cdr (assoc 0 DXFLIST)) "DIMENSION") (setq TEMP "41 - Facteur d'expansion du texte, optionnel") ) ((= (cdr (assoc 0 DXFLIST)) "ELLIPSE") (setq TEMP "41 - Paramètre de départ") ) ((= (cdr (assoc 0 DXFLIST)) "LWPOLYLINE") (setq TEMP "41 - Largeur de fin") ) ((= (cdr (assoc 0 DXFLIST)) "INSERT") (setq TEMP "41 - Facteur d'échelle X") ) ((= (cdr (assoc 0 DXFLIST)) "POLYLINE") (setq TEMP "41 - Largeur de fin") ) ((= (cdr (assoc 0 DXFLIST)) "TEXT") (setq TEMP "41 - Echelle relative en X , optionnel") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 42) (cond ((= (cdr (assoc 0 DXFLIST)) "DIMENSION") (setq TEMP "42 - Mesure actuelle, optionnel") ) ((= (cdr (assoc 0 DXFLIST)) "ELLIPSE") (setq TEMP "42 - Paramètre de fin") ) ((= (cdr (assoc 0 DXFLIST)) "LWPOLYLINE") (setq TEMP "42 - Bombement - Bulge") ) ((= (cdr (assoc 0 DXFLIST)) "INSERT") (setq TEMP "42 - Facteur d'échelle en Y") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 43) (cond ((= (cdr (assoc 0 DXFLIST)) "LWPOLYLINE") (setq TEMP "43 - Epaisseur constante, optionnel") ) ((= (cdr (assoc 0 DXFLIST)) "INSERT") (setq TEMP "43 - Facteur d'échelle en Z") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 44) (cond ((= (cdr (assoc 0 DXFLIST)) "INSERT") (setq TEMP "44 - Espacement des colonnes, optionnel") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 45) (cond ((= (cdr (assoc 0 DXFLIST)) "INSERT") (setq TEMP "45 - Espacement des rangées, optionnel") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 50) (cond ((or (= (cdr (assoc 0 DXFLIST)) "INSERT") (= (cdr (assoc 0 DXFLIST)) "TEXT") ) (setq TEMP "50 - Rotation en radians") ) ((= (cdr (assoc 0 DXFLIST)) "ARC") (setq TEMP "50 - Angle de départ") ) ((= (cdr (assoc 0 DXFLIST)) "DIMENSION") (setq TEMP "50 - Angle de rotation, dimension horizontale ou verticale") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X)))))) ) ;------------------ ((= (car X) 51) (cond ((= (cdr (assoc 0 DXFLIST)) "ARC") (setq TEMP "51 - Angle de fin") ) ((= (cdr (assoc 0 DXFLIST)) "DIMENSION") (setq TEMP "51 - Angle négatif entre l'axe X OCS et l'axe X SCU") ) ((= (cdr (assoc 0 DXFLIST)) "TEXT") (setq TEMP "51 - Angle oblique") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 52) (cond ((= (cdr (assoc 0 DXFLIST)) "DIMENSION") (setq TEMP "52 - Angle des lignes d'extension") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 53) (cond ((= (cdr (assoc 0 DXFLIST)) "DIMENSION") (setq TEMP "53 - Angle de rotation du texte par rapport à son orientation par défaut") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 66) (setq DXF-STRLIST (append DXF-STRLIST (list (cons "66 - Entitées suivantes" (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 67) (setq DXF-STRLIST (append DXF-STRLIST (list (cons "67 - Espace" (vl-prin1-to-string (cdr X)))))) ) ;------------------ ((= (car X) 70) (setq DXF-STRLIST (append DXF-STRLIST (list (cons "70 - bit de code drapeau" (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 71) (cond ((= (cdr (assoc 0 DXFLIST)) "DIMENSION") (setq TEMP "71 - Point d'attache") ) ((= (cdr (assoc 0 DXFLIST)) "INSERT") (setq TEMP "71 - Nre de rangée, optionnel") ) ((= (cdr (assoc 0 DXFLIST)) "POLYLINE") (setq TEMP "71 - Compte les sommets de la maille N de la polyligne, optionnel") ) ((= (cdr (assoc 0 DXFLIST)) "TEXT") (setq TEMP "71 - Generation flags, optional") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 72) (cond ((= (cdr (assoc 0 DXFLIST)) "DIMENSION") (setq TEMP "72 - Espacement des lignes de texte") ) ((= (cdr (assoc 0 DXFLIST)) "POLYLINE") (setq TEMP "72 - Compte les sommets de la maille N de la polyligne, optionnel") ) ((= (cdr (assoc 0 DXFLIST)) "TEXT") (setq TEMP "72 - Type justification horizontale, optionnel") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 73) (cond ((= (cdr (assoc 0 DXFLIST)) "POLYLINE") (setq TEMP "73 - Smooth surface M density, optional") ) ((= (cdr (assoc 0 DXFLIST)) "TEXT") (setq TEMP "73 - Type justification Verticale, optionnel") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 74) (cond ((= (cdr (assoc 0 DXFLIST)) "POLYLINE") (setq TEMP "74 - Smooth surface N density, optional") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 75) (cond ((= (cdr (assoc 0 DXFLIST)) "POLYLINE") (setq TEMP "75 - Curves and smooth surface type, optional") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 90) (cond ((= (cdr (assoc 0 DXFLIST)) "LWPOLYLINE") (setq TEMP "90 - Nombre de sommets") ) (T (setq TEMP (itoa (car X))) ) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons TEMP (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 100) (setq DXF-STRLIST (append DXF-STRLIST (list (cons "100 - Data marqueur de sous-classe" (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 210) (setq DXF-STRLIST (append DXF-STRLIST (list (cons "210 - Direction de l'extrusion" (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((and (> (car X) 329) (< (car X) 340) ) (setq DXF-STRLIST (append DXF-STRLIST (list (cons (strcat (itoa (car X)) " - Soft pointer handle") (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ((= (car X) 410) (setq DXF-STRLIST (append DXF-STRLIST (list (cons "410 - Noms de la présentation" (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ (T (setq DXF-STRLIST (append DXF-STRLIST (list (cons (itoa (car X)) (vl-prin1-to-string (cdr X))) ) ) ) ) ;------------------ ) ;fin cond ) (dos_proplist "LISTE DES CODES DXF associés au objets" "Numéro DXF associé/description: Valeur associée:" DXF-STRLIST ) ) (setq DXFLIST nil) ) DXFLIST )
-
Mettre un fichier en pieces jointes
tyrese69_ a répondu à un(e) sujet de esbe dans CADxp, comment ça marche?
Bonjour, Un moyen simple de mettre en partage un fichier, avec le site Autodesk : Customer File Attachement http://discussion.autodesk.com/index2.jspa?categoryID=39 Daniel OLIVES -
Hi, Voici les petites routines de base qui m'ont permis de démarrer avec les tables ! Option Explicit 'Code de groupe Description ' 0 Nom d 'entité (ACAD_TABLE) ' 5 Identificateur d 'entité ' 330 ID pointeur logiciel du dictionnaire propriétaire ' 100 Marqueur de sous-classe. Il existe trois sous-classes de marqueurs ' dans l'ordre suivant : AcDbEntity, AcDbBlockReference, AcDbTable ' 92 nombre d 'octets dans les graphiques de l'entité externe ' 310 Données des graphiques de l'entité externe (lignes multiples ' ; 256 caractères maximum par ligne) ' 2 Nom de bloc ; un bloc anonyme commence par la valeur *T. '10,20,30 Point d 'insertion ' 342 ID de pointeur matériel de l'objet TABLESTYLE ' 343 ID de pointeur matériel de l'enregistrement BLOCK parent '11,21,31 Vecteur de direction horizontale ' 90 Drapeau de valeur de table (entier non signé) ' 91 Nombre de rangées ' 92 Nombre de colonnes ' 93 Drapeau pour un remplacement ' 94 Drapeau pour un remplacement de couleur de bordure ' 95 Drapeau pour un remplacement d'épaisseur de ligne de bordure ' 96 Drapeau pour un remplacement de visibilité de bordure ' 141 Hauteur de rangée ; cette valeur est répétée, 1 valeur par rangée. ' 142 Hauteur de colonne ; cette valeur est répétée, 1 valeur par rangée. ' 171 Type de cellule ; cette valeur est répétée, 1 valeur par cellule '1 = Type texte '2 = Type bloc ' 172 Valeur de drapeau de cellule ; cette valeur est répétée, 1 valeur par cellule. ' 173 Valeur de cellule fusionnée ; cette valeur est répétée, 1 valeur par cellule. ' 174 Drapeau booléen indiquant si l'option d'ajustement automatique est définie ' pour la cellule ; la valeur est répétée, 1 valeur par cellule. ' 175 Largeur de bordure de cellule (applicable aux cellules fusionnées uniquement) ; ' cette valeur est répétée, 1 valeur par cellule. ' 176 Hauteur de bordure de cellule (applicable aux cellules fusionnées uniquement) ; ' cette valeur est répétée, 1 valeur par cellule. ' 177 Drapeau de remplacement de cellule ; cette valeur est répétée, 1 valeur par ' cellule. ' 178 Valeur de drapeau pour une arête virtuelle ' 145 Valeur de rotation (réel ; applicable à une cellule de type bloc et à une ' cellule de type texte) ' 344 ID de pointeur matériel de l'objet FIELD Applicable à une cellule de type texte ' uniquement. Si le texte de la cellule contient un ou plusieurs champs, seul ' l'ID de l'objet FIELD est enregistré. La chaîne de texte (codes de groupe 1 ' et 3) est ignorée. ' 1 Chaîne de texte dans une cellule. Si la chaîne compte moins de 250 caractères, ' tous les caractères apparaissent dans le code 1 ; si la chaîne compte plus de ' 250 caractères, elle est divisée en tranches de 250 caractères. Les tranches ' sont contenues dans un ou plusieurs codes de code 3. Si des codes de code 3 ' sont utilisés, le dernier groupe est un code 1 et contient moins de 250 ' caractères. Cette valeur s'applique à des cellules de type texte uniquement ' et est répétée ; 1 valeur par cellule. ' 3 Chaîne de texte d'une cellule, en tranches de 250 caractères ; facultatif. ' Cette valeur s'applique à des cellules de type texte uniquement et est ' répétée ; 1 valeur par cellule. ' 340 ID de pointeur matériel de l'enregistrement de table de bloc. Cette valeur ' s'applique à des cellules de type bloc uniquement et est répétée ; ' 1 valeur par cellule. ' 144 Echelle de bloc (réel). Cette valeur s'applique à des cellules de type bloc ' uniquement et est répétée ; 1 valeur par cellule. ' 179 Nombre de définitions d'attribut dans l'enregistrement de table de bloc ' (applicable à une cellule de type bloc uniquement) ' 331 ID de pointeur logiciel de la définition d'attribut dans l'enregistrement de ' table de bloc, référencé par le code de groupe 179 (applicable à une cellule ' de type bloc uniquement). Cette valeur est répétée une fois par définition ' d'attribut. ' 300 Valeur de chaîne de texte pour une définition d'attribut, répétée une fois par ' définition d'attribut et applicable à une cellule de type bloc uniquement ' 7 Nom de style de texte (chaîne) ; remplacement appliqué au niveau de la cellule ' 140 Valeur de hauteur de texte ; remplacement appliqué au niveau de la cellule ' 170 Valeur d 'alignement de cellule ; remplacement appliqué au niveau de la cellule ' 64 Valeur de couleur du contenu de la cellule ; remplacement appliqué au niveau ' de la cellule ' 63 Valeur de couleur d'arrière-plan (remplissage) du contenu de la cellule ; ' remplacement appliqué au niveau de la cellule ' 69 Valeur Couleurs vraies pour la bordure supérieure de la cellule ; ' remplacement appliqué au niveau de la cellule ' 65 Valeur Couleurs vraies pour la bordure droite de la cellule ; ' remplacement appliqué au niveau de la cellule ' 66 Valeur Couleurs vraies pour la bordure inférieure de la cellule ; ' remplacement appliqué au niveau de la cellule ' 68 Valeur Couleurs vraies pour la bordure gauche de la cellule ; ' remplacement appliqué au niveau de la cellule ' 279 Epaisseur de ligne de la bordure supérieure de la cellule ; ' remplacement appliqué au niveau de la cellule ' 275 Epaisseur de ligne de la bordure droite de la cellule ; ' remplacement appliqué au niveau de la cellule ' 276 Epaisseur de ligne de la bordure inférieure de la cellule ; ' remplacement appliqué au niveau de la cellule ' 278 Epaisseur de ligne de la bordure gauche de la cellule ; ' remplacement appliqué au niveau de la cellule ' 283 Drapeau booléen indiquant si la couleur de remplissage est activée ; ' remplacement appliqué au niveau de la cellule ' 289 Drapeau booléen pour la visibilité de la bordure supérieure de la cellule ; ' remplacement appliqué au niveau de la cellule ' 285 Drapeau booléen pour la visibilité de la bordure droite de la cellule ; ' remplacement appliqué au niveau de la cellule ' 286 Drapeau booléen pour la visibilité de la bordure inférieure de la cellule ; ' remplacement appliqué au niveau de la cellule ' 288 Drapeau booléen pour la visibilité de la bordure gauche de la cellule ; ' remplacement appliqué au niveau de la cellule ' 70 Direction du flux ; remplacement appliqué au niveau de l'entité table ' 40 Marge de cellule horizontale ; remplacement appliqué au niveau de l'entité table ' 41 Marge de cellule verticale ; remplacement appliqué au niveau de l'entité table ' 280 Drapeau indiquant si le titre est supprimé ; remplacement appliqué au niveau de ' l'entité table ' 281 Drapeau indiquant si la rangée d'en-tête est supprimée ; remplacement appliqué ' au niveau de l'entité table ' 7 Nom de style de texte (chaîne) ; remplacement appliqué au niveau de l'entité ' table. Une entrée possible pour chaque type de cellule. ' 140 Hauteur de texte (réel) ; remplacement appliqué au niveau de l'entité table. ' Une entrée possible pour chaque type de cellule. ' 170 Alignement de cellule (entier) ; remplacement appliqué au niveau de l'entité ' table. Une entrée possible pour chaque type de cellule. ' 63 Valeur de couleur pour l'arrière-plan de la cellule ou pour la bordure ' verticale gauche de la table ; remplacement appliqué au niveau de ' l'entité table. Une entrée possible pour chaque type de cellule. ' 64 Valeur de couleur pour le contenu de la cellule ou pour la bordure ' horizontale supérieure de la table ; remplacement appliqué au niveau ' de l'entité table. Une entrée possible pour chaque type de cellule. ' 65 Valeur de couleur pour les lignes de bordure horizontale intérieure ; ' remplacement appliqué au niveau de l'entité table ' 66 Valeur de couleur pour les lignes de bordure horizontale inférieure ; ' remplacement appliqué au niveau de l'entité table ' 68 Valeur de couleur pour les lignes de bordure verticale intérieure ; ' remplacement appliqué au niveau de l'entité table ' 69 Valeur de couleur pour les lignes de bordure verticale droite ; ' remplacement appliqué au niveau de l'entité table ' 283 Drapeau indiquant si la couleur d'arrière-plan est activée (valeur par défaut = 0) ; ' remplacement appliqué au niveau de l'entité table. ' Une entrée possible pour chaque type de cellule : ' 0 = Désactivée ' 1 = Activée '274-279 Epaisseur de ligne pour chaque type de bordure de la cellule ' (valeur par défaut = kLnWtByBlock) ; ' remplacement possible au niveau de l'entité table. ' Un groupe possible pour chaque type de cellule. '284-289 Drapeau pour la visibilité de chaque type de bordure de la cellule ' (valeur par défaut = 1) ; ' remplacement possible au niveau de l'entité table. ' Un groupe possible pour chaque type de cellule : ' 0 = Invisible ' 1 = Visible ' Test sur les tableaux AutoCAD Sub testtbl() Dim DwgIndex As AcadTable Dim TemplateFileName As String Dim Entity As AcadEntity Dim CurrentRow As Long For Each Entity In ThisDrawing.PaperSpace If TypeOf Entity Is AcadTable Then Set DwgIndex = Entity Exit For End If Next Entity ' This function updates the table block record that the Table object ' references to match changes made to the Table object since the most ' recent update of the table block record. DwgIndex.RecomputeTableBlock False 'rows and cols are zero based CurrentRow = 4 With DwgIndex .HorzCellMargin = 0 .VertCellMargin = 0 .MergeCells CurrentRow, (CurrentRow + 1), 0, 2 .SetRowHeight CurrentRow, 8 .SetRowHeight CurrentRow + 1, 8 .SetCellTextHeight CurrentRow, 0, 6 .SetCellAlignment CurrentRow, 0, acMiddleCenter .SetCellTextStyle CurrentRow, 0, "titles" .SetText CurrentRow, 0, "HEADER" End With End Sub ' Sub Example_Table() ' This example adds a table in model space Dim MyModelSpace As IAcadModelSpace2 Set MyModelSpace = ThisDrawing.ModelSpace Dim Pt(2) As Double Dim MyTable As AcadTable Set MyTable = MyModelSpace.AddTable(Pt, 5, 5, 10, 30) ZoomExtents End Sub ' Sub Example_RegenerateTableSuppressed() Dim MyModelSpace As IAcadModelSpace2 Dim MyTable As IAcadTable2 Dim Pt(2) As Double Set MyModelSpace = ThisDrawing.ModelSpace Set MyTable = MyModelSpace.AddTable(Pt, 100, 5, 5, 10) 'Temporarily disable the recomputing of table block MyTable.RegenerateTableSuppressed = True Dim i As Integer, J As Integer For i = 0 To 99 For J = 0 To 4 Call MyTable.SetText(i, J, "my string " & i & ", " & J) Next J Next i 'Now force the recomputing of table block 'so that we can see the update table results MyTable.RegenerateTableSuppressed = False 'You can also call RecomputeTableBlock(true) instead 'to force the regeneration of table 'MyTable.RecomputeTableBlock(True) End Sub ' Sub Test() ' Fields and User input into Table Dim pickObj As AcadMText Dim tblObj As AcadTable Dim pickPt As Variant Dim tblPt As Variant With ThisDrawing.Utility .GetEntity pickObj, pickPt, vbCrLf & "Select text: " .GetEntity tblObj, tblPt, vbCrLf & "Select table: " End With Dim vec0(0 To 2) As Double vec0(0) = 0#: vec0(1) = 0#: vec0(2) = 1# Dim gotRow As Long, gotCol As Long If tblObj.HitTest(tblPt, vec0, gotRow, gotCol) Then tblObj.SetText gotRow, gotCol, "%<\AcObjProp Object(" & _ CStr(pickObj.ObjectID) & ").TextString \f ""%bl2"">%" End If End Sub ' Public Sub testbloc() ' Sort table Dim e As AcadEntity Dim b As Variant 'AcadBlock Dim eDictionary As Object Dim sentityObj As AcadSortentsTable Set eDictionary = _ ThisDrawing.ModelSpace.GetExtensionDictionary Set sentityObj = eDictionary.GetObject("ACAD_SORTENTS") Set b = ThisDrawing.ModelSpace sentityObj.GetFullDrawOrder b, True Dim x As Long 'For Each e In sentityObj.Block For x = LBound(b) To UBound(b) MsgBox b(x).ObjectName 'Next e Next x End Sub ' Sub insertbloc() Dim retval As Long Dim blkObject As AcadBlock Dim tabObject As AcadTable Dim blkName As String Dim blkPt As Variant Set blkObject = ThisDrawing.Blocks(blkName) retval = blkObject.ObjectID ThisDrawing.Utility.GetEntity tabObject, blkPt, "Select Table: " Call tabObject.SetBlockTableRecordId(4, 1, retval, True) End Sub ' Public Sub GetTextInTable() ' %<\AcExpr (297494.78935545) \f "%lu2%pr2%th44">% Dim oTable As AcadTable Dim Point As Variant ThisDrawing.Utility.GetEntity oTable, Point, "Select a table" With oTable 'this displays the header row,column Debug.Print .GetText(0, 0) End With End Sub ' Sub TestTable() RemoveTableStyle "My Table Style" MakeTableStyle "My Table Style" End Sub ' ' '* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * '* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * '* 03 - SR Suppression style tableau utilisateur * '* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * '* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ' Public Sub RemoveTableStyle(StyleName As String) Dim oDict As AcadDictionary Dim oTblSty As AcadTableStyle 'grab the tablestyle dictionary object Set oDict = ThisDrawing.Dictionaries("Acad_TableStyle") For Each oTblSty In oDict 'Debug.Print oTblSty.Name Select Case oTblSty.name Case Is = StyleName oTblSty.Delete End Select Next End Sub ' '* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * '* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * '* 04 - Création style tableau utilisateur * '* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * '* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ' Public Sub MakeTableStyle(StyleName As String) 'future add variables to assign to this Style Dim oDict As AcadDictionary Dim aColor As New AcadAcCmColor Dim oTblSty As AcadTableStyle Dim sKeyName As String Dim sClassName As String 'grab the tablestyle dictionary object Set oDict = ThisDrawing.Database.Dictionaries.item("Acad_TableStyle") sKeyName = "NewStyle" sClassName = "AcDbTableStyle" 'create the TableStyle object in the dictionary Set oTblSty = oDict.AddObject(sKeyName, sClassName) With oTblSty .name = StyleName .Description = StyleName .HorzCellMargin = 0.06 .VertCellMargin = 0.04 .TitleSuppressed = False .SetTextHeight acDataRow, 4# .SetTextHeight acHeaderRow, 5.8 .SetTextHeight acTitleRow, 6.8 .SetGridVisibility 1, 3, True '' .SetAlignment acDataRow, acMiddleCenter End With End Sub ' Par contre ce qui est difficile,c'est de retrouver un tableau inseré ! (s'il y a en plusieurs) Il faut lui attacher un xdata ou bien relire le titre pour vérifier si c'est bien le bon ! Daniel OLIVES
-
Bonjour, Le seul moyen est de passer via le VBA d'excel ou dacess et de gérer AutoCAD LT, par la ligne de commande et le press papier ! C'est une opération des plus interressante pour l'exercice de programmation, mais reste de la haute voltige, il y a un spécialiste sigecom ! Voir le forum Autodesk Autocad fr : http://discussion.autodesk.com/thread.jspa?threadID=680761 J'ai transposé cette routine pour les références externes associées a un dessin, afin de les précharger depuis un site FTP via EXCEL ! Bonne journée ! Daniel OLIVES
-
Bonjour à tous, J'ai un tableau que je génère automatiquement, mais le style initial du tableau donne une hauteur de ligne lambda, puis en le remplissant j'ajuste les hauteurs selon, titre sous-titre et autres lignes. En fin de remplissage mes textes sont plus grands que ce que je souhaite ! Ils débordent de ma longueur de ligne. Pour avoir les bonnes valeur il faut que je clique sur le tableau et que je lise une valeur, alors tout rentre dans l'ordre ?? Mais la hauteur reste à celle précédente (avec le débordement) Je dois mal régénérer l'afichage ! Par contre, dans le menu contextuel il y "uniformisé les hauteurs de ligne". Cette fonction est elle accessible en VBA ? Bonne fin de journée ! Daniel OLIVES
-
Bonjour, Je reviens sur le sujet, as tu essayé d'utiliser un fichier gabarit DWT avec ces champs déjà inscrit ! Daniel OLIVES
-
Bonjour Vinz34, Ceci n'est qu'une remarque avec un cas de figure particulier ! Dans nos routines lisp, nous utilisons la variable ACADLSPASDOC avec la valeur "1" pour que la routine AutoCAD.lsp soient chargée avec tous les dessin et AutoCAD.lsp ele même utilise: (defun S::STARTUP() qui lance: (vl-vbarun "ACADStartup") ce qui permet d'avoir l'équivalent lisp pour le VBA, dans ce cas pour que ta routine focntionne, il faut au préalable la remettre provisoirement à 0 (setq varacad (getvar "ACADLSPASDOC")) (setvar "ACADLSPASDOC" 0) puis la restituer ! à la fin (setvar "ACADLSPASDOC" varacad) Car sans celà la routine reste arrêter avec sur la ligne de commande " nom de la macro:" Bravo pour ce lisp qui sera util à bien des personnes ! daniel OLIVES
-
Bonsoir, Merci pour ces infos ! Des mon retour de vacances je regarde ! Daniel OLIVES
-
Bonjour à tous, Je cherche un exemple simple mettant en oeuvre l'utilisation de: visual studio et / ou Sharpdevelop avec AutoCAD 2008 ! J'ai bien trouvé qqs exemples sur le net mais j'ai des PB de mise en oeuvre ! Avec les Références à déclarer et la facons détaillée si possible de pratiquer. Avec ces nouveaux outils, l'autodidacte que je suis éprouve bien plus de difficultées que lors de la mise en oeuvre du VBA pour AutoCAD voir même du LISP. En VB je sais créer une boite de dialogue externe qui affiche un message ou autre chose. Ce que je souhaite c'est que cette même boite puisse agir dans AutoCAD. Car un bon démarrage me permettra de me familiariser avec ces nouveaux ouils. Merci d'avance pour votre aide ! Daniel OLIVES
-
Re c'est encore moi, As tu le lien exact chez "The Swamp", car je connais ce forum surtout pour le VBA, mais je vois que pour le Lisp ils sont térs forts également ! Mais je ne trouve pas le lien correspondant ! @+ Daniel OLIVES
-
Bonjour à tous, Trés bien je n'avais cela qu'en anglais et bien moins détaillé ! Encore merci ! Mais au fait, quelqu'un sait avec quel logiciel ils ont fait cela ? (annimations !) Daniel OLIVES lyon-FRANCE
-
handle AttributDefinitions
tyrese69_ a répondu à un(e) sujet de tyrese69_ dans Pour aller plus loin en LISP
Bonsoir Gile désolé de ne pas avoir répondu à ton message. Merci pour le bout de code, j'ai pas eu le temps de tester, VBA Word depuis qqs jour ! Dés que j'ai des résultats je te (vous) tiens au courant. Daniel OLIVES Lyon-FRANCE -
Bonjour à tous, La copie d'écran và se trouver sur : Le site d'AutoDesk --> Customer Files (Attachments) Groups Bonne journée Daniel OLIVES Lyon-FRANCE
-
handle AttributDefinitions
tyrese69_ a répondu à un(e) sujet de tyrese69_ dans Pour aller plus loin en LISP
Re bonjour, Je viens de retrouver un lien trés interresant ! http://intervision.hjem.wanadoo.dk/ Daniel OLIVES Bon week end -
handle AttributDefinitions
tyrese69_ a répondu à un(e) sujet de tyrese69_ dans Pour aller plus loin en LISP
Bonjour à tous, J'ai bien testé tout celà déjà mais ce que je souhaite faire c'est uniquement par programmation, sans aucunes sélection, retrouver le handle de l'étiquette d'un attribut donné, en fait pour lire s'il a un champ car j'ai déjà une routine qui fourni la valeur du champ inscrit mais avec passge de paramètre via le HANDLE ! A + Daniel OLIVES Lyon-FRANCE -
Bonjour à tous, Pour nos différents bureaux, le problème a longtemp été évoqué ! Une focntion des express tool nous a même trés intessée ("_PROPULATE") Mais les champs ont été la solution la plus interressante. Voici comment nous avons réglé le problème. Une routine VBA ouvre une boite de dialogue : - soit un fichier ini type de l'affaire concernée donne les infos communes - soit un fichier XLS donne en fonction de la liste des plans les données nécessaires au cartouche. Dans un espace papier donné, donc un PLAN avec un N°, celui-ci ( le N°) donne à la boite de dialogue la ligne du fichier EXCEL qui correspond. L'utilisateur peut donc vérifier de visu que les infos sont bonnes ! Si tout est OK, les données communes sont écrites dans les propriétés du dessin (valeurs utilisateur) puis à l'aide de champs inscrits dans le cartouche de l'affaire les liens se font automatiquement. Dans le cas où il y a plusieurs présentations donc plusieurs PLANS les données non communes (Zone , niveau ou une autre spécialité par exemple) sont récupérées de la feuille EXCEL en focntion du N° du plan et sont inscrites dans cette seule présentation (Ecriture des valeurs des attributs) Une copie d'écran de la boite peut être postée sur le forum si c'est possible ! Bonne journée Daniel OLIVES Lyon-FRANCE
-
Bonjour à tous, Lorsque l'on clic sur un bloc avec attribut, l'étiquette possède un handle particulier, comment par programmation retrouver celle-ci ? (J'ai poster ce même message sur le forum VBA. Mais en lisp cette manip semble possible alors qu'en VBA les dictionnaires ne sont pas accessibles !) Daniel OLIVES Lyon-FRANCE
-
Bonjour à tous, Lorsque l'on clic sur un bloc avec attribut, l'étiquette possède un handle particulier, comment par programmation retrouver celle-ci ? Daniel OLIVES Lyon-FRANCE
