Aller au contenu

remplir un tableau...


Zugzwang

Messages recommandés

Bonjour

depuis des lustres, je fait mes métrés avec un petit lisp récupéré ici et un peu bricolé. J'isole le calque, je lance le lisp fait une sélection, (filtrée lignes polyligne spline) le lisp fait la somme des longueurs, et propose de poser un texte que je met à coté de la légende. c'est souple et rapide.

Depuis peu je fait les légende dans un tableau...(et puis un tableau ça s'exporte en 2s ^^)

y aurait il un moyen pour qu'a la fin du lisp on demande à remplir directement une case dans un tableau..

la case bien sur change à chaque fois, n'est pas forcément dans l'ordre, bref doit pouvoir être appelé à la volée...
je suis loin de mon champ de compétence

Pour inspiration et pour ceux qui voudrai se faciliter les métrés, le code que j'utilise (j'en ai un autre pour les surfaces)

Merci d'avance...

 

(defun c:SLPS (/ LG LT SEL tube X)
;; somme des longueurs de lignes poly spline  sélectionnées
;; pose un texte dans le style courant hauteur 0.6 à changer en dur

  (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) " ."))
  (setvar "textsize" 0.6)
  (command "texte" pause "" "" (rtos lg))


  (princ)
)

 

 

 

 

Lien vers le commentaire
Partager sur d’autres sites

mouai... en bricolant, je tombe sur la ligne de commande et je remarque que lorsqu'on rentre dans une cellule, autocad appelle la commande MODIFTABLEAU...

mais si j'insère   (command "MODIFTABLEAU") avant l'appel du texte, ça marche pas...(même avec le ligne du texte en commentaire)

Le lisp lance MODIFTABLEAU, m'invite à cliquer une case, mais rentre pas dedans...

Citation

Commande: SLPS
Sélectionner des objets: Spécifiez le coin opposé: 22 trouvé(s)
Sélectionner des objets:
"Longueur :49.24 ." MODIFTABLEAU
Choisissez une cellule du tableau:
Choisissez une cellule du tableau:

bref j'ai beau cliquer, il rentre pas...

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é