Aller au contenu

FICHIER DE COMMANDE PISTE5.06


Messages recommandés

Posté(e)

Bonjour,

Je suis un technicien projeteur je cherche une routine pour les fichiers de commande piste

Voila un exemple du fichier de commande :

Les points de l’axe en plan

POI P1 621802.2078 409672.7883

POI P2 621822.5314 409704.1869

POI P3 621841.4750 409713.2030

POI P4 621873.9471 409709.6854

 

Les points pour tabulation

 

POI P5 621802.2078 409672.7883

POI P6 621806.6987 409679.7265

POI P7 621815.3527 409693.0964

POI P8 623600.1459 411789.4491

POI P9 623608.3566 411818.5031

POI P10 623616.6530 411845.1908

POI P11 623624.7223 411871.1481

POI P12 623631.6215 411893.3411

Définition des droites

DRO D1 P1 P2

DRO D2 P3 P4

 

Définition des cercles

DIS R1 -20

CER C1 D1 D2 R1 Définition d’axe

AXE A1 P1 D1 C1 D2 p4 fin

Implantation des tabulations

PRO A1 P5 P6 P7 P8 P9 P10 P11 P12

Création du fichier pis

TAB A1 PIS

Posté(e)

svp

j'ai une routine mais elle ne fait pas tous le travail c urgent si c possible.

( defun c:AXE ( / 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

 

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

comment l'utiliser svp ce routine ya ti

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é