Aller au contenu

modifier le type de polyligne


dest

Messages recommandés

Bonjour

 

J'ai récupérer des modéle de polylines sur un plan,que j'aimerai modifié.

exemple:

modéle atuel

-------- EU200------ EU200 -------

modéle final

------- EU250 --------- EU250 ------

Etant donnée qu'il y a plusieurs type, peut-on récupérer le fichier à partir du plan et le modifié sans recréer un fichier lin.

 

Merci

 

[Edité le 1/2/2008 par dest]

Lien vers le commentaire
Partager sur d’autres sites

Salut dest

je sais pas si tu peux récupérer le fichier complet LIN

mais en ce qui concerne sont code tu peux utiliser ce lips :

 

;;;Dessine une ligne quelconque, puis affecte lui le type de ligne qui t'interresse. Ceci pour pouvoir ;;;utiliser la routine suivante qui ne fonctionne que sur une entité ayant un type de ligne différent ;;;de "DuCalque"

 

 

 

;;; model_typline V 2.0 by bruno.valsecchi ;;; lire les types de lignes semi protégées

 

(defun c:TDL ( /

ent ent_dxf nam_tl def_tl prec m_adir m_abas nam_lin def_lin nbr_lin w_line lg_tiret tp_cpx cod_shx

ss_ent styl_tl file_shx scal_motif rot_motif x_motif y_motif str_motif)

(setvar "cmdecho" 0)

(while (not (setq ent (entsel "\nChoix du TypeLigne modèle: "))))

(setq ent_dxf (entget (car ent)) nam_tl (assoc 6 ent_dxf))

(cond

((and (cdr nam_tl) (/= (cdr nam_tl) "ByLayer") (/= (cdr nam_tl) "ByBlock"))

(initget 4)

(setq

def_tl (entget (tblobjname "Ltype" (cdr nam_tl)))

prec (getint (strcat "\nPrécision décimale désirée<" (itoa (getvar "LUPREC")) ">: "))

)

(if (not prec) (setq prec (getvar "LUPREC")))

(setq

m_adir (getvar "angdir")

m_abas (getvar "angbase")

nam_lin (strcat "*" (cdr (assoc 2 def_tl)))

def_lin (strcat "," (cdr (assoc 3 def_tl)))

lg_lin (cdr (assoc 40 def_tl))

nbr_line (cdr (assoc 73 def_tl))

w_line "\nA"

)

(setvar "angdir" 0)

(setvar "angbase" 0)

(textscr)

(princ (strcat "\n" nam_lin def_lin))

(princ w_line)

(while (/= (caar def_tl) 49)

(setq def_tl (cdr def_tl))

)

(while def_tl

(cond

((eq 49 (caar def_tl))

(setq lg_tiret (cdar def_tl))

(princ (strcat "," (rtos lg_tiret 2 prec)))

)

((eq 74 (caar def_tl))

(setq tp_cpx (cdar def_tl))

)

((eq 75 (caar def_tl))

(setq cod_shx (cdar def_tl))

(cond

((eq tp_cpx 2)

(princ (strcat ",[\"" (cdr (assoc 9 def_tl)) "\""))

)

((eq tp_cpx 4)

(princ ",[*")

)

)

)

((eq 340 (caar def_tl))

(setq ss_ent (entget (cdr (assoc 340 def_tl))))

(if ss_ent

(setq

styl_tl (cdr (assoc 2 ss_ent))

file_shx (cdr (assoc 3 ss_ent))

)

(setq styl_tl "" file_shx " ")

)

(if (eq styl_tl "")

(princ (strcat (itoa cod_shx) "," file_shx))

(princ (strcat "," styl_tl))

)

)

((eq 46 (caar def_tl))

(setq scal_motif (cdr (assoc 46 def_tl)))

(princ (strcat ",S= (rtos scal_motif 2 prec)))

)

((eq 50 (caar def_tl))

(setq rot_motif (cdr (assoc 50 def_tl)))

(princ (strcat ",R=" (angtos rot_motif 0 prec)))

)

((eq 44 (caar def_tl))

(setq x_motif (cdr (assoc 44 def_tl)))

(princ (strcat ",x=" (rtos x_motif 2 prec)))

)

((eq 45 (caar def_tl))

(setq y_motif (cdr (assoc 45 def_tl)))

(princ (strcat ",y=" (rtos y_motif 2 prec) ]"))

)

((eq 9 (caar def_tl))

(setq str_motif (cdr (assoc 9 def_tl)))

)

)

(setq def_tl (cdr def_tl))

)

(setvar "angdir" m_adir)

(setvar "angbase" m_abas)

)

(T (princ "\nImpossible de récuperer le type de ligne de l'objet pointé."))

)

(setvar "cmdecho" 1)

(prin1)

)

 

 

Lien vers le commentaire
Partager sur d’autres sites

a bon ? chez moi ça marche très bien. peut etre parce que tu es sous 2000 ou 2002.

si tu veux que j'essaye tu peux si tu veux m'envoyer ton fichier dans ma boite courriel je t'enverai les type de ligne dans un fichier.

 

je serai pas l'adapter le LISP car jy mi connais pas encore assé.

voila.

 

mon mail si tu le souhaite : ziou@trinh-dota.com

Lien vers le commentaire
Partager sur d’autres sites

Fait une "Recherche dans les forums" avec le mot "model_typline" (dans le bandeau en haut de page)

 

Tu auras déjà tout les fils récurrents à ce sujet, cela devrait t'apporter des éclaircissements.

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Lien vers le commentaire
Partager sur d’autres sites

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é