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 petit coup de benchmark (defun pa:lst-type (lst ltype flag) (if flag (vl-remove-if-not '(lambda(x)(member (type x) ltype)) lst) (vl-remove-if '(lambda(x)(member (type x) ltype)) lst) ) ) (benchmark '((bv:lst-type '(1.0 "Un" 2 toto) '(SYM REAL) T)(pa:lst-type '(1.0 "Un" 2 toto) '(SYM REAL) T))) (benchmark '((bv:lst-type '(1.0 "Un" 2 toto) '(SYM REAL) nil)(pa:lst-type '(1.0 "Un" 2 toto) '(SYM REAL) nil))) @+
  2. Salut Dans l'attribut auquel tu veux faire l'addition, tu fais un clic droit --> insérer un champ --> Formule Dans la zone formule, tu fais clic droit --> insérer un champ --> Variable système --> elevation Tu ajoutes le + pour l'addition après le champ Tu fais ensuite après le + clic droit --> insérer un champ --> Objet --> Sélection de l'attribut qui contient la hauteur --> Valeur de l'attribut. Pour le reste, ce ne sont que des attributs simple. @+
  3. Tu as regardé mon exemple ? @+
  4. Salut Voici un exemple avec des formules dans des champs. Tu changes la variable elevation pour le niveau NGF ou tout simplement la hauteur par rapport au sol. Un Regen permet de voir les résultats. @+
  5. Salut Sympa pour ceux qui ont pris la peine de t'aider. @-
  6. Salut Tu as RB @+
  7. Salut Tu me surprends dans tes tests. Je regarde au benchmark (defun f1() (setq AllFileList nil) (setq fso (vlax-create-object "Scripting.FileSystemObject")) (setq dir (vlax-invoke fso 'getfolder "C:/Lisp/Test/")) (vlax-for file (vlax-get dir 'files) (and (member (strcase (vl-filename-extension (vlax-get file 'name))) '(".DWG" "*.DWT" "*.BAK" "*.DWS")) (setq AllFileList (cons file AllFileList)) ) ) ) (defun f2() (setq AllFileList nil) (setq fso (vlax-create-object "Scripting.FileSystemObject")) (setq dir (vlax-invoke fso 'getfolder "C:/Lisp/Test/")) (vlax-for file (vlax-get dir 'files) (and (member (strcase (vl-filename-extension (vlax-get file 'name))) '(".DWG" "*.DWT" "*.BAK" "*.DWS")) (setq AllFileList (cons (list (vlax-get file 'name) (vlax-get file 'Size) ) AllFileList ) ) ) ) ) (defun f3() (setq AllFileList nil) (setq n "C:/Lisp/Test/") (foreach b '("*.dwg" "*.dwt" "*.bak" "*.dws") (setq ifiles (vl-directory-files n b 1)) (if ifiles (setq AllFileList (append AllFileList ifiles)) ) ) ) (benchmark (list 'f1 'f2 'f3)) (defun f4() (setq AllFileList nil) (setq n "C:/Lisp/Test/") (foreach b '("*.dwg" "*.dwt" "*.bak" "*.dws") (setq ifiles (vl-directory-files n b 1)) (if ifiles (setq AllFileList (cons AllFileList ifiles)) ) ) ) (benchmark (list 'f1 'f2 'f3 'f4)) Mouais, tout cela se tient @+
  8. Salut Un append est moins rapide qu'un cons Test avec le benchmark tes fonctions et regarde avec par exemple (setq fso (vlax-create-object "Scripting.FileSystemObject")) (setq dir (vlax-invoke fso 'getfolder "c:/test/")) par exemple pour construire la liste (vlax-for file (vlax-get dir 'files) (and (member (strcase (vl-filename-extension (vlax-get file 'name))) '(".DWG" "*.DWT" "*.BAK" "*.DWS")) (setq AllFileList (cons file AllFileList)) ) ) ou encore (vlax-for file (vlax-get dir 'files) (and (member (strcase (vl-filename-extension (vlax-get file 'name))) '(".DWG" "*.DWT" "*.BAK" "*.DWS")) (setq AllFileList (cons (list (vlax-get file 'name) (vlax-get file 'Size) ) AllFileList ) ) ) mais on n'est plus dynamique avec les fichiers ) @+
  9. Salut Ou encore celui-ci ps : tu as plusieurs liens sur ma page @+
  10. Salut c'est peut-être verrouillé ? (le cadenas en bas à droite) @+
  11. Salut Tu peux par exemple déposer tes fichiers ici http://dl.free.fr/ http://www.cijoint.fr/ Pour ce qui est de l'écriture dans le fichier, j'ai réfléchit à une chose (si, si, ça arrive ;) ) Pour la lecture, tu pointe sur un fichier et avec ObjectDbx, tu lis les données. Tu écris ce que tu as besoin et quand tu ferme l'appli ou que tu sélectionnes un autre fichier, tu fais la sauvegarde des données. ps : Pour la traduction, je ne pense pas être le mieux placé pour t'aider, mais tu peux utiliser les outils linguistique de Google. @+
  12. Patrick_35

    Cartouche

    Salut Tu as aussi PAT @+
  13. Salut Tu veux dire que tu n'a pas le fichier .. C:\Program Files\DuctiSoft\InfoDWG\InfoDWG_HELP.doc Maintenant que tu le dis, je viens de regarder et je n'ai pas le fichier d'aide. C'est peut-être pour cela que le bouton ne fonctionne pas ;) ps : pour accélérer la vitesse de lecture des fichiers, peut-être avec l'activex "Scripting.FileSystemObject" ? @+
  14. Salut Déjà pour commencer, bravo, sacré boulot :D J'ai donc regardé ton prog et j'aurai quelques remarques 1) Tout est en anglais (une option anglais/français serait la bienvenue) 2) Le bouton aide ne fonctionne pas (quelle que soit la fenêtre d'ouverte) 3) Dans les outils, l'option file data reste "bloqué" sur Project Blocks, donc impossible de voir pour les indices de révisions. 4) Dans la boite d'options, quand on choisit le Default file type to scan in browser, cela ne se met pas à jour sur la bd principale dans Show 5) Dans les options, on a accès à une touche d'édition qui ouvre le fichier lst associé au file data, mais sans l'aide, difficile de comprendre à quoi ça sert 6) De temps en temps, on a une sélection multiple, voir une sélection par zone avec la souris, sans rien faire de spécial 7) Une idée serait de pouvoir choisir en options dans project la liste des onglets qui nous intéresse. 8) Dans *dwginfo, ce serait bien si la liste de choix se positionne sur la présentation active et non au hasard Par exemple, sur un dessin sans présentation, l’info se positionne directement sur présentation 2, et sur d’autres dessins où il y a des présentations, c’est systématiquement sur Model 9) Impossible d’ajouter une info depuis InfoDWG comme le titre dans le sommaire, etc… 10) Dans le printData, on ne voit pas toutes les imprimantes 11) Dans *Layer et *bloc, se serait bien de pouvoir faire un glisser pour insérer un calque/bloc comme avec le DésignCenter Voilà en gros un premier jet pour quelque chose qui s ‘annonce très, très prometteur @+
  15. Salut Tu as aussi Jav. @+
  16. Patrick_35

    Renommer tous les blocs

    Salut Tu as pensé aux caractères génériques comme [surligneur] * [/surligneur] @+
  17. Salut Non, tu choisis en type d'objet la Référence de bloc et comme opérateur Tout sélectionner que tu appliques à Dessin entier @+
  18. Salut Juste une chose. Au vu du prix des écrans, si on ne gagne que 10mn par jour grâce à l'ajout d'un deuxième écran (sans parler du confort d’utilisation) , en combien de temps il est rentabilisé ? ;) @+
  19. C'est par l'erreur que l'on apprend ;) Ils peuvent servir de guide, pour comprendre comment cela fonctionne et ou rechercher l'instruction ps : Les américains/anglais ne se prennent pas la tête avec les instructions. il suffit en général de traduire pour comprendre vla-get --> obtenir des informations paperspace --> espace papier activedocument --> document actif (donc le dessin sur lequel je travail) vlax-get-acad-object --> l'objet Autocad Taduction : Les valeurs de l'espace papier du document actif d'Autocad @+
  20. Salut Tu as une partie de la réponse. Remplace paperspace par modelspace ps : avec un vla-open, ce n'est plus (vla-get-activedocument (vlax-get-acad-object)) mais (vla-item (vla-get-documents (vlax-get-acad-object)) "Mon_Dessin.dwg") ou la variable dessin du vla-open. Idem avec ObjectDbx @+
  21. Salut Pour "piloter" un dwg, tu raisonnes comme pour un script. La variable SDI n'est changeable que si un seul dessin est ouvert, ce qui est logique car si SDI = 1, cela veut dire que l'on peut ouvrir qu'un seul dessin à la fois. Deux dessin ouverts --> Variable impossible à changer. Tu peux regarder dans Scriptor qui semble correspondre à tes besoins. Maintenant, comme on est dans la section "Pour aller plus loin en LISP", tu peux aussi ouvrir le dessin par le vla, en utilisant cette méthode (setq dessin (vla-open (vla-get-documents (vlax-get-acad-object)) "Mon_Dessin.dwg")) Et ensuite faire tes insertions comme par exemple (vla-insertblock espace_papier/objet (vlax-3d-point '(0.0 0.0 0.0)) "Mon_bloc" 1 1 1 0) Et pour pousser encore plus loin, tu as ensuite la méthode ObjectDxb, qui permet d'accèder au dessin sans l'ouvrir. @+
  22. Avec le DesignCenter (ctrl+2) @+
  23. Oui, en utilisant la commande '_filter --> Lstatt --> Ok --> Choix des objets: '_filter --> Choix du calque + Ajouter à la liste (vierge) + Appliquer --> Application du filtre à la sélection. --> >>Choix des objets: >>Spécifiez le coin opposé: nn trouvé(s) --> >>Choix des objets: --> Fermeture de la sélection filtrée. ps : Les dernières versions se trouvent sur le lien dans ma signature @+ [Edité le 1/4/2011 par Patrick_35]
  24. Salut Par exemple avec bibles Fonction bins intégré au lisp Lstatt sur ma page ou une recherche dans Cadxp @+
  25. Patrick_35

    JAV pour Patrick35

    *Salut Tu as toutes les dernières versions sur mon blog. J'ai changé tous les liens pour que cela fonctionne correctement @+
×
×
  • 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é