Aller au contenu

aide LISP demandé - creation calques


Messages recommandés

Posté(e)

Bonjour

 

Voici donc un LISP que j'utilise pour créer des couches Civil.

 

Le HIC est que presentement je fait des modification dans le fichier texte qui s'y réfère (en pièce jointe). Lorsque je le réactive dans un dessin pour faire une mise à jour des couches ça ne fonctionne pas, car les couches ont déja été créer.

 

Y aurait-il un moyen pour régler ce problème?

 

merci

 

;| Fonction COUCHE-STANDARD-CIVIL
 Description : Fonction qui crée la liste des couches contenues
               dans le fichier couches-standard-CIVIL.txt.
 
 Variables locales :
 f-cou-stan : du fichier des couches standards
 n-fich-cou : nom interne du fichier
 li : lignes du fichier
 nom-cou : nom de la couche
 couleur : couleur de la couche
 typel : type de ligne de la couche
 de : description de la couche
|;

(defun c:couche-standard-CIVIL ( / f-cou-stan li nom-cou couleur typel de)
 (setvar "cmdecho" 0)
 (setq f-cou-stan (findfile "COUCHES-STANDARD-CIVIL.TXT"))
 (if (not f-cou-stan)
   (progn
     (alert "Le fichier COUCHES-STANDARD-CIVIL.TXT est introuvable")
     (exit)
   )
 )
 (setq n-fich-cou (open f-cou-stan "r"))
 (setq li (read-line n-fich-cou))
 (while li
   (setq li (read li))
   (setq nom-cou (car li))
   (setq couleur (cadr li))
   (setq typel (caddr li))
   (setq de (cadddr li))
   (command "_.-layer" "_n" nom-cou "_c" couleur nom-cou "_lt" typel nom-cou "s" de nom-cou "")
   (setq li (read-line n-fich-cou))
 )
 (close n-fich-cou)
 (alert "Les couches standards CIVILS ont été créées")
 (princ)
)

couches-standard-CIVIL.txt

Posté(e)

Coucou

 

pour faire une mise à jour des couches

que veux-tu dire par mise à jour ?

tu voudrais renommer les claques créés par le premier lancement du programme ? pas simple mais faisable.

si les calques sont vides, on purge

si des entités existent, on renomme le calque mais il faut connaître l'ancien nom et le nouveau nom

je suis dans le flou car sans explication claire : pas de réponse claire possible, voire pas de réponse du tout.

amicalement

Posté(e)

lorsque je parle de mise a jour je parle de faire une modification exemple: la couleur, type de ligne ou epaisseur de ligne.

 

par contre dès que la couche a été préablement créer le lisp s'arrete immediatement.

 

 

et oui si il etait possible de remplacer un nom de calque par un autre dans ce lisp ce serait génial.

 

merci

 

Coucou

 

que veux-tu dire par mise à jour ?

tu voudrais renommer les claques créés par le premier lancement du programme ? pas simple mais faisable.

si les calques sont vides, on purge

si des entités existent, on renomme le calque mais il faut connaître l'ancien nom et le nouveau nom

je suis dans le flou car sans explication claire : pas de réponse claire possible, voire pas de réponse du tout.

amicalement

Posté(e)

Bonjour,

 

En remplaçant cette ligne

(command "_.-layer" "_n" nom-cou "_c" couleur nom-cou "_lt" typel nom-cou "s" de nom-cou "")

par

(command "_.-layer" "_m" nom-cou "_c" couleur nom-cou "_lt" typel nom-cou "s" de nom-cou "")

ça devrait éliminer le problème qui se pose quand un calque existe déjà.

Posté(e)

Bonjour,

 

En remplaçant cette ligne

(command "_.-layer" "_n" nom-cou "_c" couleur nom-cou "_lt" typel nom-cou "s" de nom-cou "")

par

(command "_.-layer" "_m" nom-cou "_c" couleur nom-cou "_lt" typel nom-cou "s" de nom-cou "")

ça devrait éliminer le problème qui se pose quand un calque existe déjà.

 

Bonjour Bryce,

 

En fait quand je test le lisp une seconde fois ça ne fonctionne pas Autocad me donne se message d'erreur:

 

Choix de l'option incorrect.

; erreur: Fonction annulée

Posté(e)

Salut

 

Un lisp qui permet d'importer ou de recopier des calques depuis un gabarit ou un dessin.

 

@+

 

Bonjour Patrick,

 

a quel endroit dans le lisp j'inscrit le DWG à utiliser pour le transfer des calques?

 

Merci

Posté(e)

Bonjour Patrick,

 

a quel endroit dans le lisp j'inscrit le DWG à utiliser pour le transfer des calques?

 

Merci

Tu lances le lisp et avec les 3 petits points sur le bouton en bas à droite.

(c'est mémorisé dans Autocad et cela permet de changer ensuite au besoin)

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

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é