Aller au contenu

lisp pour calcul en mètre sur un dessin en millimètre


Messages recommandés

Posté(e)

Bonjour à tous, 

jusqu'à maintenant je dessinais en "mètres" et via une polyligne et un lisp, je pouvais en extraire le ml de celui ( utile pour des calculs de coton et autres ) 

Aujourd'hui je dessine en "millimètre" beaucoup plus pratique pour de la fabrication et une concordance via d'autre société, sauf que voilà lors de l'extraction je me retrouve avec un ml en millimètre ce qui me donne de grande donnée. 

J'aimerais que celui ci continue à me donner les résultats en ml en mètre

je vous joint le lisp actuellement utilisés et je ne vois pas ou est ce que je pourrais modifier la commande 

Si quelqu'un peut m'aider, je lui en serais très reconnaissant. 

 

;*********************************************

 

; Calcule la longueur des laize de moquette du calque spécifié

                 

              

;*********************************************

;;; C:LONG_PLINE Calcule la longueur des laize de moquettes du calque spécifié

 

(defun c:long_pline

(/ val_dxf longobjt clq js cnt tot nb_pl lo_pl)

 

;; Retourne la valeur du code dxf

(defun val_dxf (code ent)

(cdr (assoc code (entget ent)))

)

 

;; LONGOBJT Retourne le périmètre d'un objet (ename)

(defun LONGOBJT (ent)

(vl-load-com)

(vla-get-length (vlax-ename->vla-object ent))

)

 

(if

(setq

clq (entsel "\nSélectionnez un objet sur le calque ou < Nom >: "

)

)

(setq clq (val_dxf 8 (car clq)))

(setq clq (getstring "\nNom du calque: "))

)

(if (tblsearch "LAYER" clq)

(progn

(setq js (ssget "_X" (list '(0 . "LWPOLYLINE") (cons 8 clq)))

nb_pl 0

lo_pl 0.0

)

(repeat (sslength js)

(setq ent (ssname js (+ nb_pl)))

(cond

((= (val_dxf 0 ent) "LWPOLYLINE")

(setq nb_pl (1+ nb_pl)

lo_pl (+ lo_pl (LONGOBJT ent))

)

)

)

)

(setq descr (strcat

"\nNom de calque..........\t"

clq

"\nNombre de Laize...\t"

(itoa nb_pl)

"\nLongueur total de Laize..\t"

(rtos lo_pl)

"\n"

)

)

(textscr)

(princ descr)

(initget "Oui Non")

(if (= (getkword

"\nEnregistrer dans un fichier ? [Oui/Non] < Non >: "

)

"Oui"

)

(progn

(setq

file

(open

(getfiled "Créez ou sélectionnez un fichier" "" "xls" 33)

"a"

)

)

(princ descr file)

(close file)

)

)

(graphscr)

)

(princ "\nNom de calque invalide.")

)

(princ)

)

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • 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é