Aller au contenu

Messages recommandés

Posté(e)

slt

Voila j'aimerai faire un prog lips qui me servirait à coter toutes mes polyligne qui définissent mes canalisation EP (sur des projet qui varie entre 30ha et 80ha ça en fait de la cana) qui sont elles même défini dans des calques ex: 05_EP_cana_135A_600. => béton 135A 145ml

En sachant que je débute en lips.

merci par avance

Posté(e)

Hello,

 

Le Lips, c'est pas répandu comme langage,

on va te répondre en Lisp et tu feras la transformation ;) .

 

Mais tu n'es pas différent de la masse des questionneurs,

ta demande est aussi claire dans ta tête,

qu'elle est incomplète dans ta question.

 

tes polylignes sont en 2D ou en 3D ?

faut il coter des altitudes ou des longueurs ?

 

peut on mettre du TEXTE ?

ou, au contraire te faut il des COTES , voire associatives ?

 

en sachant tout ceci, il sera aisé de te guider dans ton Lisp,

 

amicalement

 

Posté(e)

salut didier,

en effet ma question est limpide dans ma tête par contre le lips je m'en occuperais plus plus tard ;)

je vais essayer d'être un peut plus claire.

tout d'abord mes polyligne seront en 2d, une pour chaque segment de canalisation et sur un calque pour chaques type de cana (béton600, pvc 400 .....)

ensuite il faudrait simplement le linéaire de chaques segments en texte au dessus ou en dessous de chaque segments (béton 600 145ml).

 

Ce prog s'occopera de me coter mon linéaire de chaque canalisation et metra le texte ou la cote (le plus facile à mettre en oeuvre dans le prog) dans le calque qui défini mes canas.

 

J'espère avoir été un peut plus claire cette fois ci

 

@+

Posté(e)

Au fait je tiens à remercier REBCAO pour les cours d'autolisp que je viens de télécharger.

Il sont claire et trés bien expliquer moi qui suis un peut demeuré ;) j'ai pratiquement tout compris et j'ai réussi un tout petit prog tout seul

Posté(e)

Salut

Je ne vois pas le besoin en lisp :exclam:

 

Les cotes se suffisent à elles-même.

Il suffit de choisir son calque, puis d'utiliser _qdim (cotation rapide) ou _dimlinear (cotation linéaire) puis _dimcontinue (pour faire une chaine de cotes)

 

@+

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)

slt patrick

l'utilité du prog est et de ressortir mon linéaire de cana pour mes plans d'exe en ayant un suffixe qui comprend le type de tuyeau.

Les cotaion à la main c'est bien mais quand tu as en moyenne des resaux Ep et Eu qui sont compris dans une zone de 30 hectares à 80 hectares tu te retrouves avec des centaines de mètre voir des kms de cana avec different diamètres d'ou une perte de temps de coté par sélection manuel de chaque segments et de rajouter sur chaque cotes mes types de tuyeau.

Posté(e)

Oui, je comprends bien le soucis, mais en jouant avec les calques, la sélection rapide et la cotation rapide (en une/deux manip te fais un ensemble de cotes)

 

@+

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)

effectivement patrick tu as raison, je viens de faire un essai et ça marche ( ;) pourquoi faire simple alors que peut compliqué) en prenant l'option objet, mais le petit soucis c'est que tu peux selection q'un seul objet. Est-ce tu as un solution?

En passant par la création d'un bouton?

Posté(e)

Bonjour,

 

Peut être quelque ligne de code à creuser encore si cela convient.

Cette routine va inscrire la longueur du perimètre des objet selectionnés avec une pause pour chaque objet (polyligne, ligne, spline, ellipse, arc, cercle) pour placer le texte de cote.

 

Cette cote n'est pas associative car elle contient la longueur curviligne des objets et non la distance droite d'extrèmité à extrèmité.

 

(defun c:dim_perimeter ( / ent name_lay js n vlaobj pt_org pt_end param_start param_end perim_obj)
(vl-load-com)
(while (not (setq ent (entsel "\nChoix d'une entité sur le calque à coter: "))))
(setq name_lay (cdr (assoc 8 (entget (car ent)))))
(setq js (ssget (append '((0 . "*POLYLINE,LINE,ARC,CIRCLE,ELLIPSE,SPLINE")(-4 . "< NOT")(-4 . "&") (70 . 112)(-4 . "NOT>")) (list (cons 8 name_lay)))) n 0)
(cond
	(js
		(setvar "dimsd1" 1)(setvar "dimsd2" 1)
		(repeat (sslength js)
			(setq
				ent (ssname js n)
				vlaobj (vlax-ename->vla-object ent)
				pt_org (vlax-curve-getStartPoint vlaobj)
				pt_end (vlax-curve-getEndPoint vlaobj)
				param_start (vlax-curve-getStartParam vlaobj)
				param_end (vlax-curve-getEndParam vlaobj)
				perim_obj (vlax-curve-getDistAtParam vlaobj (+ param_start param_end))
			)
			(command "_.dimaligned" pt_org pt_end "_text" (rtos perim_obj) pause)
			(setq n (1+ n))
		)
		(setvar "dimsd1" 0)(setvar "dimsd2" 0)
	)
	(T (princ "\nPas de polyligne sur ce calque."))
)
(prin1)
)

 

NB: ENLEVER l'espace entre le "<" et le NOT après le copier collé

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

Posté(e)

avec les options f,c,cp,sp,etc... durant la sélection (faire un ?,*,+,-,/,... pendant la sélection, cela permet de voir toutes les options)

 

Par exemple

Commande: _qdim
Sélectionnez une géométrie à coter: [b][color=red]f[/color][/b]
Spécifiez le premier coin: Spécifiez le coin opposé: 23 trouvé(s)

Sélectionnez une géométrie à coter:

 

@+

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

  • 1 an après...
Posté(e)

Bonjours à tous,

 

J'essai depuis longtemps de faire une routine qui ressemble étonament à la routine de bonuscad, sauf que, dans la mienne, chaque segment doit être coté...

 

Je clique une polyligne, et tous les segments ont une cote en leur milieu.. (cote, cote associative ou texte) orienté selon la direction de la cote et à l'intérieur de la polyligne, car elles sont toujours fermées...

 

Et une 'tite question...

Dans l'aide, j'ai

Takes any number of lists and appends them together as one list

 

Mais en traduction, il fait quoi ? Il fait une opération dans plusieurs listes ou il regroupe en une liste plusieurs autres ?

 

Car ce qui me taquine, c'est de comprendre ça :

(append '((0 . "*POLYLINE,LINE,ARC,CIRCLE,ELLIPSE,SPLINE") (-4 . ""))
(list (cons 8 name_lay))
)

dans la routine de bonuscad...

 

Merci,

 

Denis...

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Posté(e)

si tu veux comprendre de nouvelles fonctions LISP, fait des tests avec la console de l'éditeur VisualLISP ou directement à la ligne de commande.

 

Si tu as des difficultés avec l'anglais, les fonctions LISP sont décrites en français sur aidacad.

 

C'est au moins la troisième fois que je te donne ce lien !!!

Je risque de finir par me lasser.

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Désolé (gile), J'avais oublier. Je suis impardonnable, j'ai ce lien dans mes favoris...

 

La console VisualLISP ? la fenêtre avec les "_$" ? J'y vais...

 

Encore désolé...

 

Merci,

 

Denis...

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

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é