Aller au contenu

Messages recommandés

Posté(e)

Bonjour à tous,

je prépare pour l'instant une routine en lsp et je voudrais bien extraire l'échelle d'une MVIEW .

Existe t'il une variable où est stockée cette information ?

Merci de pouvoir m'éclairer sur ce sujet.

 

Posté(e)

Il y a (sans doute) une variable pour celles que tu vas (futur simple) créer mais pour les anciennement créées il faut sans doute explorer le code DXF :

 

code de groupe : Viewport, mais c'est vrai que je ne trouve pas le code spécifique à l'échelle.

 

Peut-être faut-il aller voir dans la vue du Viewport !

 

Trop dur pour moi.

Peut-être serait-il utile de publier dans le forum Lisp (?!)

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Posté(e)

Salut,

C’est sûrement l’échelle d’une fenêtre dont tu veux parler.

Voici un petit lisp qui stocke l'echelle d'une fenêtre dans la variable echelle

 

(vl-load-com)
(setq sel (entsel "\nSélectionnez la fenêtre : "))
(setq fen (vlax-ename->vla-object (car sel)))
(setq echelle (vlax-get-property fen "CustomScale"))
(princ)

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Posté(e)

Bonjour,

 

Tu peux obtenir le facteur de zoom XP d'une fenêtre comme ceci

 

(setq group_dxf (entget (car (entsel "\nSélectionner une fenêtre"))))
(setq factor_zoomxp (/ (cdr (assoc 41 group_dxf)) (cdr (assoc 45 group_dxf))))

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Posté(e)

Salut Bonus !

 

Je suis curieux, c'est quoi le rapport des groupes 41/45 ?

 

A quoi correspondent-ils ?

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Posté(e)

Salut Tramber

 

41 --> Hauteur en unités d'espace papier

45 --> Hauteur de la vue (en unités de l’espace objet)

 

C'est dans le code dxf VIEWPORT

REMARQUE : le facteur ZOOM XP est calculé à l'aide de la formule suivante : groupe_41 / 2ème_groupe_1040 (ou hauteur_espacepapier / hauteur_espaceobjet).

(Extrait de l'aide)

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Posté(e)

Bonsoir à tous,

merci à vous tous pour votre aide.

C'est bien ce que je cherchais.

En fait c'est parce que je cherche à mettre à jour mon cartouche en utlisant une routine que je prépare, cela évite des oublies et des erreurs.

encore une fois merci

Posté(e)

Salut Dfbiagio

 

Je ne fais pas de copier coller du code, car trop volumineux.

Donc tu récupère le zip, tu extrait les 2 fichiers dans un dossier de recherche d'Autocad.

Tu peux choisir le dossier "support" mais un autre dossier serait conseillé pour ne pas mélanger les torchons et les serviette, quitte à rajouter un nouveau dossier de recherche dans les options d'autocad.

 

Pour faire un essai en tout 1er lieu charge le fichier "tatouage.fas" .

Manuellement tu peux faire ça par (load "tatouage") au message commande.

Tu auras alors à disposition la commande "TATOUAGE" pour insérer un cartouche prédéfini, et la commande (RECORD) ...avec les parenthèses, pour mettre à jour ce cartouche.

 

On peut automatiser la mise à jour grace aux lignes suivantes dans un fichier approprié:

(load "tatouage.lsp")

(if s::startup

(setq s::startup (append s::startup '((record))))

(defun-q s::startup () (record))

)

 

Mais avant de faire ceci regarde si ca te convient, ou si ça fonctionne sous 2005.....

 

Si le code source t'interresse, je peux te le faire passer

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Posté(e)

Salut Bonuscad,

 

j'ai essayé ton cartouche et il est très bien et il fonctionne bien aussi. Le seul problème pour moi c'est qu'il n'est pas adaptable. C-à-d que l'on doit le prendre tel qu'il est on ne peut pas le modifier à sa guise.

Mais j'ai trouvé ce qu'il me fallait dans la zone de téléchargement, en lisant les nouveautés du 2005. En fait je rempli la case pour les échelles un champs en anglais qui se met à jour à chaque fois que je fais un regen. Dans la 2005 c'est une nouveauté assez complexe mais, je pense, très utile. Si je pouvais avoir plus d'informations conrcernant cette commande cela m'aiderai beaucoup.

J'ai une autre demande à te faire. Qu'elle est le type de fichier <.fas>. Est-ce du lisp du c++ ??

 

Merci d'avance A+

 

Posté(e)

Salut,

 

Le type du fichier .fas et du lisp compilé, et donc immodifiable,

Si tu veut l'adapter a tes besoins je peux t' envoyer (donne moi ton adresse) le fichier source si tu te sens à l'aise avec le lisp pour le modifier.

Mais c'est vrai que 2004 propose la commande bannière (2005 aussi je suppose) avec des champs personnalisables. Si cette commande te convient, il va de soit que ce n'est pas la peine de se casser la tête

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

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é