Aller au contenu

pb lisp pour remplir un tableau


Zugzwang

Messages recommandés

bonjour

c'est plutôt une question pour le support Zwcad qui je l'espère traine toujours sur le forum.

j'ai un lisp (plusieurs en fait) qui m'aident pour les métrés en invitant à poser le résultat des calcul dans une cellule de tableau à pointer par l'utilisateur.

Sur autocad, pas de soucis, mais sur Zwcad, quand on pointe une cellule,  l'éditeur de saisie s'active bien, mais le résultat du lisp est affiché à la ligne de commande...

une idée pour rendre compatible ce lisp (c'est la dernière ligne qui pose pb...)

 

merci d'avance

(defun c:STL (/ LG LT SEL tube X)
;; somme des longueurs de lignes poly spline  sélectionnées
;; invite à saisir une celulle de tableau

  (vl-load-com)
  (setq lg   0.0
lt   0.0
sel  nil
tube nil
  )
  (while (not sel)
    (setq sel (ssget (list '(-4 . "<OR") '(0 . "*POLYLINE") '(0 . "SPLINE") '(0 . "LINE") '(-4 . "OR>"))
     )
    )
  )
  (setq x (sslength sel))


  (repeat x
    (setq x (- x 1))
    ;; pour décaler et arriver à zéro à la fin on décrémente au début (le 1ere élément de la liste est en zéro)
    (setq tube (ssname sel x))

    (if (= (cdr (assoc 0 (entget tube))) "SPLINE")

      ;; si c'est une spline
      (progn
(command "aire" "ob" tube)
(setq lt (getvar "perimeter"))
      )
      ;; si c'est autre chose
      (progn
(setq lt
      (vla-get-Length
(vlax-ename->vla-object (ssname sel x))
      )
)
      )
    )

    (setq lg (+ lt lg))
  )


  (print (strcat "Longueur :" (rtos lg)))

  (command "MODIFTABLEAU" pause (rtos lg) )


  (princ)
)

 

Lien vers le commentaire
Partager sur d’autres sites

  • 3 mois après...

Coucou @olympio,

Je présume qu'en postant dans ce sujet en particulier, c'est que tu souhaites un rendu similaire (remplissage d'une cellule d'un tableau existant sur AutoCAD (à savoir que le sujet est posté dans la catégorie ZWCAD) ?

En l'état, il nous manque de nombreuses précisions essentielles au développement d'un moindre programme (ou tout simplement t'aiguiller vers des programmes existants parfaitement fonctionnels). De plus, d'un point de vue utilisateur et développeur il n'y a que très peu d'intérêt d'avoir une seule commande pour dénombrer les blocs et calculer la longueur totale des polylignes ! Il s'agit de 2 concepts totalement différents et il est donc préférable d'utiliser 2 commandes distinctes !

Et (histoire d'en rajouter une couche), les programmes permettant de compter les blocs ou calculer la longueur cumulée des polylignes il en existe déjà des centaines !!
As-tu cherché si les solutions existantes répondaient à ta demande ? Si oui, serait-il possible de savoir lesquels tu as essayé et ce qui ne convient pas ?

Bisous,
Luna

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é