pelloux Posté(e) le 20 septembre 2012 Posté(e) le 20 septembre 2012 Bonjour J'ai fait un script pour reprojeter mes données du Lambert 1 carto vers le Conique Conforme 49. Plusieurs centaines de fichiers ont déjà été traités en automatique sans avoir eu à intervenir manuellement pour répondre à quelque boîtes de dialogue que ce soit. Toutefois je rencontre un problème avec une série de fichiers depuis quelques jours. Le script s'interrompt à la boîte de dialogue : "Sélectionnez le fichier de formes". N'ayant pas besoin de la police "gls.shx", je clique sytématiquement sur "annuler" pour que le script continue normalement son travail. Afin d'éviter d'avoir à cliquer continuellement sur annuler, existe t'il une variable système à modifier (j'ai essayé EXPERT à 5 mais sans résultat) ou bien existe t'il une commande à mettre dans le script qui permet de répondre "annuler" automatiquement ? Pour info : filedia et cmddia sont à 0 en entête de script. Par avance merci pour vos réponses. PH PELLOUX
lecrabe Posté(e) le 20 septembre 2012 Posté(e) le 20 septembre 2012 Hello Philippe (Le Rouennais me semble t-il ?) AutoCAD s'arrete toujours (a ma connaisance) au chargement lorsqu'il ne trouve pas un SHX manquant Ou alors j'ai loupe qq chose !? Donc 2 solutions (vu de loin) : - Copier coller un autre SHX en GLS.shx (en esperant que les codes caracteres utilises sont presents) - Faire passer avant un Lisp/VLisp qui elimine les SHX "non trouves" par exemple voici encore une routine "RFORM" de notre indispensable Gilles : A tester, lecrabe ;; ;; Pour essayer d'apporter une reponse a un sujet recurent (voir ici ou la pour les plus recents), ;; j'ai essaye de faire un petit LISP qui remplace dans les styles de texte ;; les fichiers de formes .shx inconnus utilises dans les types de ligne par le fichier ltypeshp.shx ;; qui est present dans le fichier de support d'AutoCAD. ;; ;; Utilisation : Si a l'ouverture du fichier s'ouvre une boite de dialogue demandant de choisir ;; un fichier de formes shx, faire "Annuler", puis lancer le LISP, ;; la boite ne devrait plus s'ouvrir aux ouvertures suivantes. ;; ;; EDIT 1 : nouvelle version, la premiere ne fonctionnait pas dans certains cas. ;; EDIT 2 : choix plus pointu des styles de texte a modifier ;; EDIT 3 : 06/02/09 affinage du filtre des styles a modifier ;; EDIT 4 : 14/02/09 finalement, il ne fallait pas tant affiner ! ;; EDIT 5 : 01/09/09 repare (j'espere) l'erreur : "; erreur: type d'argument incorrect: stringp nil ;; ;; RFORM par GC ;; Remplace les fichier de forme shx introuvables par ltypeshp.shx ;; ;; RFORM_110 2eme version - Version qui ratisse "plus large" ;; (defun c:rform (/ name font) (vl-load-com) (or *acdoc* (setq *acdoc* (vla-get-ActiveDocument (vlax-get-acad-object))) ) (vlax-for ts (vla-get-TextStyles *acdoc*) (setq name (vla-get-Name ts) font (vla-get-FontFile ts) ) (if (and (= (strcase (vl-filename-extension font)) ".SHX") (not (findfile font)) ) (vla-put-FontFile ts "ltypeshp.shx") ) ) (princ) ) Autodesk Expert Elite Team
lecrabe Posté(e) le 20 septembre 2012 Posté(e) le 20 septembre 2012 Hello A propos si ce n'est pas Top-Secret, SVP je suis preneur de ton Script pour voir ... lecrabe Autodesk Expert Elite Team
pelloux Posté(e) le 21 septembre 2012 Auteur Posté(e) le 21 septembre 2012 Hello A propos si ce n'est pas Top-Secret, SVP je suis preneur de ton Script pour voir ... lecrabe Bonjour Je te remercie, je vais tester les 2 solutions en commençant d'abord par la plus simple avec la police "gls.shx" dans le répertoire C:\Program Files\Autodesk\AutoCAD Map 3D 2013\Fonts. En fait j'applique plusieurs script dont le principal est celui de projection : ouvrirC:\temp\l8_cc49\sage\_l1c\cav_sout\HOUP_indices.dwg-calqueDéverrouiller* libcalque_saveC:\temp\l8_cc49\sage\_l1c\cav_sout\HOUP_indices.dwgouifermer_newreproj_dao_sage_com.dwt_ADESETCRDSYSsessionCouranteRGF93.CC49Quitter_adedrawingsAssocierC:\temp\l8_cc49\sage\_l1c\cav_sout\HOUP_indices.dwgQuitter_ADESETCRDSYSdessinsSourceC:\temp\l8_cc49\sage\_l1c\cav_sout\HOUP_indices.dwgNTF.Lambert-1cQuitter_adequeryDéfinirEmplacementSélectionnertout ExécuterDessinerzoometendu_adedrawingsDissocierC:\temp\l8_cc49\sage\_l1c\cav_sout\HOUP_indices.dwgQuitterpurgertout*non_zoometendu_saveas2004C:\temp\l8_cc49\sage\_cc49\cav_sout\HOUP_indices.dwgfermer J'ai essayé à partir de COVADIS et de la commande "projchgdoss" qui est intéressante puisqu'elle traite le contenu d'un répertoire mais elle a le défaut de supprimer les liens avec les références externes. Par conséquent je préfère procéder par paliers successifs en appliquant plusieurs scripts que je contrôle : - Depuis le fichier d'origine, export des états de calques sous forme d'un fichier las, libération dévérouillage des calques - Reprojection du fichier- Import et restauration des états de calques dans le fichier reprojets.- Depuis le fichier reprojeté, récupération de(s) onglet(s) de présentation(s) depuis le fichier d'origine. J'utilise au préalable un tableur pour répéter à chaque ligne les mêmes commandes à chacun des fichiers dwg. Le seul processus que je n'ai pas pu automatiser est la récupération des filtres de calques. J'avais récupéré sur le forum, un développement en dotnet permettant par fichier d'exporter les filtres d'un fichier pour les importer dans un autre fichier "LayerFilterImportExport" mais ce développement n'est pas utilisable dans un script. Bonne journée. PH PELLOUX
pelloux Posté(e) le 21 septembre 2012 Auteur Posté(e) le 21 septembre 2012 Hello Philippe (Le Rouennais me semble t-il ?) Presque en fait c'est Paul-Henri, et je travaille bien sur Rouen. @+ PH PELLOUX
lecrabe Posté(e) le 21 septembre 2012 Posté(e) le 21 septembre 2012 Hello Paul Henri Merci pour le script ... lecrabe Autodesk Expert Elite Team
pelloux Posté(e) le 21 septembre 2012 Auteur Posté(e) le 21 septembre 2012 Hello Paul Henri Merci pour le script ... lecrabe De mon côté j'ai fait une copie "txt.shx" et l'ai rennommé en "gls.txt" et je n'ai plus eu le message de police introuvable en faisant fonctionner le script. Bon WE.
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant