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. Pour ceux que cela interesse. Il faut compléter la recherche avec accore.dll et acwindows.dll @+
  2. Patrick_35

    Extension pour AutoLISP

    Salut (gile) Avec ta fonction (gc-vpfreeze ...), cela ne fonctionne pas sur une fenêtre en ObjectDbx. C'est parce que l'on donne un ename ? Merci @+
  3. Salut (gile) Je viens de tester (méthode avec strings.exe) pour trouver toutes les variables et je n'ai pas tout. Par exemple, je ne trouve pas AFLAGS dans le fichier des variables système. J'ai aussi regardé la taille de ton fichier pour une 2013 (11446) et le mien pour une 2014 en 64 bits (2321) Surement une DLL à intégrer, mais laquelle ? @+
  4. Et si tu faisais simplement dans ton bloc Champ --> Nom de fichier @+
  5. Salut Tu peux faire plein de choses avec les champs. Avec les variables Autocad, le diesel, des formules, etc... Il faut juste prendre un peu de temps de regarder et voir les possibilités. @+
  6. Oui Essaye (setq a 1 b 2 c 3 d 4 e 5 f 6) (member c '(1 2 3 4)) (member f '(1 2 3 4)) (member c (list a b c d)) (member f (list a b c d)) ps : Le quote est là pour indiquer qu'il ne faut pas évaluer l'expression qui suit. @+
  7. Cela ne change rien à la fonction. J'avais juste repris ton exemple @+
  8. Salut (member 'c '(a b c d e)) (member 'f '(a b c d e)) @+
  9. Patrick_35

    gel du calque 0

    Salut La commande doit chercher à geler un élément du bloc/xref qui est sur le calque 0 (normal si le bloc est bien fait) Tu lances la commande GelCalque --> Paramètres --> Sélection de bloc --> Bloc @+
  10. Salut Tu ne peux pas. C'est le principe même des blocs dynamiques. Pour afficher un bloc, Autocad regarde dans la table des blocs et affiche ce qu'il trouve dans cette table (lignes, arcs, etc...) Comme les blocs dynamiques sont en principe différents graphiquement en fonction de certaines actions, alors ils ont obligatoirement des noms différents afin qu'Autocad les retrouvent dans la table des blocs pour les afficher correctement. @+
  11. Patrick_35

    [Lisp] Cadre&masque

    Salut Dans le lisp MT, tu remplaces les '(62 . 1) par '(62 . 7) @+
  12. Salut Une piste, à étoffer pour des blocs dynamiques. (defun c:efa(/ doc ent sel) (setq doc (vla-get-activedocument (vlax-get-acad-object))) (vla-startundomark doc) (and (setq ent (car (entsel))) (setq nom (cdr (assoc 2 (entget ent)))) (progn (vlax-for ent (vla-item (vla-get-blocks doc) nom) (and (eq (vla-get-objectname ent) "AcDbAttributeDefinition") (vla-delete ent) ) ) (and (ssget "x" (list (cons 0 "insert") (cons 2 nom) (cons 66 1))) (progn (vlax-for ent (setq sel (vla-get-activeselectionset doc)) (entmake (vl-remove-if '(lambda(x)(member (car x) '(-1 5 66 330))) (entget (vlax-vla-object->ename ent)))) (vla-delete ent) ) (vla-delete sel) ) ) ) ) (vla-endundomark doc) (princ) ) @+
  13. Patrick_35

    SDI à 0 et pourtant...

    Salut Avec la commande _filetab ou Outils --> Options --> Affichage --> Afficher les onglets de fichier @+
  14. Patrick_35

    (WIP) Street Car

    Salut C'est impressionnant comme dessin sur autocad. Chapeau. @+
  15. Patrick_35

    SDI à 0 et pourtant...

    Salut La variable taskbar est à 0 ? @+
  16. Oui, j'ai vu la même émission. Pour info, il reste 40 jours (c'est indiqué sur le site actioncivile.com) Le reportage @+
  17. Bonjour Pour tous ceux qui ont fait un crédit immobilier ou un crédit à la consommation, l'emprunteur paye une assurance décès ou d'invalidité. Si celle-ci n'est pas utilisé lors de l'emprunt, la loi impose à la banque de reverser une somme d'argent appelée "participation aux bénéfices". Un article de presse sur ce sujet ainsi qu'une action collective en cours. On peut s'inscrire et c'est gratuit. Une simulation permet de savoir combien une banque vous doit comme argent. Faites le savoir autour de vous car plus on est nombreux... @+
  18. Patrick_35

    Attribut

    Salut (setq att (vlax-ename->vla-object (car (nentsel)))) (setq bloc_pere (vla-objectidtoobject (vla-get-database att)(vla-get-ownerid att))) @+
  19. Salut Je suis content que tu ais trouvé, et par toi-même en plus car on n'est pas nombreux à s'aventurer dans les liaisons API. Comme tu poses la question, peut-être un test pour vérifier que tu as bien access, sinon, rien de mieux. @+
  20. Si tu regardes dans "C:\Program Files\Autodesk\AutoCAD 20xx\Sample\Database Connectivity\CAO", tu as un exemple en lisp avec un dessin de test. Voir si déjà ça peut répondre à ton besoin. Sinon, un exemple qui permet de te connecter sur un fichier mdb (setq fic (findfile "c:/temp/db_samples.mdb")) (setq username "" password "") (setq ado (vlax-create-object "ADODB.Connection")) (setq mdb (vlax-invoke-method ado 'Open (strcat "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" fic) username password nil)) Pour ce qui est de lire un enregistrement, je n'ai pas trop le temps de chercher, mais tu devrais pouvoir avancer avec ce lien @+
  21. Regarde le résultat. Pas besoins de grandes phrases. Les objets qui ont la couleur "ducalque" sont forcés avec la couleur correspondant au calque de l'objet. @+
  22. Salut Et si tu nous indiquais ce que tu cherches à faire exactement ? @+
  23. Salut Intéressante l'astuce. Je pense comme Gérald qu'avec une variable, cela ne change pas grand-chose, mais la démarche est intelligente. Merci @+
  24. Salut Deux versions qui correspondent à ton besoin. La première qui change aussi la couleur des objets sur des calques verrouillés et la seconde qui ignore les objets sur calques verrouillés. Avec calques verrouillés (defun c:col(/ doc ent lst sel) (vl-load-com) (setq doc (vla-get-activedocument (vlax-get-acad-object))) (vla-startundomark doc) (and (ssget "x") (progn (vlax-for ent (vla-get-layers doc) (and (eq (vla-get-lock ent) :vlax-true) (setq lst (cons (vla-get-name ent) lst)) (vla-put-lock ent :vlax-false) ) ) (vlax-for ent (setq sel (vla-get-activeselectionset doc)) (and (eq (vla-get-color ent) 256) (vla-put-color ent (vla-get-color (vla-item (vla-get-layers doc) (vla-get-layer ent)))) ) ) (mapcar '(lambda(x)(vla-put-lock (vla-item (vla-get-layers x)) :vlax-true)) lst) (vla-delete sel) ) ) (vla-endundomark doc) (princ) ) Sans les calques verrouillés (defun c:col(/ doc ent sel) (vl-load-com) (setq doc (vla-get-activedocument (vlax-get-acad-object))) (vla-startundomark doc) (and (ssget "x") (progn (vlax-for ent (setq sel (vla-get-activeselectionset doc)) (and (eq (vla-get-color ent) 256) (vl-catch-all-apply 'vla-put-color (list ent (vla-get-color (vla-item (vla-get-layers doc) (vla-get-layer ent))))) ) ) (vla-delete sel) ) ) (vla-endundomark doc) (princ) ) @+
  25. Salut Pour me connecter via ADO, j'avais plutôt utilisé ceci (defun lancer_ado() (vlax-create-object "ADODB.Connection") ) (setq activex (lancer_ado)) Mais juste pour jouer avec un fichier de type Excel. Je sais que c'est faisable avec access. Sinon, tu as un excellent site @+
×
×
  • 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é