Aller au contenu

Besoin de vos conseils avant de commencer


Messages recommandés

Posté(e)

J’ai un problème à vous soumettre, et j’aurais besoin de vos conseils : (En lisp basic :rolleyes:)

 

J’ai 150 calques avec des épaisseurs de ligne différente, mais j’ai 4 ou 5 épaisseurs différentes au total suivant le type de calque (réseau, texte, équipement….)

Exemple du début du nom des calques : CV-400.. , CV-410.., PB-100.., PB-200…, FM-300 ect….

L’épaisseur n’a aucun rapport avec le nom du calque.

Je voudrais modifier l’épaisseur des calques en fonction d’une échelle que je vais déclarer dans une boite de dialogue au moment de mon changement d’épaisseur de ligne.

Comment optimiser le lisp ?

- Je fais une liste A (ou plusieurs listes ?) avec le début du nom des calques (CV-400) suivie de 3 épaisseurs de ligne pour le calque suivant l’échelle voulue (exemple cv-400 , 0.2 ,0.6 , 1 , cv-410 , 0.1 , 0.3 , 0.8 …..)

- Je fais une liste B avec les calques existant dans le plan ? ou il est préférable de les prendre 1 par 1 au cours de traitement ?

- Je fais une boucle sur la liste B, récupère les 6 premiers caractères, et fais une recherche de position dans la liste A, récupère le chiffre en position 1,2 ou 3 suivant l’échelle demandée

- Applique au calque de la liste B la nouvelle épaisseur

- Boucle sur les calques

une autre info

la fin du nom du calque est -un ou -bi

 

Ex: CV-400....-un à traiter

CV-400....-bi à ne pas traiter, ou conserver la valeur

 

 

Pour pouvoir modifier facilement les données (ajout d’un calque, modification d’une épaisseur, ou ajout d’une échelle (et par tous) n’est-il pas préférable d’avoir les liste A et B dans des fichiers texte ?

Posté(e)

Non pas que les épaisseurs...

d'ailleur je rajoute une info, la fin du nom du calque est -un ou -bi

 

Ex: CV-400....-un à traiter

CV-400....-bi à ne pas traiter, ou conserver la valeur

Posté(e)

Salut

 

Je ne suis pas certain d'avoir tout compris, mais voici ma proposition de liste telle que je la voir

 

'((CVC400 1 2 3) (CVC200 1 3 2))

Le 1er élément est le calsue, le second l'épaisseur de ligne, etc...

 

Quand tu parcours ta liste, tu auras comme élément à traiter par exemple '(CVC400 1 2 3) tout en sachant comment tu as organisé ta liste.

 

@+

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

Posté(e)

Patrick,

Donc ma list A sera du type '((CV-400 bi 1 2 3) (CV-400 un 4 5 6) (CV-200 bi 1 3 2))

 

"CV-400" étant le début du calque et "bi" la fin

 

Pour 258 calques (je viens de recompter) c'est pas trop lourd à gerer ?

Un fichier en lecture n'est pas mieux ?

 

Et pour les calques du plan, c'est mieux de boucler un par un ou de faire une liste et ensuite le traitement ?

Posté(e)

Il est plus simple de gérer une liste que plusieurs.

 

Si tu as deux listes, il faut dire à un moment quand passer à l'autre. Cela veut donc dire un test, ce qui ralenti forcement le lisp.

 

Quand tu fais une sélection dans un dessin de 3000 éléments, cela est assez rapide dans autocad.

Alors pour 258 calques, tu n'auras pas le temps de mettre le sucre dans le café ;)

 

Le plus simple, si tu cherches à optimiser ton lisp, c'est de publier un 1er jet et on se fera un plaisir de t'indiquer ce qu'il faut améliorer et pourquoi.

 

@+

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é