Aller au contenu

vinz34

Membres
  • Compteur de contenus

    340
  • Inscription

  • Dernière visite

  • Jours gagnés

    1

Tout ce qui a été posté par vinz34

  1. Salut, C'est exact, d'où la nécesssité de passer par un (command "scalelistedit" "r" "o" "q") Puis l'ajout des échelles personnalisées, ou modifications des existantes.
  2. vinz34

    Compare 2 plans

    Bon, je déclare forfait pour tester les blocs dans leurs tables respectives. Le code s'en trouve beaucoup trop alourdi et le temps aussi. J'ai rajouté un contrôle du nombre d'entités dans le bloc et corrigé les bugs rencontrés au fil des tests. Voici la dernière version : ;;; par Vincent Dufournaud (vinz34) ;;; mrvd34@hotmail.com ;;;créé le 16.04.2008 ;;;modifié le 02.05.2008 : (compare les attributs et analyse par Object.dbx ;;;modifié le 06.05.2008 : corrections d'erreurs, ajout de comparaison du nombre d'entité dans les blocs. ;;;modifié le 10.06.2009 : ajout de la vérification des calques d'entités (vl-load-com) (defun c:cdwg (/ app cdoc fichier dbx name sp1 sp2 e obj lstmodif lstajout lstsuppr lst obj sup h ) (setq app (vlax-get-acad-object) cdoc (vla-get-activedocument app) name (vla-get-fullname cdoc) s (getvar "date") t1 (* 86400.0 (- s (fix s))) ) (while (not fichier) (setq fichier (getfiled "Sélection de l'ancien plan" (strcat (vl-filename-directory (vla-get-fullname cdoc)) "/" ) "dwg" 4 ) ) ) (vla-open (if (< (atoi (substr (getvar "ACADVER") 1 2)) 16) (setq dbx (vlax-create-object "ObjectDBX.AxDbDocument")) (setq dbx (vlax-create-object (strcat "ObjectDBX.AxDbDocument." (substr (getvar "ACADVER") 1 2) ) ) ) ) fichier ) (vla-saveas cdoc (strcat (substr name 1 (- (strlen name) 4)) " Modications" ) ) (setq sp1 (vla-get-modelspace cdoc) sp2 (vla-get-modelspace dbx) ) (vlax-for lay (setq layers (vla-get-layers cdoc)) (vlax-put lay 'color 253) (vla-put-lock lay :vlax-false) ) (vlax-for lay (vla-get-layers dbx) (vla-put-lock lay :vlax-false) ) (vlax-for ent sp1 (setq lst1 (cons ent lst1)) ) (defun equal-objects (obj1 obj2) (vl-every (function (lambda (p) (and (or (not (vlax-property-available-p obj1 p)) (equal (vlax-get obj1 p) (vlax-get obj2 p) 1e-9 ) ) (or (not (and (= (vla-get-ObjectName obj1) "AcDbBlockReference") (= (vla-get-HasAttributes obj1)) ) ) (and (vl-every 'equal-objects (vlax-invoke obj1 'getAttributes) (vlax-invoke obj2 'getAttributes) ) (= (vla-get-count (vla-item (vla-get-blocks cdoc) (vla-get-name obj2)) ) (vla-get-count (vla-item (vla-get-blocks dbx) (vla-get-name obj1)) ) ) ) ) ) ) ) '(ObjectName Center Radius Coordinates StartPoint EndPoint StartAngle EndAngle MajorAxis RadiusRatio TextString InsertionPoint Width Height Rotation XScaleFactor YScaleFacor ZScaleFactor Layer ) ) ) (vlax-put (vla-add layers "0.Ajouts") 'color 172) (vlax-put (vla-add layers "0.Modications") 'color 10) (vlax-put (vla-add layers "0.Suppressions") 'color 92) (vlax-for ent sp2 (if (handent (setq h (vla-get-handle ent))) (if (entget (handent h)) (progn (setq e (vla-handletoobject cdoc h)) (cond ((and (not (equal-objects ent e)) (vlax-property-available-p e 'layer) ) (vla-put-layer e "0.Modications") ) ) (setq lst1 (vl-remove e lst1)) ) (vla-put-layer (car (vlax-invoke dbx 'CopyObjects (list ent) sp1)) "0.Suppressions" ) ) (vla-put-layer (car (vlax-invoke dbx 'CopyObjects (list ent) sp1)) "0.Suppressions" ) ) ) (if lst1 (foreach n lst1 (cond ((vlax-property-available-p e 'layer) (vla-put-layer n "0.Ajouts") ) ) ) ) (vlax-for b (vla-get-blocks cdoc) (vlax-for i b (vla-put-color i 256) ) ) (vlax-release-object dbx) (vla-purgeall cdoc) (vla-save cdoc) (setq s (getvar "date") t2 (* 86400.0 (- s (fix s))) tt (- t2 t1) ) (if (> tt 60) (progn (setq sec (rem tt 60) mn (strcat (rtos (/ (- tt sec) 60) 2 0) " mn ") sec (strcat (rtos sec 2 0) " s") ) ) (progn (setq sec (strcat (rtos tt 2 0) " s") mn "0 mn " ) ) ) (alert (strcat "Plan de repérages des modifications\n\nLes ajouts sont en vert\nLes modifications en rouge\nLes suppressions en bleu\n\nTemps d'éxecution : " mn sec ) ) ) Si vous rencontrez des messages d'erreurs, merci de les signaler. Tout commentaire reste le bienvenu. [Edité le 10/6/2009 par vinz34]
  3. vinz34

    ARX ERROR

    Salut, Je n'ai pas la solution mais une autre ARX error sur AutoCAD 2006 cette fois sur des Xref. Quand le message reviendra je le posterais.
  4. vinz34

    AUTOCAD 2009

    Salut, Au sujet es chemins de recherche qui ne s'enregistrent pas il faut regarder du côté de la variable REMEMBERFOLDERS.
  5. vinz34

    AA 2009 - PUBLIER !

    Salut, On en a déja parlé sur le forum 2008 pour la version AutoCAD 2009. Effectivement c'est un problème lié à ces nouvelles versions. Je ne comprends pas trop pourquoi le résultats des demandes de publication reste aléatoire. Je cherche encore à comprendre. ...
  6. vinz34

    Plan tout gris

    Salut, Je me suis aperçu que le modelspace étant répertorié dans la table des blocs, je peux supprimer ça : (vlax-for e (vla-get-modelspace cdoc) (vla-put-color e 256) ) Modifié sur le premier post.
  7. vinz34

    Plan tout gris

    Salut, Il me semblait bien que j'avais déjà vu quelque chose dans le style mais je ne le retrouvais pas, alors c'était un petit exercice sur lequel je me suis régalé. Pour les calques vérouillés, je ne sais si c'est bien utile mais je l'ai rajouté, en revanche ce qui l'est plus c'est le undogroup. Les modifications sont intégrées au dessus.
  8. vinz34

    Compare 2 plans

    Salut, Merci lili2006, j'ai fais plus de test avec la dernière version et j'avoue qu'elle n'est pas encore tout à fait au point, j'ai quelques anomalies à régler encore avant de tester dans les blocs.
  9. vinz34

    Entités modifiées par FIND

    Salut, Si c'est bien du dernier de jeu de sélection dont il s'agit, tu peux faire (ssget "P"), je sais ce n'est pas du visual lisp, mais ça marche.
  10. vinz34

    Plan tout gris

    Bonjourt, Suite à la demande de plusieurs membres et du fait que énormément de dessinateurs ou projeteurs aiment travailler avec un fond de plan en gris, voici quelque chose qui devrai simplifier la vie de pas mal d'utilisateurs. (vl-load-com) (defun c:8 (/ cdoc lst) (setq cdoc (vla-get-activedocument (vlax-get-acad-object))) (vla-startundomark cdoc) (vlax-for l (vla-get-layers cdoc) (setq lst (cons (cons l (vla-get-lock l)) lst)) (vla-put-lock l :vlax-false) (vla-put-color l 8) ) (vlax-for i (vla-get-blocks cdoc) (vlax-for e i (vla-put-color e 256)) ) (foreach n lst (vla-put-lock (car n) (cdr n))) (vla-endundomark cdoc) ) Bon test.[Edité le 6/5/2008 par vinz34] [Edité le 6/5/2008 par vinz34]
  11. vinz34

    AUTOCAD 2009

    Salut, Comme nous l'a précisé notre nouveau webmaster toute l'équipe travaille d'arrache pied pour nous assurer un "surf de qualité". Donc soyons patient pour le forum 2009.
  12. Salut, Le problème est résolu avec la version 2009, si tu as trop d'échelles Autocad te propose te supprimer les excédentaires en réinitialisant la liste et en te permettant d'afficher ou non celles venant d'Xrefs. Cependant, le problème de la gestion de ces échelles par rapport à l'unité de dessin n'est toujours pas géré contrairement à la version MEP par exemple. Donc, on continue avec le lisp....
  13. Salut, Pour mémoire ce sujet à déja été résolu ici. Sur ce, bonne journée
  14. vinz34

    Compare 2 plans

    Salut, Merci (gile), je n'avais pas pensé à ce test. J'ai mis une boucle à la place du if.
  15. vinz34

    Compare 2 plans

    Salut, Quelques modifications por une version 2.0 : - vérification des attributs (merci (gile)) - utilisation de l'Objectdbx (merci Patrick_35) ;;; par vinz34 ;;;créé le 16.04.2008 ;;;modifié le 02.05.2008 : (compare les attributs et analyse par Object.dbx VOIR PLUS BAS POUR LES DERNIERS CORRECTIFS Je test encore les blocs.. Bon week-end. Edit : ajout d'un test conseillé par (gile) au choix de l'ancien plan.[Edité le 3/5/2008 par vinz34] [Edité le 6/5/2008 par vinz34]
  16. vinz34

    2009 : lenteur en EP ?

    Salut, Le problème ne vient pas de la scalelist. Avec deux échelles et une seule fmult dans l'EP, c'est très difficile de déplacer ou d'étirer la fenêtre. [Edité le 3/5/2008 par vinz34]
  17. vinz34

    2009 : lenteur en EP ?

    Salut, Idem c'est une horreur dans l'espace papier (NVIDIA Quadro FX 550 128 Mo)
  18. vinz34

    COMMANDE FIELDEVAL

    Salut lili2006, Est-ce que ça ne viendrait pas du fait que justement c'est un "PlotDate" et qu'il n'est mis à jour qu'a l'impression. Je me trompe peut-être mais essaies avec un champ date ou date d'enregistrement pour le dernier tu peux être sur qu'il sera mis à jour puisque la commande etransmit te propose d'enregistrer le dessin.
  19. Salut, Je l'ai testé avec des Xrefs il plante, c'est dommage.
  20. vinz34

    F1 (l\'aide)??????

    Salut, Quand tu es dans l'aide, si tu sais ce que tu cherche tu peux passer par le sommaire (plutot que l'index), ensuite dans présentations des commandes tu choisiis variables systèmes et tu trouveras ton bonheur. Effectivement à la première utyilisation de l'index tu ne trouveras pâs tout, il te faut ajouter les emplacements de recherche mais je ne sais plus où trouver ça.
  21. vinz34

    Compare 2 plans

    Salut, J'intègre la variable "ACADLSPASDOC". Je travaille encore sur les blocs (je n'ai pas beaucoup de temps en ce moment).
  22. Re, Le ventre bien rempli je te propose de remplacer les 2 lignes que tu as surligné par : (setq o (vla-open (vla-get-documents (vlax-get-acad-object)) fichier)) (vla-close o) Sur ce ...
  23. Salut, Ca ne vient pas du vla-open mais plûtot du defun c:open que tu avais initialement. Tu utilise le nom d'une commande qui existe déja.
  24. Re, Si tu veux éviter les smileys, quand tu écris ton post il y a sous l'éditeur une case à cocher "Désactiver les smileys?".
  25. Salut, C'est un coup de la variable sdi. Ilne faut pas d'espace entre c: et open Tu peux le faire plus proprement en passant par : (vl-load-com) (defun c:open2 () (setq fichier (getfiled "\Selectionner :" (getvar "dwgprefix") "dwg" 4)) (vla-open (vla-get-documents (vlax-get-acad-object)) fichier)) [Edité le 29/4/2008 par vinz34]
×
×
  • 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é