Aller au contenu

echltp par coèf


x_all

Messages recommandés

Bonjour

 

je suis charrette sur du dessin mais j'ai un pb récurent qui peut être ne poserai pas trop de pb à un codeur fou, ou qui peu servir d'exercice pour un débutant.

 

Je voudrai une fonction qui change par un coefficient à rentrer au départ les échelle de type de ligne d'un dessin.

Par exemple une entité a un échelle de type de 2, je voudrai le faire passer à 2 x K, et ceux pour toutes les entités d'un dessin y compris dans les blocs.

 

Le but serai de mettre à jour les Xref d'un archi qui à des types exotique et qui bien que les dessins sont en mètre sort très mal une fois inséré dans mes dessins. Hors si je fait un echltp pour traiter son dessin, ça me fou le boxon pour mes types de lignes.

 

merci

 

'ps je poste toujours le vendredi et personne le lira ce message.... snif

 

 

 

 

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Eternel problème les types de ligne ! Et pourtant, y a pas de problème si on respecte une méthode !

 

Le problème provient souvent de plans basés en pouces (variable MEASUREMENT) alors que l'on travaille dans un environnement METRIQUE !!!! J'ai profité d'une formation chez un client pour créer un Fichier .LIN international .

Ce fichier traite les types de lignes avec les noms standards des différents pays : FR - EN - DE - IT - ES - BR.

 

Tu charges TOUS les types de ligne et tu purges les types de ligne inutilisées... Par contre les type de ligne à la noix c'est pas prévu ! Mais si tu as souvent les mêmes noms tu complètes le fichier avec un type de ligne équivalent !

 

Tu gardes de préférences les paramètres suivants : MSLTSCALE = 1 / PSLTSCALE = 1 / ECHLTP = 0.4 / MEASUREMENT = 1

 

Une réponse en image dans autre sujet...

 

Christian

Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...

cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)

Lien vers le commentaire
Partager sur d’autres sites

oui, je sais, je le connais l'Eternel pb... mais si je dois traiter mes 6 xref avec 1 mise à jour par semaine en ce mnt, j'y passe un temps certain, je ne vais pas pour ce projet changer mes types de lignes qui marchent bien généralement.

 

alors oui, il y a une méthode, mais non l'archi ne changera pas ses habitudes pour moi...

 

si avec un lisp, je peut traiter les xref en une commande, c'est pas plus mal...

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

On est tous d'accord, forcer les échelles de type de ligne c'est mal...

Maintenant que le mal est fait, tu peux tester ce petit lisp vite fait:

(defun C:MULTS ( / acdoc coeff)
 (vl-load-com)
 (setq acdoc (vla-get-activedocument (vlax-get-acad-object)))
 (or
   (setq coeff (getreal "\nCoefficient à appliquer à l'échelle du type de ligne pour tous les objets du dessin <1000>: "))
   (setq coeff 1000)
 )
 (vlax-map-collection
   (vla-get-blocks acdoc)
   '(lambda (x)
     (vlax-for ent x
       (vla-put-linetypescale ent (* coeff (vla-get-linetypescale ent)))
     )
   )
 )
 (princ)
)

En espérant que ça te sauve ton week-end :P

Lien vers le commentaire
Partager sur d’autres sites

il est plus que super !!

 

merci brice, qui a bien compris le pb, le but était de faire un echltp sans echltp

^^

 

le VBA, ça à l'air magique comme ça...

j'imagine algorithme en pur lisp et utilisation des dxf....

c'est vrai que là c'est super élégant.

alors merci encore pour cette leçon de concision.

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é