Aller au contenu

Dimension d'une zone de dessin dans l'espace objet...


JPhil

Messages recommandés

Bonjour à tous,

 

Je suis actuellement en train de modifier un "gros" lisp qui n'est pas de moi.

Actuellement une partie du lisp fait ceci : imprimer le dessin de la présentation objet dans un DWFx ajusté au format de papier de 4000 x 900 mm sans tenir compte du style de tracé et des épaisseurs de ligne.

 

Pour l'instant, j'ai trouver comment faire pour imprimer un DWFx avec STB et épaisseurs de ligne.

Malheureusement le dessin étant grand, il n'est pas possible d'appliquer "Mettre à l'échelle les épaisseurs de ligne", valable uniquement en espace papier.

 

Résolution partielle du problème :

- Créer une présentation temporaire avec une fenêtre de 20000 x 4000 mm avec 1xp

- imprimer un DWFx ajusté au format de papier de 4000 x 900 mm, en prenant en compte le style de tracé, les épaisseurs de ligne et aussi (surtout) la mise à l'échelle des épaisseurs de ligne

 

Problème en cours : la taille de la fenêtre dans l'espace papier lors de l'impression

En effet, les plans peuvent varier de 3000 à 65000 mm pour la longueur et de 2500 à 5000 mm pour la hauteur.

 

Je souhaite donc connaitre la hauteur et la longueur d'un dessin dans l'espace objet (voir pièce jointe).

Actuellement je n'ai pas trouver de lisp répondant à ma demande, j'ai uniquement trouver des lisps qui permettent de donner la hauteur et largeur d'une fenêtre de présentation, ce qui m'aide pas.

 

 

L'idée étant que ça soit automatique et surtout transparent pour l'utilisateur, donc exit l'idée de créer un cadre manuel ou par bloc dynamique autour du dessin.

 

Merci d'avance pour votre aide.

post-68014-0-47420000-1594888660_thumb.jpg

Lien vers le commentaire
Partager sur d’autres sites

  • 4 mois après...

Le LISP n'a pas encore été validé à ce jour, mais voici le code qui peut servir à d'autres :

 

(defun c:geftest()
(progn

;;; récupération du nom dwffile

 (setq DwfFile (getvar "DWGPREFIX"))
 (setq DwfFile (strcat DwfFile (getvar "DWGNAME")))
 (setq DwfFile (substr DwfFile 1 (- (strlen DwfFile) 4)))
 (setq DwfFile (strcat DwfFile "-Model.dwfx"))

;;; fin de la récupération du nom dwffile


(command "ctab" "model")
(setq bt (getvar "extmin") tp (getvar "extmax"))
(setq xfmult (- (car tp) (car bt)))
(setq yfmult (- (cadr tp) (cadr bt)))
(setq xyfmult (list (+ 10 xfmult) (+ 10 yfmult) 0))

(command "_layout" "_NEW" "ITGEF")
(command "ctab" "ITGEF")
(command "_erase" "_ALL" "")
(command "_-layer" "_MAKE" "ITGEF" "")
(command "_.mview" "0,0,0" xyfmult)
(command "_mspace")
(command "_zoom" "1xp")
(command "_pspace")
(command "_zoom" "_ALL")
(command "_-layer" "_SET" "0" "")
(command "_-layer" "_OFF" "ITGEF" "")



(command "_-PLOT" "_Y" "ITGEF" "DWFx ePlot (XPS Compatible).pc3" "RFL_Test" "_M" "_L" "_N" "_E" "_F" "_C" "_Y" "Référentiel (olivier).stb" "_Y" "_Y" "_Y" "_N" DwfFile "_N" "_Y")


(command "ctab" "model")

(command "_layout" "_DELETE" "ITGEF")
(command "_-layer" "_DELETE" "ITGEF" "")
)
)

Lien vers le commentaire
Partager sur d’autres sites

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é