Aller au contenu

Menu Autocad-Piste 5


philous2

Messages recommandés

Je reviens sur mon sujet d'hier ou bonuscad m'avait répondu par un lisp, mais un pot d eboulot m'a indiqué avoir eu un jour mais oublié depuis un menu du type de bonuscad mais beaucoup plus facile, simple e tcomplet, il suffisait juste de sélectionner les différents élements de son axe et le menu le sauvegardait en txt que l'on reprenait ds Piste nickel, il redessinait point ligne et cercle automatiquement.

Je recherche donc ce menu type très utile ds mon boulot car hyper rapide

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

et çà, cela te conviendrait ?

 

 

 

 

 

 

 

(defun c:mpist-1 ( / js i id ic ip ir)

 

(command "cmdecho" 0)

 

;;;;;MET LES UNITÉS AutoCAD => ORIGINE = EST - ANGLE = SENS TRIGO -

(command "-UNITES" "2" "2" "1" "2" "0.00" "N" )

 

;;;;;SE PLACE PROVISOIREMENT DANS LE SCU GÉNÉRAL - C.Richard DDE88

(command "scu" "ef" "Mpist")

(command "scu" "s" "Mpist" )

(command "scu" "g")

 

;;;;;CHOIX DES ENTITES

 

(alert "L'axe doit obligatoirement commencer et se terminer par une ligne.\n

\nLe nom du fichier *.CAP ne comportera que 8 caractères maximum")

 

(setq js (ssget)

i 0

ir 1

ip 1

id 1

ic 1

)

 

;;;;;ECRITURE DU FICHIER *.CAP POUR PISTE+ - C.Richard DDE88

(setq nf (getfiled "Ecriture de fichiers *.CAP pour PISTE+ (8 caractères maximum) " " " "CAP" 1))

(setq f (open nf "w"))

 

(princ "REM Avertissement :\n" f)

(princ "REM\n" f)

(princ "REM 1) L'orientation des éléments correspond à un axe en plan\n" f)

(princ "REM concu dans le sens des abscisses croissantes. Le cas échéant, \n" f)

(princ "REM l'orientation d'un élément peut être modifiée avec la commande\n" f)

(princ "REM INV.\n" f)

(princ "REM 2) Il est préférable de saisir les éléments de l'axe dans le sens des\n" f)

(princ "REM abscisses croissantes afin que le nom 'piste' de chacun d'eux \n" f)

(princ "REM suive ce sens (par exemple D1 puis D2 ...)\n" f)

(princ "REM 3) Le transfert de l'axe est correct si, dans AutoCAD :\n" f)

(princ "REM * les angles sont orientés dans le sens trigonomètrique\n" f)

(princ "REM et dont l'origine est l'EST,\n" f)

(princ "REM * le système de coordonnées générales (SCG) est courant.\n" f)

(princ "REM 4) La moulinette oriente uniquement les arcs de cercle et les\n" f)

(princ "REM segments de droites (Cf.1), il est déconseillé de transferer\n" f)

(princ "REM des cercles\n" f)

(princ "REM 5) Le transfert de plusieurs axes est possible.\n" f)

(princ "REM\n" f)

(while (< i (sslength js))

 

(setq e (ssname js i)

nom (cdr (assoc 0 (entget e)))

)

(if (= nom "LINE")

(progn

(setq p1 (cdr (assoc 10 (entget e)))

p2 (cdr (assoc 11 (entget e)))

)

(princ "POI " f)

(princ (strcat "P" (itoa ip) " ") f)

(princ (rtos (car p1) 2 6) f)

(princ " " f)

(princ (rtos (cadr p1) 2 6) f)

(princ "\n" f)

(princ "POI " f)

(princ (strcat "P" (itoa (1+ ip)) " ") f)

(princ (rtos (car p2) 2 6) f)

(princ " " f)

(princ (rtos (cadr p2) 2 6) f)

(princ "\n" f)

(princ "DRO " f)

(princ (strcat "D" (itoa id)) f)

(princ " " f)

(if (<= (car P1) (car P2))

(progn

(princ (strcat "P" (itoa ip) " ") f)

(princ (strcat "P" (itoa (1+ ip)) " ") f)

)

(progn

(princ (strcat "P" (itoa (1+ ip)) " ") f)

(princ (strcat "P" (itoa ip) " ") f)

)

)

(princ "\n" f)

(setq ip (+ ip 2) id (1+ id))

)

)

(if (= nom "ARC")

(progn

(setq p1 (cdr (assoc 10 (entget e)))

r (cdr (assoc 40 (entget e)))

Ad (cdr (assoc 50 (entget e)))

Aa (cdr (assoc 51 (entget e)))

)

(princ "DIS " f)

(princ (strcat "R" (itoa ir) " ") f)

(if (<= Aa pi) (setq r (- r)))

(princ r f)

(princ " \n" f)

(princ "POI " f)

(princ (strcat "P" (itoa ip) " ") f)

(princ (rtos (car p1) 2 6) f)

(princ " " f)

(princ (rtos (cadr p1) 2 6) f)

(princ "\n" f)

(princ "CER " f)

(princ (strcat "CE" (itoa ic) " ") f)

(princ (strcat "P" (itoa ip) " ") f)

(princ (strcat "R" (itoa ir) " ") f)

(princ "\n" f)

(setq ip (1+ ip) ir (1+ ir) ic (1+ ic))

);;; fin progn

)

 

(if (= nom "CIRCLE")

(progn

(setq p1 (cdr (assoc 10 (entget e)))

r (cdr (assoc 40 (entget e)))

)

(princ "DIS " f)

(princ (strcat "R" (itoa ir) " ") f)

(princ r f)

(princ " \n" f)

(princ "POI " f)

(princ (strcat "P" (itoa ip) " ") f)

(princ (rtos (car p1) 2 6) f)

(princ " " f)

(princ (rtos (cadr p1) 2 6) f)

(princ "\n" f)

(princ "CER " f)

(princ (strcat "CE" (itoa ic) " ") f)

(princ (strcat "P" (itoa ip) " ") f)

(princ (strcat "R" (itoa ir) " ") f)

(princ "\n" f)

(setq ip (1+ ip) ir (1+ ir) ic (1+ ic))

);;; fin progn

)

(setq i (1+ i))

);;; fin while

(princ "GRA\n" f)

(princ "REM\n" f)

(close f)

 

;;;;;REVIENT DANS LE SCU PARTICULIER - C.Richard DDE88

(command "scu" "R" "Mpist" )

 

(command "cmdecho" 1)

 

(princ)

);;; fin defun

 

 

 

il faut cliquer les entités dans l'ordre.

 

A+

 

 

 

Lien vers le commentaire
Partager sur d’autres sites

Slt Richard,

 

J'ai fait lisp avec ce que tu m'as donné que j'ai nommé "mpist"

 

( [surligneur] defun c:mpist-1 ( / js i id ic ip ir)

 

(command "cmdecho" 0)

 

;;;;;MET LES UNITÉS AutoCAD => ORIGINE = EST - ANGLE = SENS TRIGO -

(command "-UNITES" "2" "2" "1" "2" "0.00" "N" )

 

;;;;;SE PLACE PROVISOIREMENT DANS LE SCU GÉNÉRAL - C.Richard DDE88

(command "scu" "ef" "Mpist")

(command "scu" "s" "Mpist" )

(command "scu" "g")

 

;;;;;CHOIX DES ENTITES

 

(alert "L'axe doit obligatoirement commencer et se terminer par une ligne.\n

\nLe nom du fichier *.CAP ne comportera que 8 caractères maximum")

 

(setq js (ssget)

i 0

ir 1

ip 1

id 1

ic 1

)

 

;;;;;ECRITURE DU FICHIER *.CAP POUR PISTE+ - C.Richard DDE88

(setq nf (getfiled "Ecriture de fichiers *.CAP pour PISTE+ (8 caractères maximum) " " " "CAP" 1))

(setq f (open nf "w"))

 

(princ "REM Avertissement :\n" f)

(princ "REM\n" f)

(princ "REM 1) L'orientation des éléments correspond à un axe en plan\n" f)

(princ "REM concu dans le sens des abscisses croissantes. Le cas échéant, \n" f)

(princ "REM l'orientation d'un élément peut être modifiée avec la commande\n" f)

(princ "REM INV.\n" f)

(princ "REM 2) Il est préférable de saisir les éléments de l'axe dans le sens des\n" f)

(princ "REM abscisses croissantes afin que le nom 'piste' de chacun d'eux \n" f)

(princ "REM suive ce sens (par exemple D1 puis D2 ...)\n" f)

(princ "REM 3) Le transfert de l'axe est correct si, dans AutoCAD :\n" f)

(princ "REM * les angles sont orientés dans le sens trigonomètrique\n" f)

(princ "REM et dont l'origine est l'EST,\n" f)

(princ "REM * le système de coordonnées générales (SCG) est courant.\n" f)

(princ "REM 4) La moulinette oriente uniquement les arcs de cercle et les\n" f)

(princ "REM segments de droites (Cf.1), il est déconseillé de transferer\n" f)

(princ "REM des cercles\n" f)

(princ "REM 5) Le transfert de plusieurs axes est possible.\n" f)

(princ "REM\n" f)

(while (< i (sslength js))

 

(setq e (ssname js i)

nom (cdr (assoc 0 (entget e)))

)

(if (= nom "LINE")

(progn

(setq p1 (cdr (assoc 10 (entget e)))

p2 (cdr (assoc 11 (entget e)))

)

(princ "POI " f)

(princ (strcat "P" (itoa ip) " ") f)

(princ (rtos (car p1) 2 6) f)

(princ " " f)

(princ (rtos (cadr p1) 2 6) f)

(princ "\n" f)

(princ "POI " f)

(princ (strcat "P" (itoa (1+ ip)) " ") f)

(princ (rtos (car p2) 2 6) f)

(princ " " f)

(princ (rtos (cadr p2) 2 6) f)

(princ "\n" f)

(princ "DRO " f)

(princ (strcat "D" (itoa id)) f)

(princ " " f)

(if (<= (car P1) (car P2))

(progn

(princ (strcat "P" (itoa ip) " ") f)

(princ (strcat "P" (itoa (1+ ip)) " ") f)

)

(progn

(princ (strcat "P" (itoa (1+ ip)) " ") f)

(princ (strcat "P" (itoa ip) " ") f)

)

)

(princ "\n" f)

(setq ip (+ ip 2) id (1+ id))

)

)

(if (= nom "ARC")

(progn

(setq p1 (cdr (assoc 10 (entget e)))

r (cdr (assoc 40 (entget e)))

Ad (cdr (assoc 50 (entget e)))

Aa (cdr (assoc 51 (entget e)))

)

(princ "DIS " f)

(princ (strcat "R" (itoa ir) " ") f)

(if (<= Aa pi) (setq r (- r)))

(princ r f)

(princ " \n" f)

(princ "POI " f)

(princ (strcat "P" (itoa ip) " ") f)

(princ (rtos (car p1) 2 6) f)

(princ " " f)

(princ (rtos (cadr p1) 2 6) f)

(princ "\n" f)

(princ "CER " f)

(princ (strcat "CE" (itoa ic) " ") f)

(princ (strcat "P" (itoa ip) " ") f)

(princ (strcat "R" (itoa ir) " ") f)

(princ "\n" f)

(setq ip (1+ ip) ir (1+ ir) ic (1+ ic))

);;; fin progn

)

 

(if (= nom "CIRCLE")

(progn

(setq p1 (cdr (assoc 10 (entget e)))

r (cdr (assoc 40 (entget e)))

)

(princ "DIS " f)

(princ (strcat "R" (itoa ir) " ") f)

(princ r f)

(princ " \n" f)

(princ "POI " f)

(princ (strcat "P" (itoa ip) " ") f)

(princ (rtos (car p1) 2 6) f)

(princ " " f)

(princ (rtos (cadr p1) 2 6) f)

(princ "\n" f)

(princ "CER " f)

(princ (strcat "CE" (itoa ic) " ") f)

(princ (strcat "P" (itoa ip) " ") f)

(princ (strcat "R" (itoa ir) " ") f)

(princ "\n" f)

(setq ip (1+ ip) ir (1+ ir) ic (1+ ic))

);;; fin progn

)

(setq i (1+ i))

);;; fin while

(princ "GRA\n" f)

(princ "REM\n" f)

(close f)

 

;;;;;REVIENT DANS LE SCU PARTICULIER - C.Richard DDE88

(command "scu" "R" "Mpist" )

 

(command "cmdecho" 1)

 

(princ)

);;; fin defun[/surligneur]

 

J'ai ensuite tapé "mpiste" comme commande d'entrée mais rien réponse commande inconnu, aurais-je fait une mauvaise manip je pense que oui.

Peux-tu m'indiquer la commande d'entrée par rapport à ce que j'ai enregistré ds ton lisp.

Merci d'avance

 

Phil

Lien vers le commentaire
Partager sur d’autres sites

reslt Richard,

 

Je viens de réessayer, j'avais oublié le tiret 1 en fait.

J'ai fait un essai avec 5 éléménts composé de 3 droites(entrée fin et intermédiaire) et 2 cercles.

J'ai saisi les élémnts commes demandé ds lisp autocad puis enregistré sous un fichie *.cap, jusque là aucun soucis très simple exactement de ce que j'avais entendu parlé. C'est après que cela se gate, lorsque je lis le fichier ds pîste ds le menu Outils, 'lire un fichier de commandes", uil charge bien quelquesc hose smais que les cercles aucune droite ni points de constructions des droites, je pense que cela n'est pas normal.

Moi j'ai la version Piste 5.06 la dernière, n'st-ce pas un problème de version Piste ou alors j'ai oublié de faire un truc !

Lien vers le commentaire
Partager sur d’autres sites

salut,

 

tant mieux si çà te plais,

 

donc , rappelles toi => des lignes et des arcs (ou cercles), je pense que les lignes doivent être contruites dans le sens de construction de l'axe.

 

voilà.

 

à noter que le programme de base n'est pas de moi, je n'ai fais que d'ajouter quelques modifs, c'est tout, de plus je ne me sert pas de piste.

J'avais fait des routines semblable à celle la, mais je trouve que ce programme est le mieux.

 

bon courage.

 

A+

Lien vers le commentaire
Partager sur d’autres sites

Slt Richard,

 

C'est vrai que cela est excellent ici chez nous car on est la moité à utiliser Piste les autres travaille sur MXROAD mis depuis la dernière décentralisation on risque d ene plus continuer longtemps sur Piste car la DDE n'xistant presque plus au niveau local ds les départements leur service informatique de Lyon ne risque plus de faire d'amélioration ds l'avenir..

Par contre j'aurai juste une dernière info à te demander est-ce que ds la sélection on peut ce lisp tiens compte de clotoÏde car j'ia un autre lisp que je compte utiliser pour faire clotoïde.

Car ds la commande Arc est-ce la cloto passe !

C'est ma dernière interrogation autrement parfait pour moi, très utile et surtout rapide.

 

A+

 

Phil

Lien vers le commentaire
Partager sur d’autres sites

non je n'ai pads le programme Bonuscad pourtant le nomme dit quelque chose.

J'ai essayé d'aller sur le site du CETE Lyon mais en reconstruction c'est bien à cette adresse " [surligneur] http://www.cete-lyon.equipement.gouv.fr [/surligneur]" !

J'ai déjà eu affaire à l'assiqtance Piste du CETE Lyon avec un dénommé M. Rivière je crois ca rj'avais pas mal d ebug sur la dernière version de Piste

Lien vers le commentaire
Partager sur d’autres sites

Non je suis du conseil general 22 à st-brieuc.

Efectivement pour Bonuscad c'est moi qui planait, j'étais sur un projet assez chiant cet am.

J'ai aussi retrouvé un échange entre lui et moi il y a peu au sujet de clotoide, car la siennes et pas mal mais je cherchais à l'améliorer en pouvant indiquer la longueur, le rayon ou le déport il faut 2 de ces 3 éléments pour calculer plus précisement à la façon de Piste mais sur Autocad.

 

A +

 

 

 

Lien vers le commentaire
Partager sur d’autres sites

essayes de prendre contact avec lui par le biai de ce forum,

 

ou alors, je crois que l'on peux télécharger depuis ici aussi,

fais une recherche sur ce forum.

 

BonusCAD est un de tes collègue, un garçon trés sympat.

 

sur le CETE de Lyon, le menu n'existe plus.

 

A+

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir collègue,

 

Je t'ai répondu sur ton autre sujet

 

Il est vrai que piscom pouvait récupérer les clothoïdes faites par un logiciel du CETE (OUTICAD)

Je crois que le développement a été abandonné...

 

J'aurais pu adapter mon lisp pour récupérer mes propre clothoïdes, mais comme expliqué dans l'autre post, je n'utilise plus Piste, donc....

 

A l'époque pour pallier à ce manque, je ne récupérais plus que les droites et cercles sous autocad pour les passer dans Piste, quitte à reconstruire rapidement mes liaisons dans Piste.

 

Pour les clothoïdes sous autocad pour pouvoir déterminer les paramètres, je me servait de la formule classique:

 

A²=L.R

 

A étant le paramètre de la clothoïde, L la longueur de celle-ci et R le rayon du cercle.

 

Et d'une formule approchante, mais bien pratique:

 

Delta R= L²/24.R

 

Delta R étant le Ripage ou Décalage du cercle par rapport à la droite.

 

Avec ces 2 formules, la plus part du temps cela me suffisait pour mettre en place mon cercle et d'obtenir la clothoïde voulue.

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é