Aller au contenu

Ligne multicolore


Oli553

Messages recommandés

Je me demandai si il était possible de créer une commande (ou un programme) qui permettrais ceci

 

Couleur à 50 (par exemple)

Polyligne (on garde le choix pour la largeur et le point de départ)

coouleur à 100 (par exemple)

Polyligne (idem dito)

 

ceci pour créer un ligne figurant la liaison equipotentielle dans les fondations d'un bâtiment.

 

Merci de me dire si c'est possible et de me guider.

Bonne semaine à toutes et à tous

@+ ;)

L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai.
"Il vaut mieux mobiliser son intelligence sur des conneries, que sa connerie sur des choses intelligentes" - Devise Shadok.
"ceux qui ne se souviennent pas du passé sont condamnés à le revivre" George Santayana

Ma bibliothèque de blocs électrique :symbole elec.dwg

Lien vers le commentaire
Partager sur d’autres sites

Le probleme que j'ai surtout, c pour forcé la couleur sans passé par sa boite de dialogue.

L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai.
"Il vaut mieux mobiliser son intelligence sur des conneries, que sa connerie sur des choses intelligentes" - Devise Shadok.
"ceux qui ne se souviennent pas du passé sont condamnés à le revivre" George Santayana

Ma bibliothèque de blocs électrique :symbole elec.dwg

Lien vers le commentaire
Partager sur d’autres sites

Merci bien

L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai.
"Il vaut mieux mobiliser son intelligence sur des conneries, que sa connerie sur des choses intelligentes" - Devise Shadok.
"ceux qui ne se souviennent pas du passé sont condamnés à le revivre" George Santayana

Ma bibliothèque de blocs électrique :symbole elec.dwg

Lien vers le commentaire
Partager sur d’autres sites

Ce qui me donne ceci dans un bouton

^C^C_cecolor;50;_pline;_cecolor;100;_pline 

 

La deuxieme partie ne se lance pas, comment fais-je?

L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai.
"Il vaut mieux mobiliser son intelligence sur des conneries, que sa connerie sur des choses intelligentes" - Devise Shadok.
"ceux qui ne se souviennent pas du passé sont condamnés à le revivre" George Santayana

Ma bibliothèque de blocs électrique :symbole elec.dwg

Lien vers le commentaire
Partager sur d’autres sites

Vaut mieux un petit lisp car on sait pas dire à l'avance combien de validation il y aura après la commande, et c'est embêtant dans le script.

 

Je t'en ferais bien un à l'arrach', mais j'ai pas de CAD sous la main et j'aime mieux pas écrire des bétises.

 

 

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Lien vers le commentaire
Partager sur d’autres sites

(defun c:limul (/ dep)
(repeat 100
(setq dep 50)
(setvar "CECOLOR" dep)
(command "_.pline"
(while (not (zerop (getvar "cmdactive")))
(command pause)
)
)
(setq dep(1+ dep))
)
)

 

... à l'arrach' !

(lancer limul)

 

[Edité le 18/4/2005 par Tramber]

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Lien vers le commentaire
Partager sur d’autres sites

AÏe, c bien ce que je pensais. Merci quand même. Va falloir VRAIMENT que je m'y mette au lisp. ;)

L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai.
"Il vaut mieux mobiliser son intelligence sur des conneries, que sa connerie sur des choses intelligentes" - Devise Shadok.
"ceux qui ne se souviennent pas du passé sont condamnés à le revivre" George Santayana

Ma bibliothèque de blocs électrique :symbole elec.dwg

Lien vers le commentaire
Partager sur d’autres sites

On va demander à Christian si il y a pas moyen de lancer la _pline et d'en finir l'execution sans interromptre le script.

 

Ce que tu pourrais faire, par contre, c'est glisser ca dans un bouton :

 

(setvar "CECOLOR"(setq indico(+ 3 indico)))

3 étant l'incrément

 

(setq indico 10)

un deuxième bouton (à mettre en premier) initialisant la variable.

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Lien vers le commentaire
Partager sur d’autres sites

Pour l'instant, lorsque je lance lelisp sa me met :

 

Commande: limul

; erreur: paramètre de la variable AutoCAD rejeté: "CECOLOR" 50

 

En fait et pour résumer, il faut que je trace une poly d'épaisseur à déterminer et de longeure idem (because les unités de dessin différentes d'un chantier à un autre) et alternant avec la couleur 50 (jaune) et 100 (vert). Je sais je fais jamais des question facile. ;)

L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai.
"Il vaut mieux mobiliser son intelligence sur des conneries, que sa connerie sur des choses intelligentes" - Devise Shadok.
"ceux qui ne se souviennent pas du passé sont condamnés à le revivre" George Santayana

Ma bibliothèque de blocs électrique :symbole elec.dwg

Lien vers le commentaire
Partager sur d’autres sites

'Scuses Oli, tu vois j'avais bien fait de dire que c'était pas sur !

 

Remplaces tout les SETVAR par COMMAND

 

CECOLOR est une commande, pas un variable,...en fait.

 

Sinon, ca marche ?

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Lien vers le commentaire
Partager sur d’autres sites

On s'est croisé

 

et alternant avec la couleur 50 (jaune) et 100 (vert).

Ca, ca va (fallait le comprendre quand même !)

 

 

En fait et pour résumer, il faut que je trace une poly d'épaisseur à déterminer et de longeure idem (because les unités de dessin différentes d'un chantier à un autre)

Là on comprend rien, et c'est pas moi qui vais te pondre une routine qui fait des poly de même longueur !

 

Soit + précis.

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Lien vers le commentaire
Partager sur d’autres sites

Sory, sorry,sorry, i am verry sorry

Je me suis vraiment expliqué comme un pied. Par contre, ton lisp commence bien.

Modifié il donne ceci:

(defun c:limul (/ dep)
(repeat 100
(setq dep 50)
(command "CECOLOR" dep)
(command "_pline"
(while (not (zerop (getvar "cmdactive")))
(command pause)
)
)
(setq dep(1+ dep))
)
)
(princ)

 

On va demander à Christian si il y a pas moyen de lancer la _pline et d'en finir l'execution sans interromptre le script.

 

Si c possible, alors se sera bien.

 

Pour la deuxieme remarque ci dessus, je précise bien que la largeur et la longueur sont à rentré à la main. Il s'agit juste de limité le nombre de manip à faire. It's all ;)

L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai.
"Il vaut mieux mobiliser son intelligence sur des conneries, que sa connerie sur des choses intelligentes" - Devise Shadok.
"ceux qui ne se souviennent pas du passé sont condamnés à le revivre" George Santayana

Ma bibliothèque de blocs électrique :symbole elec.dwg

Lien vers le commentaire
Partager sur d’autres sites

 

(defun c:limul (/ )

(repeat 100

 

(command "_pline"

(while (not (zerop (getvar "cmdactive")))

(command pause)

)

)

(command "CECOLOR" 50)

(command "_pline"

(while (not (zerop (getvar "cmdactive")))

(command pause)

)

)

(command "CECOLOR" 100)

)

)

(princ)

 

un peu moins mauvais !

C'est vraiment du lisp de boucherie, je te préviens !

Echap pour arrêter !

 

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Lien vers le commentaire
Partager sur d’autres sites

Où tout simplement en modifiant légèrement le lisp de tramber, SI j'ai bien compris la question d'alternance.

 

(defun c:limul (/ old_color def_color)

(setq

old_color (getvar "CECOLOR")

def_color 50

)

(repeat 2

(setvar "CECOLOR" (itoa def_color))

(command "_.pline")

(while (not (zerop (getvar "cmdactive")))

(command pause)

)

(setq def_color 100)

)

(setvar "CECOLOR" old_color)

(prin1)

)

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

Sinon, on peut faire comme ceci mais cela implique de faire "clic droit" et option "entrée" entre chaque poly.

(defun c:limul (/ dep)
 (repeat 100
   (setq dep 50)
   (command "CECOLOR" dep)
   (command "_pline"
     (while (not (zerop (getvar "cmdactive")))
       (command pause)
     )
   )
   (setq dep 100)
   (command "CECOLOR" dep)
   (command "_pline"
     (while (not (zerop (getvar "cmdactive")))
       (command pause)
     )
   )
   (setq dep (1+ dep))
 )
)
(princ)

 

par contre, j'essaye ce que tu vient de donner.

@+

L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai.
"Il vaut mieux mobiliser son intelligence sur des conneries, que sa connerie sur des choses intelligentes" - Devise Shadok.
"ceux qui ne se souviennent pas du passé sont condamnés à le revivre" George Santayana

Ma bibliothèque de blocs électrique :symbole elec.dwg

Lien vers le commentaire
Partager sur d’autres sites

Bon, benh sa marche pas vraiment, je préfere ta premiere version. Reste à voir si on peut faire mieux, avis aux amateurs...

L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai.
"Il vaut mieux mobiliser son intelligence sur des conneries, que sa connerie sur des choses intelligentes" - Devise Shadok.
"ceux qui ne se souviennent pas du passé sont condamnés à le revivre" George Santayana

Ma bibliothèque de blocs électrique :symbole elec.dwg

Lien vers le commentaire
Partager sur d’autres sites

Oups, j'avais mal fait l'essai et Bonuscad à répondu en même temps que moi.

Effectivement, les 3 se valent, il reste juste a faire le "clic droit"/"entrée" pour changer la couleur sinon c bon, merci à tous les 2

@+

 

[Edité le 18/4/2005 par Oli553]

L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai.
"Il vaut mieux mobiliser son intelligence sur des conneries, que sa connerie sur des choses intelligentes" - Devise Shadok.
"ceux qui ne se souviennent pas du passé sont condamnés à le revivre" George Santayana

Ma bibliothèque de blocs électrique :symbole elec.dwg

Lien vers le commentaire
Partager sur d’autres sites

J'ai un lisp hyper compliqué qui permet de faire cela (valable aussi sur LT)

1) je trace un trait en couleur jaune et en type de ligne continuous

2) je fais une copie de ma ligne en @ (en clair sur lui-même)

3) je change les propriétés de ma copie en vert et avec le type de ligne cache

4) il ne reste plus qu'à jouer avec ltscale (de la ligne ou général)

 

@+

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

Lien vers le commentaire
Partager sur d’autres sites

Pas bete non plus celle là.

Merci

:P

L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai.
"Il vaut mieux mobiliser son intelligence sur des conneries, que sa connerie sur des choses intelligentes" - Devise Shadok.
"ceux qui ne se souviennent pas du passé sont condamnés à le revivre" George Santayana

Ma bibliothèque de blocs électrique :symbole elec.dwg

Lien vers le commentaire
Partager sur d’autres sites

Aprés quelque petite bidouilles, on peut choisir la largeur de la poly avant :

(defun c:limul (/ dep)
 (repeat 100
   (setq a (getreal "Largeur de ligne?"))
   (setq dep 50)
   (command "CECOLOR" dep)
   (setvar "PLINEWID" a)
   (command "_pline"
     (while (not (zerop (getvar "cmdactive")))
       (command pause)
     )
   )
   (setq dep 100)
   (command "CECOLOR" dep)
   (command "_pline"
     (while (not (zerop (getvar "cmdactive")))
       (command pause)
     )
   )
   (setq dep (1+ dep))
 )
)
(princ)

 

Autodesk devrait nous fournir un moyen pour rentr une longueur, sa pourrait etre utile.( ;) tramber)

L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai.
"Il vaut mieux mobiliser son intelligence sur des conneries, que sa connerie sur des choses intelligentes" - Devise Shadok.
"ceux qui ne se souviennent pas du passé sont condamnés à le revivre" George Santayana

Ma bibliothèque de blocs électrique :symbole elec.dwg

Lien vers le commentaire
Partager sur d’autres sites

Super, un nouveau lispeur dans la bagarre !

 

(defun c:limul (/ dep a)
(repeat 100
(setq a (getreal "Largeur de ligne?"))
(setvar "PLINEWID" a)
(command "CECOLOR" 50)
(command "_pline"
(while (not (zerop (getvar "cmdactive")))
(command pause)
)
)
(command "CECOLOR" 100)
(command "_pline"
(while (not (zerop (getvar "cmdactive")))
(command pause)
))))

 

+ simple

 

Au fait, pour la longueur, c'est une poly à 2 points ou + ?

 

 

[Edité le 20/4/2005 par Tramber]

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Lien vers le commentaire
Partager sur d’autres sites

Super, un nouveau lispeur dans la bagarre !

 

Euh, doucement, je m'y met difficilement. Je vois demain mon nouveau patron, j'espere obtenir la suite de ma formation sur Autocad pour abordé la programmation. Mais dans le mêm temps, je vais avoir encore plus de boulot alors dur-dur. Qui vivra verra

L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai.
"Il vaut mieux mobiliser son intelligence sur des conneries, que sa connerie sur des choses intelligentes" - Devise Shadok.
"ceux qui ne se souviennent pas du passé sont condamnés à le revivre" George Santayana

Ma bibliothèque de blocs électrique :symbole elec.dwg

Lien vers le commentaire
Partager sur d’autres sites

Oli553, ta routine encore un peu amélioré.

 

Elle permet en fait de boucler tant que tu rentre une largeur pour la polyligne à tracer, cela évite ton (repeat 100 que tu devras "Breaker" par un "ESC".

 

Pour introduire une longueur cela serait possible, mais l'ennui et que la commande "_pline" option "_length" s'appui sur la valeur de la variable "LASTANGLE" (qui est en lecture seule) pour diriger le segment, et cela n'est pas forcément l'orientation que tu désire.

 

Toujours est il que tu peux travailler avec les longueurs avec la routine si tu connais tes angles d'orientation. Il te suffit d'introduire par ex: "@142.5<<45" cela te donnera un segment de 142.5 de long avec un angle de 45° absolu.

(defun c:limul (/ old_color old_plw  w_pl def_color)
(setq old_color (getvar "CECOLOR") old_plw (getvar "PLINEWID"))
(initget 4)
(while (setq w_pl (getdist "\nLargeur de la polyligne: "))
	(setvar "PLINEWID" w_pl)
	(setq def_color 50)
	(repeat 2
		(setvar "CECOLOR" (itoa def_color))
		(command "_.pline")
		(while (not (zerop (getvar "cmdactive")))
			(command pause)
		)
		(setq def_color 100)
	)
	(initget 4)
)
(setvar "CECOLOR" old_color)
(setvar "PLINEWID" old_plw)
(prin1)
)

 

 

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é