Aller au contenu

Patrick_35

Membres
  • Compteur de contenus

    6 374
  • Inscription

  • Dernière visite

  • Jours gagnés

    30

Tout ce qui a été posté par Patrick_35

  1. Salut Un truc vite fait, sans faire de décalage (defun c:mog(/ act att blo cod doc dxf ent fen fol lay lst nom old sel txt val) (setq doc (vla-get-activedocument (vlax-get-acad-object))) (vla-startundomark doc) (vlax-for lay (vla-get-layers doc) (setq nom (vla-get-name lay)) (if (not (zerop (atoi nom))) (setq lst (cons nom lst)) (or (eq nom (getvar "clayer")) (vla-put-freeze lay :vlax-false) (vla-put-layeron lay :vlax-true) ) ) ) (setq lst (cons "PDG" (vl-sort lst '<))) (foreach fol lst (if (vl-catch-all-error-p (setq lay (vl-catch-all-apply 'vla-item (list (vla-get-layouts doc) fol)))) (setq lay (vla-add (vla-get-layouts doc) fol)) (and (ssget "x" (list (cons 410 fol))) (progn (vlax-map-collection (setq sel (vla-get-activeselectionset doc)) 'vla-delete) (vla-delete sel) ) ) ) (vla-put-activelayout doc lay) (setq fen (vla-addpviewport (vla-get-block lay) (vlax-3d-point '(210.0 148.5 0.0)) 420. 297.)) (vla-put-layer fen "0") (vla-put-color fen "256") (vla-put-viewporton fen :vlax-true) (vla-getxdata fen "ACAD" 'cod 'val) (setq dxf (mapcar '(lambda(a) (cons 1003 a))(vl-remove fol lst)) cod (reverse (append '(1002 1002) (mapcar 'car dxf) (cddr (reverse (vlax-safearray->list cod))) ) ) val (reverse (append (list (vlax-make-variant "}")(vlax-make-variant "}")) (mapcar '(lambda(a)(vlax-make-variant (cdr a))) dxf) (cddr (reverse (vlax-safearray->list val))) ) ) ) (vla-setxdata fen (vlax-safearray-fill (vlax-make-safearray vlax-vbInteger (cons 0 (1- (length cod)))) cod) (vlax-safearray-fill (vlax-make-safearray vlax-vbVariant (cons 0 (1- (length val)))) val) ) (vla-zoomextents (vlax-get-acad-object)) (vla-display fen :vlax-false) (vla-display fen :vlax-true) (vla-put-mspace doc :vlax-true) (vla-zoomextents (vlax-get-acad-object)) (vla-put-mspace doc :vlax-false) (vla-put-displaylocked fen :vlax-true) ) (vla-put-activelayout doc act) (vla-endundomark doc) (princ) ) @+
  2. Patrick_35

    Api_xls

    Merci bseb67 Si tu le souhaites, tu as une version avec plus de fonctionnalités. Ce que j'aime avec cette api, c'est que l'on peut travailler aussi bien avec open office qu'avec excel. @+
  3. Salut Met la variable grips à 0 @+
  4. Patrick_35

    Etats de visibilités

    Salut Avec le lisp de (giles) SSD, tu sélectionnes tes blocs dynamiques, puis avec les propriétés (ctrl+1), tu appliques le paramètre de visibilité souhaité @+
  5. Patrick_35

    Modifier des Xdata

    C'est qu'il se fâcherait notre gilou national ;) Je me doute qu'il est plaisant de faire la même chose en .net, histoire de mieux maîtriser les boites de dialogues. Si je prenais le temps d'approfondir, c'est ce que j'aurai fait, mais en 1er. @+
  6. Patrick_35

    Modifier des Xdata

    Bien sûr ! C'est d'ailleurs ce que j'ai fait en .NET... Ok, c'est donc l'excuse pour passer en .net ;) @+
  7. Patrick_35

    Modifier des Xdata

    Salut Avec une list_box par exemple. @+
  8. Patrick_35

    ATTOUT ATTIN

    Ah oui, je me suis planté de login ;) @+
  9. Patrick_35

    Onglet de présentation

    Salut Je vais prendre le temps de changer tous les liens @+
  10. Patrick_35

    ATTOUT ATTIN

    Merci lili, pour toi aussi et tous tes proches Donc, avec une gabarit (defun c:lili(/ att cla col ent feu fic gab lig nom xls nombl) (defun nombl(bl) (if (vlax-property-available-p bl 'effectivename) (vla-get-effectivename bl) (vla-get-name bl) ) ) (vl-load-com) (setq doc (vla-get-activedocument (vlax-get-acad-object)) [surligneur]nom "Nom_Bloc[/surligneur] [surligneur]gab "c:/test/gabarit.xls"[/surligneur] ) (or lancer_excel (load (findfile "api_xls.lsp")) ) (or (setq xls (lancer_excel)) (setq xls (lancer_ooo)) ) (and xls (progn (and (findfile (setq fic (strcat (vl-filename-directory gab) "/" (substr (getvar "dwgname") 1 (- (strlen (getvar "dwgname")) 3)) "xls"))) (vl-file-delete fic) ) (vl-file-copy gab fic) (setq cla (ouvrir_fichier xls fic)) (and (ssget "x" (list (cons 0 "insert") (cons 2 (strcat "`**," nom)) (cons 66 1))) (progn (setq col 65 lig 2 feu (feuille_active cla) ) (vlax-for ent (setq sel (vla-get-activeselectionset doc)) (and (eq (nombl ent) nom) (foreach att (vlax-invoke ent 'getattributes) (ecrire_cellule cla feu (strcat (chr col) (itoa lig)) (vla-get-textstring att)) (setq col (1+ col)) ) (setq col 65 lig (1+ lig) ) ) ) (vla-delete sel) (sauver_fichier cla) (princ (strcat "\nCréation du fichier : " fic)) ) ) (and cla (fermer_fichier cla)) (fermer_appli (list xls cla)) ) ) (princ) ) @+
  11. Patrick_35

    Onglet de présentation

    Salut Avec FOG par exemple @+
  12. Patrick_35

    ATTOUT ATTIN

    Salut lili et tous mes voeux de bonne année, de bonne santé à vous tous. Quelque chose dans ce style ? (defun c:lili(/ att cla col ent feu fic lig nom xls nombl) (defun nombl(bl) (if (vlax-property-available-p bl 'effectivename) (vla-get-effectivename bl) (vla-get-name bl) ) ) (vl-load-com) (setq doc (vla-get-activedocument (vlax-get-acad-object)) nom [surligneur]"Un_bloc"[/surligneur] ; Nom du bloc ) (or lancer_excel (load (findfile "api_xls.lsp")) ) (or (setq xls (lancer_excel)) (setq xls (lancer_ooo)) ) (and xls (progn (and (setq fic (strcat (getvar "dwgprefix") (getvar "dwgname") ".xls")) (setq cla (nouveau_fichier xls fic)) (progn (and (ssget "x" (list (cons 0 "insert") (cons 2 (strcat "`**," nom)) (cons 66 1))) (progn (setq col 65 lig 1 feu (feuille_active cla) ) (vlax-for ent (setq sel (vla-get-activeselectionset doc)) (and (eq (nombl ent) nom) (foreach att (vlax-invoke ent 'getattributes) (ecrire_cellule cla feu (strcat (chr col) (itoa lig)) (vla-get-textstring att)) (setq col (1+ col)) ) (setq col 65 lig (1+ lig) ) ) ) (vla-delete sel) (sauver_fichier cla) (princ (strcat "\nCréation du fichier : " fic)) ) ) ) ) (and cla (fermer_fichier cla)) (fermer_appli (list xls cla)) ) ) (princ) ) ps : requiert Api_Xls
  13. Salut Très bonne initiative :D Ce qui est le cas, mais qu'on voit en prog uniquement. Si on veut aller plus loin, c'est aussi vrai pour les espaces papiers. Juste pour simplifier (à mon sens) La table des blocs est la "palette" ou "bibliothèque" qui contient tous les symboles de mon dessin. On peut la compléter par la palette d'outils ou en utilisant parcourir lors de l'insertion d'un nouveau symbole. Une référence de bloc (ou objet/entité) fait appel à la table des blocs pour afficher le symbole (suivant les calques bien sur) Cette référence peut-être dupliquée plusieurs fois dans le dessin avec des échelles, couleurs, etc... différents, ce qui donne un ensemble d'objets. Pour cette ensemble d'objets, si on modifie la définition du bloc, ils sont tous modifiés. Pour ce qui est des blocs dynamiques, s'ils ont des noms anonymes, c'est qu'en réalité, chaque état du bloc est en réalité un bloc (créé automatiquement par autocad) Par exemple J'insère un bloc dynamique et lui donne un état. Autocad lui affecte un nom anonyme du style "*U122" et créé obligatoirement une définition de bloc. Je modifie un état de mon bloc, le nom anonyme de ma référence change. Autocad a de nouveau créé une nouvelle définition de bloc. Si je purge le dessin, j'ai un paquet de définition de blocs anonymes qui peuvent être "effacé" Un Tuto de Didier Lourdelle sur les blocs. C'est ma même chose --> insérer un bloc dans un dessin. @+
  14. Avec le bouton d'options @+
  15. Patrick_35

    Nettoyer

    Salut Pour quelle raison ? Si un bloc peut-être purgé, c'est qu'il n'est plus dans le dessin ? ps : si un bloc dyn change d'état dans un dessin, il a un nouveau nom anonyme, c'est pour cela que l'on purge plusieurs blocs anonymes @+
  16. J'avais pas vu le bouton, trop visible ;) Et en utilisant Revo Uninstaller ? En réduisant la taille de l'image pas exemple, sans compter la durée @+
  17. C'est avec lui que j'ai fais ma capture vidéo, j'ai du rater quelque chose. Avec Magic Swf2Gif @+
  18. Merci, mais j'ai du chercher pour ne travailler qu'avec des free. C'est très simple comme démarche :( D"abord une capture vidéo en avi. Convertion de l'avi en swf (flash) puis en Gif. Reste plus qu'à déposer l'image chez un hébergeur. Si tu as un free qui permet la capture vidéo directement en gif, je suis preneur. @+
  19. Donc, c'est OK ;) http://img574.imageshack.us/img574/6469/demoe.gif @+
  20. Salut Je suis comme Didier, je ne comprends pas tout. @+
  21. Salut Un exemple (hauteur texte = 10) @+
  22. jarod34 & lecrabe : bug corrigé pierrevigneux : ça fonctionne avec une v2004. Il faut que les points soient sur la poly. @+
  23. Voila, c'est fait lecrabe @+
  24. Que cherche tu à faire exactement ? @+
  25. Salut Avec :vlr-objectAppended de vlr-acdb-reactor ? @+
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité