capde06 Posté(e) le 1 février 2006 Posté(e) le 1 février 2006 Helpje voudrais récuperer la valeur echelle d'une fenetre dans l'espace papier le prog commence comme ca(setq ent (entget(car(entsel "\nChoix de la fenetre :")))) je narrive a trouver le code dxf de l'echelle le but est de me faire une macro qui ecrit automatiquement l'echelle "1/200" sachant que mon unité de dessin est le metrejai essaye avec les champs mais il me donne 5:1 D'avance merci Vous fîtes ce que vous pûtes et vous m'épatâtes !!!!
rebcao Posté(e) le 1 février 2006 Posté(e) le 1 février 2006 Ce paramètre n'apparait pas directement ! Il faut utiliser la Taille de la fenêtre ( sa HAUTEUR = code DXF 41) puis passer dans la fenêtre en Espace Objet et lire la valeur de la variable système VIEWSIZE... et en principe VIEWSIZE / HAUTEUR = ECHELLE voir ensuite pour les unités si cm, m ou mm Christian [Edité le 1/2/2006 par rebcao] Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
capde06 Posté(e) le 1 février 2006 Auteur Posté(e) le 1 février 2006 Jai trouvé une autre solution dans le menu "format" "liste des echelles"j'ai redefini une nouvelle echelle 1/200 unités papier 5 = unités dessin 1 dans l'espace papier je regle l'echelle de la fenetre via les propriété "echelle perso" 1/200 je creai un Mtext avec un champ qui va chercher l'echelle de la fenetreresultat"Echelle 1/200" en automatiqueca marche nickel merci quand meme Rebcao Vous fîtes ce que vous pûtes et vous m'épatâtes !!!!
Tramber Posté(e) le 1 février 2006 Posté(e) le 1 février 2006 Pour les DXF, ca se trouve dans la banque des VIEWPORT, je n'utilise jamais mais je sais que l'on doit passer par tblsearch. Arrêtez-moi si je dis une bétise. Sinon : (vla-get-customscale(vlax-ename->vla-object(car(entsel)))) Le Vlisp est au poil pour ça. Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
capde06 Posté(e) le 2 février 2006 Auteur Posté(e) le 2 février 2006 merci a vousma fonction marchela petite macro vlisp marche tres bienje crois que je vais me mettre au vlisp Vous fîtes ce que vous pûtes et vous m'épatâtes !!!!
bonuscad Posté(e) le 2 février 2006 Posté(e) le 2 février 2006 Autre voie sans passer par les fonctions (vla-) (setq dxf_vport (entget (ssname (ssget "_:S" '((0 . "VIEWPORT"))) 0)))(/ (cdr (assoc 41 dxf_vport)) (cdr (assoc 45 dxf_vport))) Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
bonuscad Posté(e) le 21 avril 2006 Posté(e) le 21 avril 2006 Encore un autre moyen très concis (vu sur le forum US d'AutoDesk) (last (trans '(0 0 1) 3 2)) Qui trouvera plus court ? :P Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
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