CadXP: Un LISP pour créer une polyligne qui représente un isolant ? - CadXP

Aller au contenu

  • 2 Pages +
  • 1
  • 2
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

Un LISP pour créer une polyligne qui représente un isolant ?

#1 L'utilisateur est hors-ligne   brunomu 

  • ceinture verte
  • Groupe : Membres
  • Messages : 82
  • Inscrit(e) : 13-mai 06

Posté 06 juillet 2010 - 10:21

Bonjour Forum !

Quand on fait des détails soignés, je trouve super galère de faire des isolants bien dessinés : les types de lignes fournis par Autodesk ont plein de défauts (isolant de largeur constante uniquement, petits bouts de ligne au bout du motif, aspect moche aux angles des polylignes, impossible de gérer proprement la fin du motif, motif « zigzag » non paramétrable, angles du type de ligne « batting » trop ouvert,…).

Pour contourner la difficulté, je dessine des polylignes en zigzag avec l’angle que je veux, mais c’est vite galère.
D’où l’idée de créer un LISP qui permettrait, en désignant les 2 extrémités d’un rectangle, la création automatique d’une polyligne en zigzag qui remplisse le rectangle.

Problème : je ne sais pas le faire en LISP !
Est-ce que les cracks du Forum pourraient m’aider ? (je pense que ça rendrait service à beaucoup de gens).

Deux améliorations possibles :
- pouvoir indiquer l’angle maxi entre 2 segments successifs
- plutôt que de saisir un rectangle, on pourrait saisir les 4 sommets d’un trapèze, car parfois l’isolant s’amincit

Par avance merci à celui/celle qui voudra bien s’y coller (à moins que ça n’existe déjà ?!



[Edité le 6/7/2010 par gloub]
0

#2 L'utilisateur est hors-ligne   Patrick_35 

  • ceinture rouge et blanche 8em dan
  • Groupe : Membres
  • Messages : 6 381
  • Inscrit(e) : 06-janvier 03

Posté 06 juillet 2010 - 10:45

Salut

Citation

Problème : je ne sais pas le faire en LISP !

C'est le moment ou jamais de commencer

Citation

Est-ce que les cracks du Forum pourraient m’aider ? (je pense que ça rendrait service à beaucoup de gens).

Avec plaisir.
Si tu pouvais mettre une image à disposition pour bien comprendre ce que tu souhaites faire.

@+
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
0

#3 L'utilisateur est hors-ligne   brunomu 

  • ceinture verte
  • Groupe : Membres
  • Messages : 82
  • Inscrit(e) : 13-mai 06

Posté 06 juillet 2010 - 11:36

Merci pour ta réponse.

Voilà l'image :

http://yfrog.com/2pcrationisolantj

A l'étape 1, on saisit les contours du rectangle qui sera rempli d'isolant (rectangle plutôt allongé).
A l'étape 2 : le LISP crée une polyligne qui remplit parfaitement le rectangle
L'étape 3 n'est là que pour montrer le résultat sans le rectangle de saisie.

J'espère que ça explique clairement ce que j'imagine.






[Edité le 6/7/2010 par gloub]
0

#4 L'utilisateur est hors-ligne   Patrick_35 

  • ceinture rouge et blanche 8em dan
  • Groupe : Membres
  • Messages : 6 381
  • Inscrit(e) : 06-janvier 03

Posté 06 juillet 2010 - 15:21

Si tu pouvais changer de site, je ne peux voir l'image (filtre)

@+
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
0

#5 L'utilisateur est hors-ligne   brunomu 

  • ceinture verte
  • Groupe : Membres
  • Messages : 82
  • Inscrit(e) : 13-mai 06

Posté 06 juillet 2010 - 18:32

Comme ça, ça va ?

Image IPB


[Edité le 6/7/2010 par gloub]
0

#6 L'utilisateur est hors-ligne   Patrick_35 

  • ceinture rouge et blanche 8em dan
  • Groupe : Membres
  • Messages : 6 381
  • Inscrit(e) : 06-janvier 03

Posté 07 juillet 2010 - 07:44

Ah, c'est parfait :D

Tu as un angle mini et maxi ?

@+
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
0

#7 L'utilisateur est hors-ligne   brunomu 

  • ceinture verte
  • Groupe : Membres
  • Messages : 82
  • Inscrit(e) : 13-mai 06

Posté 07 juillet 2010 - 09:58

Merci pour ta réponse.

L'idéal serait de laisser ce choix à l'utilisateur.
Perso, je choisis mini = 30°, maxi = 40°.
0

#8 L'utilisateur est hors-ligne   Patrick_35 

  • ceinture rouge et blanche 8em dan
  • Groupe : Membres
  • Messages : 6 381
  • Inscrit(e) : 06-janvier 03

Posté 08 juillet 2010 - 12:56

Salut

Donc 4 routines (c'est noël avant l'heure :D )

Isol qui fais ce que tu as demandé
Isold La même chose qu'Isol, mais en dynamique et avec la possibilité d'orienter le rectangle
Isolmin Pour indiquer l'angle mini
Isolmax Pour indiquer l'angle maxi

@+

[Edité le 8/7/2010 par Patrick_35]
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
0

#9 L'utilisateur est hors-ligne   brunomu 

  • ceinture verte
  • Groupe : Membres
  • Messages : 82
  • Inscrit(e) : 13-mai 06

Posté 08 juillet 2010 - 15:53

Waouh !

J'espérais une 2CV d’occasion et tu m’a livré une Rolls neuve ! Merci merci.

Bon, comme la Rolls est neuve, elle a besoin d’un petit rodage et d’un passage au garage.
J’ai de petits problèmes, que je ne sais pas résoudre (et vu la complexité des LISP, je vois bien que je n’aurais pas su les écrire tout seul…) :
- ISOL fonctionne seulement en SCG (UCS world), pour des rectangles horizontaux
- ISOLD fonctionne seulement en SCG. Ce serait plus simple si la commande marchait dans le SCU. Dans un SCU, la commande crée d’office un motif très (trop) long
- avec ISOLD, j’arrive à saisir précisément le 1er point du rectangle, mais pas le 2ème ; donc le motif d’isolant ne s’arrête pas exactement à un point précis
- ce serait peut-être mieux d’intégrer à la commande le choix des valeurs par défaut ISOLMIN et ISOLMAX (un peu comme dans la commande NUAGEREV / REVCLOUD)

Mais bon, c’est déjà super. Encore une fois : merci beaucoup !

0

#10 L'utilisateur est hors-ligne   Patrick_35 

  • ceinture rouge et blanche 8em dan
  • Groupe : Membres
  • Messages : 6 381
  • Inscrit(e) : 06-janvier 03

Posté 09 juillet 2010 - 08:56

Salut

Citation

J’ai de petits problèmes, que je ne sais pas résoudre (et vu la complexité des LISP, je vois bien que je n’aurais pas su les écrire tout seul…) :

Il faut bien se lancer un jour :D
Comment crois-tu qu'on y arrive ;)
Petit à petit, l'oiseau fait son nid et en plus, je pense que plus d'une personne sur ce site serait capable de t'aider

Citation

- ISOL fonctionne seulement en SCG (UCS world), pour des rectangles horizontaux

C'est corrigé, je me suis un peu mélangé les pinceaux.

Citation

- ISOLD fonctionne seulement en SCG. Ce serait plus simple si la commande marchait dans le SCU. Dans un SCU, la commande crée d’office un motif très (trop) long

Idem qu'avec ISOL

Citation

- avec ISOLD, j’arrive à saisir précisément le 1er point du rectangle, mais pas le 2ème ; donc le motif d’isolant ne s’arrête pas exactement à un point précis

MAintenant, pendant la saisie dynamique, un appuie sur tab permet de saisir un point (par accrobj ou coordonnées)

Citation

- ce serait peut-être mieux d’intégrer à la commande le choix des valeurs par défaut ISOLMIN et ISOLMAX (un peu comme dans la commande NUAGEREV / REVCLOUD)

J'ai fais un peu différemment. Pendant la saisie dynamique, avec les touches + et -, tu peux augmenter/diminuer l'angle maxi et mini.
Je conserve quand même les deux commandes qui déterminent les angles.

Donc, une nouvelle version.

@+
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
0

#11 L'utilisateur est hors-ligne   brunomu 

  • ceinture verte
  • Groupe : Membres
  • Messages : 82
  • Inscrit(e) : 13-mai 06

Posté 09 juillet 2010 - 11:29

C'est génial, bravo et merci !

Je ne sais pas combien tu as passé de temps là-dessus (j'espère pas trop). Pour ce qui me concerne, ça va m'en faire gagner pas mal.

Quant à maîtriser AUTOLISP, j'ai essayé de m'y mettre, mais faute d'avoir trouvé un manuel compréhensible pour un – relativement – novice en programmation, je n'ai jamais réussi à "rentrer" dedans. Je me contente donc de bidouiller.

Si tu connais un bouquin ou un tutoriel sur internet, je suis preneur (encore que, comme je suis tout le temps charrette, il faudra que j'ingurgite le tout à mes heures perdues, càd pas grand-chose).

Merci encore.
0

#12 L'utilisateur est hors-ligne   Patrick_35 

  • ceinture rouge et blanche 8em dan
  • Groupe : Membres
  • Messages : 6 381
  • Inscrit(e) : 06-janvier 03

Posté 09 juillet 2010 - 15:47

Citation

C'est génial, bravo et merci !

De rien

Citation

Je ne sais pas combien tu as passé de temps là-dessus (j'espère pas trop). Pour ce qui me concerne, ça va m'en faire gagner pas mal.

A peine une matinée

Citation

Quant à maîtriser AUTOLISP, j'ai essayé de m'y mettre, mais faute d'avoir trouvé un manuel compréhensible pour un – relativement – novice en programmation, je n'ai jamais réussi à "rentrer" dedans. Je me contente donc de bidouiller.

Il faut bien commencer un jour

Citation

Si tu connais un bouquin ou un tutoriel sur internet, je suis preneur (encore que, comme je suis tout le temps charrette, il faudra que j'ingurgite le tout à mes heures perdues, càd pas grand-chose).

Tu as l'aide, et surtout ce site

Citation

Merci encore.

C'est un plaisir, et ça m'a permis de jouer avec grread

Une nouvelle version, car les mouvements de la souris avec la saisie dynamique ne me convenaient pas vraiment

@+
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
0

#13 L'utilisateur est hors-ligne   brunomu 

  • ceinture verte
  • Groupe : Membres
  • Messages : 82
  • Inscrit(e) : 13-mai 06

Posté 13 juillet 2010 - 14:06

Merci d'avoir poursuivi tes efforts.

Jusqu'ici j'ai utilisé ISOLD.
Je viens de faire un essai avec ISOL, mais ça ne marche pas, ou plutôt : ça marche dans le SCG, mais ça ne fait, au mieux, que créer la diagonale du rectangle, quelles que soient les valeurs d'ISOLMIN et/ou ISOLMAX.

Keskispass ?


PS : je ne connais pas grread, je sais encore moins jouer avec. Qu'est-ce qu'on gagne ? ;-)
0

#14 L'utilisateur est hors-ligne   Patrick_35 

  • ceinture rouge et blanche 8em dan
  • Groupe : Membres
  • Messages : 6 381
  • Inscrit(e) : 06-janvier 03

Posté 13 juillet 2010 - 16:45

Ah oui, j'ai été un peu radin avec les parenthèses ;)

La mise à jour

@+
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
0

#15 L'utilisateur est hors-ligne   brunomu 

  • ceinture verte
  • Groupe : Membres
  • Messages : 82
  • Inscrit(e) : 13-mai 06

Posté 15 juillet 2010 - 12:41

On frise la perfection !

Dernier souci, je pense : isol ne marche que quand le rectangle saisi est horizontal (quand il est vertical, ça crée la diagonale).

En tous cas, merci encore !
0

#16 L'utilisateur est hors-ligne   Patrick_35 

  • ceinture rouge et blanche 8em dan
  • Groupe : Membres
  • Messages : 6 381
  • Inscrit(e) : 06-janvier 03

Posté 15 juillet 2010 - 13:20

Ah oui
La version corrigée.

@+
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
0

#17 L'utilisateur est hors-ligne   brunomu 

  • ceinture verte
  • Groupe : Membres
  • Messages : 82
  • Inscrit(e) : 13-mai 06

Posté 16 juillet 2010 - 12:09

Nickel-chrome. Merci !!!!!!!!!!!!!


0

#18 L'utilisateur est hors-ligne   DenisHen 

  • ceinture rouge et blanche 6em dan
  • Groupe : Membres
  • Messages : 3 413
  • Inscrit(e) : 17-décembre 05
  • LocationDIERREY SAINT JULIEN (10190)

Posté 20 février 2011 - 15:32

Bonjour à tous...

Je ne voudrais pas pinailler mais l'isolant se dessine plus souvent, et c'est plus "joli" comme une sorte de petit "serpentin", une sorte su "S" contigus...

J'ai une image exemple mais je n'arriva pas à la poster...

Et c'est infiniment plus complexe à dessiner...

Denis...
Windows 10 Pro 64bits / AutoCAD MAP 3D 2019 (22.0.022.4)
Covadis 16 / Microstation V8i

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres...
Davantage d'avantages, avantagent davantage. (Bobby Lapointe)
La connaissance s'accroît quand on la partage.(Socrate)
0

#19 L'utilisateur est hors-ligne   lili2006 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 12 191
  • Inscrit(e) : 21-décembre 05

Posté 20 février 2011 - 16:37

Bonjour à toutes et tous,

Citation

J'ai une image exemple mais je n'arriva pas à la poster...


Un post à consulter alors,...
AutoCAD MAP 3D 2021 - COVADIS_17.1b
https://www.linkedin...3%ABt-95313341/
0

#20 L'utilisateur est hors-ligne   DenisHen 

  • ceinture rouge et blanche 6em dan
  • Groupe : Membres
  • Messages : 3 413
  • Inscrit(e) : 17-décembre 05
  • LocationDIERREY SAINT JULIEN (10190)

Posté 20 février 2011 - 17:57

Re

Merci Lili2006, je tente le truc...

Voici donc ma jolie image...

Image IPB

Tada ! !C'est une coupe ( mais en plan, c'est la même symbolique d'un mur et de son doublade

De gauche à droite :
2cm de crépis, 20cm de parpaing, une couche de colle, 10cm d'isolant et le BA13...

Voilà qui est fait...

Le mieux est d'en faire un type de ligne pour pouvoir en faire une multiligne ( car l'isolant peut faire plusieurs épaisseurs 10, 12, 16, 18... Et il peut aussi être coupé pas la menuiserie...)

Et maintenant, je sais poster des images ! !

Et bon dimanche... Sous vos applaudissements...

Denis...
Windows 10 Pro 64bits / AutoCAD MAP 3D 2019 (22.0.022.4)
Covadis 16 / Microstation V8i

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres...
Davantage d'avantages, avantagent davantage. (Bobby Lapointe)
La connaissance s'accroît quand on la partage.(Socrate)
0

Partager ce sujet :


  • 2 Pages +
  • 1
  • 2
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

1 utilisateur(s) en train de lire ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)