Aller au contenu

fichier forme shx


Messages recommandés

Posté(e)

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

Posté(e)

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

Posté(e)

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 :

 

ouvrir

C:\temp\l8_cc49\sage\_l1c\cav_sout\HOUP_indices.dwg

-calque

Déverrouiller

*

 

libcalque

_save

C:\temp\l8_cc49\sage\_l1c\cav_sout\HOUP_indices.dwg

oui

fermer

_new

reproj_dao_sage_com.dwt

_ADESETCRDSYS

sessionCourante

RGF93.CC49

Quitter

_adedrawings

Associer

C:\temp\l8_cc49\sage\_l1c\cav_sout\HOUP_indices.dwg

Quitter

_ADESETCRDSYS

dessinsSource

C:\temp\l8_cc49\sage\_l1c\cav_sout\HOUP_indices.dwg

NTF.Lambert-1c

Quitter

_adequery

Définir

Emplacement

Sélectionnertout

 

Exécuter

Dessiner

zoom

etendu

_adedrawings

Dissocier

C:\temp\l8_cc49\sage\_l1c\cav_sout\HOUP_indices.dwg

Quitter

purger

tout

*

non

_zoom

etendu

_saveas

2004

C:\temp\l8_cc49\sage\_cc49\cav_sout\HOUP_indices.dwg

fermer

 

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

Posté(e)

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.

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • 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é