Bonjour,
mon projet de fin d'étude consiste à créer une commande sous autocad qui permet de repérer des pièces et de répertorier leurs caractéristiques dans une nomenclature, cette dernière devant se construire automatiquement au fur et à mesure que l'on repère des pièces sur un plan.
j'arrive à créer la bulle contenant le repère de la pièce et à renvoyer ce repère et d'autres information dans la première ligne de la nomenclature.
Mais je ne parviens pas a faire fonctionner la commande pour plusieurs pièces
voici mon code
(defun c:nomenclature()
(setq accro (getvar "osmode"))
( setvar "osmode" 0)
;insertion du bloc entete
(setq ptinsertion(getpoint "\Point d'insertion de la nomenclature"))
(command "-inserer" "ENTETE_NOMENCLATURE" ptinsertion 1 1 0)
; lance la bulle de reperage
(command "-calque" "ch" "ligne de repérage" "")
(setvar "osmode" 1)
(setq point1 (getpoint"\point d'insertion du repère:"))
(setvar "osmode"0)
(setq point2 (getpoint "\second point de la ligne de repère:"))
(setq ang1-2 (angle point1 point2))
(setq centrecercle1 (polar point2 ang1-2 60))
(setq distp2centre1 (distance point2 centrecercle1))
(command "ligne" point1 point2 "")
(command "cercle" centrecercle1 distp2centre1 "")
; a mettre dans les nomenclatures
(setq kelrepère (getstring "\ Quel repère voulez vous attribuer à l'élément ? :"))
(setq nombre (getstring"\ Nombre ? : ")); demande le nombre de brides
(setq fonction (getstring "\ Fonction de l'élément ?:"))
(setq DN (getstring "\ DN ?:"))
(setq PN (getstring "\ PN ?:"))
(setq diamext (getstring "\ Diamètre Extérieur tube ?:"))
(setq eptube (getstring "\ Epaisseur du tube ?:"))
(setq matière (getstring "\ Matière du tube ?:"))
(setq typebride (getstring "\Type de bride ?:"))
(setq dimensions (getstring "\ Dimensions de la bride ?:"))
(setq matbride (getstring "\ Matière de la bride ?:"))
(setq raccordement (getstring "\Type de raccordement ?:"))
(setq nbjoint (getstring "\ Nombre de joints ?:"))
(setq typejoint (getstring "\Type de joints ?:"))
(setq norme (getstring "\ Norme ?:"))
(setq epjoint (getstring "\ Epaisseur du joint ?:"))
(setq matjoint (getstring "\ Matière du joint ?:"))
(setq nbbls (getstring "\ Nombre de boulons ?:"))
(setq desbls (getstring "\ Désignation des boulons ?:"))
(setq obs (getstring "\ Observations ?:"))
; définition des cases point par point
(setq pt1 (polar ptinsertion 0 70)); début case fonction
(setq pt2 (polar pt1 (-(/ pi 2)) 6 ))
(setq pt3 (polar ptinsertion (-(/ pi 2)) 6 )); fin case fonction
(setq point1 (polar ptinsertion 0 35)); définit le centre de la case fonction
(setq centre (polar point1 (-(/ pi 2))3));
(setq pt4 (polar pt1 0 7)); début case nombre
(setq pt5 (polar pt4 (-(/ pi 2))6)); fin case nombre
(setq point2 (polar pt1 0 3.5)); définit le centre de la case nombre
(setq centre1(polar point2 (-(/ pi 2))3));
(setq pt6 (polar pt5 0 15)); début case repère
(setq pt7 (polar pt6 (+(/ pi 2))6)); fin case repere
(setq point3 (polar pt5 0 7.5)); définit le centre de la case repère
(setq centre2 (polar point3 (/ pi 2)3));
(setq pt8 (polar pt6 0 10)) ; début case DN
(setq pt9 (polar pt8 (+(/ pi 2))6)); fin case DN
(setq point4 (polar pt6 0 5)); définit le centre de la case
(setq centre3 (polar point4 (+(/ pi 2))3));
(setq pt10 (polar pt8 0 10)); début case PN
(setq pt11 (polar pt10 (+(/ pi 2))6)); fin case PN
(setq point5 (polar pt8 0 5)); définit le centre de la case PN
(setq centre4 (polar point5 (+(/ pi 2))3));
(setq pt12 (polar pt10 0 11)); debut case diam ext
(setq pt13 (polar pt12 (+(/ pi 2))6)); fin case diam ext
(setq point6(polar pt10 0 5.5)); définit le centre de la case diam ext
(setq centre5 (polar point6 (+(/ pi 2))3));
(setq pt14 (polar pt12 0 9)); début case épaisseur
(setq pt15 (polar pt14 (+(/ pi 2))6)); fin case épaisseur
(setq point7 (polar pt12 0 4.5)); définit le centre de la case épaisseur
(setq centre6 (polar point7 (+(/ pi 2))3));
(setq pt16 (polar pt14 0 24)); début case matière
(setq pt17 (polar pt16 (+(/ pi 2))6)); fin case matière
(setq point8 (polar pt14 0 12)); définit le centre de la case matière
(setq centre7 (polar point8 (+(/ pi 2))3));
(setq pt18 (polar pt16 0 30.01)); début case type
(setq pt19 (polar pt18 (+(/ pi 2))6)); fin case type
(setq point9 (polar pt16 0 15.005)); définit le centre de la case type
(setq centre8 (polar point9 (+(/ pi 2))3));
(setq pt20 (polar pt18 0 25)); début de la case dim
(setq pt21 (polar pt20 (+(/ pi 2))6)); fin de la case dim
(setq point10 (polar pt18 0 12.5)); définit le centre de la case dim
(setq centre9 (polar point10 (+(/ pi 2))3));
(setq pt22 (polar pt20 0 17)); début de la case matière
(setq pt23 (polar pt22 (+(/ pi 2))6)); fin de la case matière
(setq point11 (polar pt20 0 8.5));
(setq centre10 (polar point11(+(/ pi 2))3));
(setq pt24 (polar pt22 0 39)); début de la case raccordement
(setq pt25 (polar pt24 (+(/ pi 2))6)); fin de la case raccordement
(setq point12 (polar pt22 0 19.5));
(setq centre11 (polar point12 (+(/ pi 2))3));
(setq pt26 (polar pt24 0 10)); début de la case nombre joint
(setq pt27 (polar pt26 (+(/ pi 2))6)); début de la case nombre joint
(setq point13 (polar pt24 0 5));
(setq centre12 (polar point13 (+(/ pi 2))3));
(setq pt28 (polar pt26 0 8)); début de la case type joint
(setq pt29 (polar pt28 (+(/ pi 2))6)); début de la case type joint
(setq point14 (polar pt26 0 4));
(setq centre13 (polar point14 (+(/ pi 2))3));
(setq pt30 (polar pt28 0 8)); début de la case NF
(setq pt31 (polar pt30 (+(/ pi 2))6)); fin de la case NF
(setq point15 (polar pt28 0 4));
(setq centre14 (polar point15 (+(/ pi 2))3));
(setq pt32 (polar pt30 0 8)); début de la case épaisseur
(setq pt33 (polar pt32 (+(/ pi 2))6)); fin de la case épaisseur
(setq point16 (polar pt30 0 4)) ;
(setq centre15 (polar point16 (+(/ pi 2))3));
(setq pt34 (polar pt32 0 13)); début de la case matière
(setq pt35 (polar pt34 (+(/ pi 2))6)); fin de la case matière
(setq point17 (polar pt32 0 6.5));
(setq centre16 (polar point17 (+(/ pi 2))3));
(setq pt36 (polar pt34 0 10)); début de la case nombre de bls
(setq pt37 (polar pt36 (+(/ pi 2))6)); début de la case nombre de bls
(setq point18 (polar pt34 0 5));
(setq centre17 (polar point18 (+(/ pi 2))3));
(setq pt38 (polar pt36 0 22)); début de la case désignation des bls
(setq pt39 (polar pt38 (+(/ pi 2))6)); fin de la case désignation des boulons
(setq point19 (polar pt36 0 11));
(setq centre18 (polar point19 (+(/ pi 2))3));
(setq pt40 (polar pt38 0 62)); début de la case observations
(setq pt41 (polar pt40 (+(/ pi 2))6)); fin de la case observations
(setq point20 (polar pt38 0 31));
(setq centre19 (polar point20 (+(/ pi 2))3));
;dessin des case
(command "-calque" "ch" "ligne nomenclature" "")
(command "polylign" ptinsertion pt1 pt2 pt3 ptinsertion ""); dessin case fonction
(command "polylign" pt1 pt4 pt5 pt2 pt1 ""); dessin de la case nombre
(command "polylign" pt5 pt6 pt7 pt4 pt5 ""); dessin de la case repère
(command "polylign" pt6 pt8 pt9 pt7 pt6 ""); dessin de la case DN
(command "polylign" pt8 pt10 pt11 pt9 pt8 ""); dessin de la case PN
(command "polylign" pt10 pt12 pt13 pt11 pt10 ""); dessin de la case diam ext
(command "polylign" pt12 pt14 pt15 pt13 pt12 ""); dessin de la case epaisseur
(command "polylign" pt14 pt16 pt17 pt15 pt14 ""); dessin de la case matière
(command "polylign" pt16 pt18 pt19 pt17 pt16 ""); dessin de la case type
(command "polylign" pt18 pt20 pt21 pt19 pt18 ""); dessin de la case dimension
(command "polylign" pt20 pt22 pt23 pt21 pt20 ""); dessin de la case matière
(command "polylign" pt22 pt24 pt25 pt23 pt22 ""); dessin de la case raccordement
(command "polylign" pt24 pt26 pt27 pt25 pt24 ""); dessin de la case nbjoint
(command "polylign" pt26 pt28 pt29 pt27 pt26 ""); dessin de la case type joint
(command "polylign" pt28 pt30 pt31 pt29 pt28 ""); dessin de la case NF
(command "polylign" pt30 pt32 pt33 pt31 pt29 ""); dessin de la case épaisseur
(command "polylign" pt32 pt34 pt35 pt33 pt32 ""); dessin de la case matière
(command "polylign" pt34 pt36 pt37 pt35 pt34 ""); dessin de la case nbr de boulons
(command "polylign" pt36 pt38 pt39 pt37 pt36 ""); dessin de la case désignation des boulons
(command "polylign" pt38 pt40 pt41 pt39 pt38 ""); dessin de la case observation
; remplissage des textes dans les cases
(command "-calque" "ch" "texte nomenclature" "")
(command "texte" "m" centrecercle1 63 0 kelrepère); renvoie le texte repère dans la bulle
(command "texte" "m" centre 2.5 0 fonction); renvoie le texte dans la case fonction
(command "texte" "m" centre1 2.5 0 nombre); renvoie le texte nombre de bride
(command "texte" "m" centre2 2.5 0 kelrepère); renvoie le texte repère dans la case
(command "texte" "m" centre3 2.5 0 DN); renvoie le texte DN dans la case
(command "texte" "m" centre4 2.5 0 PN); renvoie le texte PN dans la case
(command "texte" "m" centre5 2.5 0 diamext); renvoie le texte diam ext dans la case
(command "texte" "m" centre6 2.5 0 eptube); renvoie le texte épaisseur dans la case
(command "texte" "m" centre7 2.5 0 matière); renvoie le texte "épaisseur" dans la case
(command "texte" "m" centre8 2.5 0 typebride); renvoie le texte type bride dans la case
(command "texte" "m" centre9 2.5 0 dimensions); renvoie le texte dimensions dans la case
(command "texte" "m" centre10 2.5 0 matbride); renvoie le texte matière dans la case
(command "texte" "m" centre11 2.5 0 raccordement); renvoie le texte raccordement dans la case
(command "texte" "m" centre12 2.5 0 nbjoint); renvoie le texte nb joints dans la case
(command "texte" "m" centre13 2.5 0 typejoint); renvoie le texte type joint dans la case
(command "texte" "m" centre14 2.5 0 norme); renvoie le texte norme
(command "texte" "m" centre15 2.5 0 epjoint); renvoie le texte épaisseur joint
(command "texte" "m" centre16 2.5 0 matjoint); renvoie le texte matière du joint
(command "texte" "m" centre17 2.5 0 nbbls); renvoie le texte nombre de bls
(command "texte" "m" centre18 2.5 0 desbls); renvoie le texte désignation des boulons
(command "texte" "m" centre19 2.5 0 obs); renvoie le texte observations
)
Partager