selton92 Posté(e) le 27 novembre 2006 Posté(e) le 27 novembre 2006 Bonjour a tous.J'ai une petit question sur les champs dans autoCAD 2007, comment peut ton forcer pas defaut le sufixe M² du champs objet aire?Car il est tres fastideux de repeté cette etape a chaque insertion.Merci.Sur autoCAD 2005 c'était dans fichier AcFields.fdc!
didier Posté(e) le 27 novembre 2006 Posté(e) le 27 novembre 2006 hello, il te suffira de cliquer sur le boutonFormat supplémentaireensuite je te laisse trouver ce que tu auras devant le nez. amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
Steven Posté(e) le 7 décembre 2006 Posté(e) le 7 décembre 2006 Salut Didier. En fait Selton92 souhaite que m² se mette automatiquement plutôt que de faire à chaque fois Format supplémentaire à chaque calcul de surface. Nous avons regardé cet après-midi avec Selton92, en fait il faut modifier le fichier AcFields.fdc, L'ouvrir avec un traitement de texte, chercher la ligne qui contiens %lu2 (en tout cas se rapprochant de ça car je n'ai plus le fichier sous les yeux) et rajouter m². ---> %lu2 m².De ce fait, il n'y a plus besoin de cliquer sur Format supplémentaire pour rajouter m². Amitié. Steven________________________________________ Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD. Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD. En rêve; AutoCAD sous Linux.
didier Posté(e) le 7 décembre 2006 Posté(e) le 7 décembre 2006 hello merci de ce renseignement, c'est utile. amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
(gile) Posté(e) le 7 décembre 2006 Posté(e) le 7 décembre 2006 Ou encore, un petit LISP : (defun c:chp_aire (/ AcDoc Space obj ins) (vl-load-com) (setq AcDoc (vla-get-ActiveDocument (vlax-get-acad-object)) Space (if (= 1 (getvar "CVPORT")) (vla-get-PaperSpace AcDoc) (vla-get-ModelSpace AcDoc) ) ) (if (and (setq obj (car (entsel))) (member (cdr (assoc 0 (entget obj))) '("ARC" "CIRCLE" "ELLIPSE" "LWPOLYLINE" "REGION" "SPLINE") ) (setq ins (getpoint "\nSpécifiez le point d'insertion: ")) ) (vla-addMtext Space (vlax-3d-point ins) 0.0 (strcat "% (itoa (vla-get-ObjectID (vlax-ename->vla-object obj))) ">%).Area \\f \"%lu2%pr2%ps[,m²]%ct8[1e-006]\">%" ) ) ) (princ) ) Pour le format des champs dynamiques, le plus simple est de créer un champ et de le formater selon ses désir puis de copier la syntaxe en bas de la boite de dialogue (Expression de champ). http://img67.imageshack.us/img67/5931/champll2.png Exemple pour une aire : %%).Area \\f \"%lu2%pr2%ps[aire = ,m²]%ct8[1e-006]\">% L'expression est séparée "en deux parties" par l'ID de l'objet sélectionné, elle le sera aussi dans le LISP par l'expression (itoa (vla-get-ObjectID (vlax-ename->vla-object obj))).Il suffit donc de mettre entre guillemets chaque partie après avoir rajouté un "anti-slash" (\) devant chaque anti-slash et guillemet : "%(itoa (vla-get-ObjectID (vlax-ename->vla-object obj))) ">%).Area [surligneur]\[/surligneur]\f [surligneur]\[/surligneur]"%lu2%pr2%ps[aire = ,m²]%ct8[1e-006][surligneur]\[/surligneur]">%" Le format du champ est contenu dans la "deuxième partie" : %lu2 : type d'unité (comme la variable système LUNITS) %pr2 : nombre de décimales (comme la variable système LUPREC) %ps[aire = ,m²] : préfixe (aire = ), sufixe (m²) %ct8[1e-006] : facteur de conversion (ici mm² en m²) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Steven Posté(e) le 7 décembre 2006 Posté(e) le 7 décembre 2006 hello merci de ce renseignement, c'est utile. amicalement Si tu modifies ce fichier, je pense que je n'ai pas besoin de dire d'en faire d'abord une copie :laugh: Sinon, une fois que tu auras porté la modif dans le fichier AcFields.fdc, fermes le document, quittes et relances AutoCAD. Surtout ne pas oublier de fermer le fichier AcFields.fdc sinon AutoCAD affichera un message d'erreur lors de l'insertion d'un champs. Steven________________________________________ Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD. Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD. En rêve; AutoCAD sous Linux.
Steven Posté(e) le 7 décembre 2006 Posté(e) le 7 décembre 2006 Exemple pour une aire : %<\\AcObjProp.16.2 Object(%<\\_ObjId [surligneur]2130373808[/surligneur]>%).Area \\f \"%lu2%pr2%ps[aire = ,m²]%ct8[1e-006]\">% Bravo pour le lisp :D (Et dire qu'il y a quelque temps on m'a dit que le lisp c'est fini que c'est le VBA qui va prendre le dessus. Je n'en suis pas convaincu. Le lisp n'est pas près de disparaître.) Par contre, il est vrai que lorsque que l'on sélectionne Aire, on a une ligne de fou en bas de la fenêtre des champs par contre une fois qu'on a choisi l'objet polyligne et que la fenêtre se réaffiche, la ligne est moins importante. C'est comme ça qu'on a trouvé assez rapidement la ligne a modifier dans le fichier AcFields.fdc [Edité le 7/12/2006 par Steven] Steven________________________________________ Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD. Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD. En rêve; AutoCAD sous Linux.
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant