Aller au contenu

Olivier Eckmann

Membres
  • Compteur de contenus

    2 356
  • Inscription

  • Dernière visite

  • Jours gagnés

    120

Tout ce qui a été posté par Olivier Eckmann

  1. Olivier Eckmann

    Calque "0"

    Bonjour, C'est là que l'on voit la différence entre un calque INACTIF et un calque GELE. Lorsque tu rends le calque équipement INACTIF, le bloc est regénéré avec tous ses composants (graphisme interne et attributs) donc il est "affichable" selon les caractéristiques des calques (actif/inactif) de ces composants. Par contre si tu gèles le calque équipement, le bloc tout en entier n'est pas regénéré (ne fait pas partie de la liste des objets calculés donc potentiellement affichables par la carte vidéo) donc aucun de ses composants n'est affichés, tes traits Caché et Axe ne seront plus visibles. Olivier
  2. Bonjour, un petite recherche sur Google "AutoCAD VBA 2010" te propose cette adresse comme première réponse http://visiblevisual.com/jupgrade/index.php/195-autocad-vba-enabler Olivier
  3. Bah oui TF1 et Antenne 2 OK je sors aussi...
  4. Bonjour, je vais surement dire une bêtise, mais si l'attribut est constant et non modifiable, à quoi ça sert de l'extraire puisque tu connaîs forcément sa valeur? Olivier
  5. Merci Maxence, je vais voir de ce côté. Olivier
  6. Bonjour, je dois développer une appli (C#) qui est plutôt de type base de données : - 1 table principale : 50 à 200 enregistrements avec une quinzaine de champ, dont un contiendra des morceaux de document word (certainement stocké en RTF) - 6 à 7 tables liées à ma table principale par un champ clé. Chaque enregistrement de la table principale sera lié à une polyline AutoCAD. Je n'ai pas envie de stocker la BDD en externe et je souhaite que le DWG contienne tout. Je me pose la question sur la meilleure solution: - stocker les infos dans une BDD (type SQLite vraisemblablement) puis stockage en binaire dans le DWG. La BDD serait "extraite" par l'appli, travaillée, puis ré-incorporée à la sauvegarde. Je ne sais si c'est possible. - stocker dans un dictionnaire (NOD) puis remonter dans une structure de type Dictionnary et travailler tel quel. La première solution est intéressante pour les traitements sur la base, table liée, requête... mais le stockage n'est pas forcément simple La deuxième solution est plus "Autocadienne" et je l'ai déjà mise en œuvre, mais je serais obligé de re-développer les liens (interactions) entre mes tables. Je suis preneur de toutes remarques, infos ou idées sur le sujet. Merci Olivier
  7. Olivier Eckmann

    Calque "0"

    Bonjour, quelque chose comme ça (command "_undefine" "_qsave") (defun C:QSAVE () (if (setq JEU (ssget "x" (list (cons 8 "0")))) (progn (alert (strcat "Les " (itoa (sslength JEU)) " objets présents sur le calque 0 seront effacés, \ncar cela ne respecte pas la charte graphique" )) (command "_erase" JEU "") ) ) (if (= 1 (getvar "dwgtitled")) (command "._save" "" "_Y") ;If already saved, just save it (command "._save" "~") ;If new drawing, open dialog to save ) (princ) )
  8. Olivier Eckmann

    Calque "0"

    Bonjour, Tu modifies la commande "Sauvegarder" pour qu'elle supprime tous les objets du calque 0 avant de sauvegarder le dessin. Ça devrait calmer assez rapidement les utilisateurs. Si tu es gentil tu préviens, comme ça ils seront obligés de faire un U et de les changer de calque. Olivier
  9. Bonjour, Si Covadis est installé dans les mêmes répertoires sur les 2 PC, il suffit de copier le dossier "Config" de l'ancien PC sur le nouveau pour retrouver ses réglages. Olivier
  10. Bonjour, (defun GetFolders (path / folders) (if (member "." (setq folders (vl-directory-files path nil -1))) (cddr folders) folders ) ) (defun GetFiles (path pat / ) (vl-directory-files path pat 1) ;pat = "*.pdf" ) (defun CreateListePdf (path / lsFiles sFileName lsFolders sFolderName) (setq *lsPdfFiles* nil) (setq *lsPdfPath* nil) ; traite les fichiers du dossier racine (if (setq lsFiles (GetFiles path "*.pdf")) (foreach sFileName lsFiles (setq *lsPdfFiles* (append *lsPdfFiles* (list (strcase sFileName)))) (setq *lsPdfPath* (append *lsPdfPath* (list path))) ) ) ; Boucle sur les sous dossiers (if (setq lsFolders (GetFolders path)) (foreach sFolderName lsFolders (setq path2 (strcat path "\\" sFolderName)) (if (setq lsFiles (GetFiles path2 "*.pdf")) (foreach sFileName lsFiles (setq *lsPdfFiles* (append *lsPdfFiles* (list (strcase sFileName)))) (setq *lsPdfPath* (append *lsPdfPath* (list path2))) ) ) ) ) (princ (strcat "\n" (itoa (length *lsPdfFiles*)) " fichiers PDF trouvés")) (princ) ) La fonction GetFiles permet de récupérer la liste des fichiers contenu dans un dossier La fonction GetFolders permet de récupérer la liste des sous dossiers d'un dossier donné. La fonction CreateListePdf utilise les 2 fonctions précédentes pour rechercher tous les PDF contenus dans un dossier et ses sous-dossiers et créer 2 variables globales : *lsPdfFiles* qui contient la liste des PDF dans laquelle il faudra rechercher si ton texte existe *lsPdfPath* qui contient la liste des dossiers correspondant aux fichiers de la liste précédente. Tu peux essayer de voir du côté d'une fonction récursive pour balayer tout un dossier et ses sous-dossiers sur un niveau d'imbrication "infini". Olivier
  11. Bonsoir, essaie avec ça (defun C:HYPTXT ( / JEU I oTxt oTxtVal) (if (setq JEU (ssget (list (cons 0 "TEXT")))) (progn (setq I 0) (repeat (sslength JEU) (setq oTxt (ssname JEU I)) (setq I (1+ I)) (setq oTxtVal (cdr (assoc 1 (entget oTxt)))) (if (> (strlen oTxtVal) 2) (cond ((= (substr oTxtVal 1 2) "RP") (seturl oTxt (strcat ".\\reseau pluvial\\" oTxtVal ".pdf")) ) ((= (substr oTxtVal 1 2) "RE") (seturl oTxt (strcat ".\\reseau egouts\\" oTxtVal ".pdf")) ) ) ) ) ) ) ) Olivier
  12. On pourra bientôt télécharger et imprimer sa voiture. 44 heures pour l'imprimer et 2 jours pour la monter! c'est cool. Olivier
  13. Bonjour, je n'y connais rien en ObjectDBX, j'ai trouvé sur un bouquin "La bible du développeur Vlisp" datant de 2004 et libre de droit (les versions suivantes sont payantes, 2€70 chez Amazon pour la version ebook de 2011) qui contient le chapitre 13 sur ObjectDBX. A vue de nez la méthode DxfIn ne permet pas d'ouvrir un DXF, mais plutôt de l'insérer (importer) dans un document DWG précédemment ouvert. A essayer. Sinon la conversion du DXF en DWG est surement la meilleure méthode. Olivier
  14. Bonjour, le document DBX expose une méthode DXFIn Olivier
  15. Bonjour, dans une palette j'ai associée la macro suivante à un bouton ^C^Cstart;chrome.exe; et ça me lance chrome pour un chemin il faut remplacer les \ par des / ^C^Cstart;C:/DONNEES/PHOTOS/maphoto.jpg; Olivier
  16. Bonjour, dans ce fil de discussion, message 605 Olivier
  17. Salut Thierry, Avec EXT, CEN et INT ça plante. Je pense que c'est la combinaison CENTRE et INTERSECTION qui pose problème. Olivier
  18. Bonjour, j'ai pu le reproduire sous Covadis 14.0b et MAP 2012. Le problème se pose lorsque l'accrochage CENTRE est activé et que l'objet caractéristique est une polyligne contenant au moins un arc (pas de souci sur un cercle). Dès que AutoCAD cherche à s'accrocher au centre de l'arc, il y a une erreur fatale. Olivier
  19. Bonsoir, les drivers cadalyst 8.982 installés sur le PC datent de Juillet 2012, ils ont 2 ans de retard. Il serait bon de mettre à jour avec la dernière version téléchargeable ici Olivier
  20. Bonjour, Si j'ai bien compris la question, il suffit que tu fasses un copie de ton dessin d'origine, ensuite tu effaces tous les objets, puis tu utilises la commande de Rebcao FUSCALQUES avec les options NOMMER pour fusionner tous tes calques dans le calque 0 , ainsi tous les blocs sont redéfinis dans le calque 0, puis tu ré-insères ton dessin d'origine pour récupérer tous tes objets. Reste seulement le problème des attributs de blocs qui seraient dans des calques forcés. Olivier
  21. Bonjour, C'est normal, dans une cote superposée tu as 2 grips, celui qui correspond au point cliqué et le second qui correspond au 0 du SCU (SCG) au moment de la création. Donc si tu déplaces (wbloc) toute la cote son point de base relatif ne change pas. Pour corriger cela, il suffit que tu dé-zoomes pour voir le 2ème grip en bas et que tu le remontes à 0 au lieu de -5 Olivier
  22. Bonjour, 1. lance la commande CONVERTCTB pour convertir par exemple AutoCAD.CTB en TOTO.STB 2. lance ensuite la commande CONVERTPSTYLES en sélectionnant le STB précédemment créé. Olivier
  23. Bonsoir, essaie d'installer le SP2 de MAP 2015 Olivier
  24. Effectivement, j'ai modifié le programme pour ajouter le Z au point 2D renvoyé par ta fonction Olivier
  25. Bonjour, j'avais déjà modifié la valeur retournée par ta fonction (list newx newy comp) au lieu de (list newx newy) Olivier
×
×
  • 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é