Aller au contenu

Messages recommandés

Posté(e)

Bonjour,

J'ai touvé sur internet un lisp permettant d'enlever la ligne de côte en utilisant les variables DIMSE1 et DIMSE2. Est ce que quelqu'un aurait une solution pour rajouter à ce lisp les variables DIMBLK1 et DIMBLK2, celles ci permettent d'enlever la flèche.

Merci

XL-TOGL.lsp

  • Upvote 1
  • Downvote 3
Posté(e)

Salut

 

Je trouve que tu pousses un peu. Tu n'as même pas cherché comment faire car changer des variables en lisp, il n'y a rien de plus simple. (De plus que tu donnes les variables !)

 

J'ai un besoin, je demande sans même chercher, un merci histoire d'aller dans le sens du poil. On consomme en gros

 

Je passe mon tour.

 

@-

  • Upvote 1
  • Downvote 1

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,

J'ai essayé, je suis arrivé à remplacer la variable DIMSE par DIMBLK mais je n'arrive pas à intégrer les 2 en même temps. C'est cela mon soucis.

Je ne m'y connais pas du tout en lisp, ce que j'arrive à rajouter ce sont juste des lignes de commande :(

Pourriez vous m'aider svp!

  • Upvote 1
Posté(e)

Une variante en vlax, plus concise.

 

(vl-load-com)
(defun c:DimSwicth_Line&Arrow ( / js obj key lpr)
 (setq js
   (ssget "_+.:E:S"
     (list
       (cons 0 "DIMENSION")
       (cons 67 (if (eq (getvar "CVPORT") 2) 0 1))
       (cons 410 (if (eq (getvar "CVPORT") 2) "Model" (getvar "CTAB")))
     )
   )
 )
 (cond
   (js
     (setq obj (vlax-ename->vla-object (ssname js 0)))
     (cond
       ((or
         (eq (vlax-get obj "ObjectName") "AcDbRotatedDimension")
         (eq (vlax-get obj "ObjectName") "AcDbAlignedDimension")
        )
         (princ "\n<Click gauche> pour switcher l'état / <Click droit> pour valider")
         (while (and (not (member (setq key (grread T 4 2)) '((2 13) (2 32)))) (/= (car key) 25))
           (cond
             ((eq (car key) 3)
               (setq lpr '("ExtLine1Suppress" "ExtLine2Suppress" "Arrowhead1Type" "Arrowhead2Type"))
               (foreach n (mapcar 'cons (mapcar '(lambda (x) (vlax-get obj x)) lpr) lpr)
                 (if (zerop (car n))
                   (vlax-put obj (cdr n) (if (member (cdr n) '("ExtLine1Suppress" "ExtLine2Suppress")) -1 19))
                   (vlax-put obj (cdr n) 0)
                 )
               )
             )
           )
         )
       )
       (T (princ "\nN'est pas une côte pivotée ou alignée"))
     )
   )
   (T (princ "\nPas de sélection valable"))
 )
 (prin1)
)

  • Upvote 1

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

Posté(e)

Merci de votre aide,

Comme je n'arrive à modifier le lisp en intégrant setvar je me suis dis que je pourrais utiliser cette macro:

 

^C^Cselect;\dimse1;1;dimblk1;.;_-dimstyle;a;p;;dimse1;0;dimblk1;_None;

 

La ligne de cote est supprimée mais pas la flèche! Je ne comprends pas pourquoi :mellow:

Posté(e)

Merci de votre aide, est-il possible de choisir le coté de la dimension qu'on désire modifier?

 

Je suppose que ça s'adresse à moi?

 

(vl-load-com)
(defun c:DimSwicth_Line&Arrow ( / js ent obj pt_sel dxf_ent pt_first pt_snd key lpr)
 (setq js
   (ssget "_+.:E:S"
     (list
       (cons 0 "DIMENSION")
       (cons 67 (if (eq (getvar "CVPORT") 2) 0 1))
       (cons 410 (if (eq (getvar "CVPORT") 2) "Model" (getvar "CTAB")))
     )
   )
 )
 (cond
   (js
     (setq obj (vlax-ename->vla-object (setq ent (ssname js 0))))
     (cond
       ((or
         (eq (vlax-get obj "ObjectName") "AcDbRotatedDimension")
         (eq (vlax-get obj "ObjectName") "AcDbAlignedDimension")
        )
         (setq
           pt_sel (cadar (cdddar (ssnamex js)))
           pt_first (cdr (assoc 13 (setq dxf_ent (entget ent))))
           pt_snd (cdr (assoc 14 dxf_ent))
         )
         (if (> (distance pt_sel pt_snd) (distance pt_sel pt_first))
           (setq lpr '("ExtLine1Suppress" "Arrowhead1Type"))
           (setq lpr '("ExtLine2Suppress" "Arrowhead2Type"))
         )
               (foreach n (mapcar 'cons (mapcar '(lambda (x) (vlax-get obj x)) lpr) lpr)
                 (if (zerop (car n))
                   (vlax-put obj (cdr n) (if (member (cdr n) '("ExtLine1Suppress" "ExtLine2Suppress")) -1 19))
                   (vlax-put obj (cdr n) 0)
                 )
               )
       )
       (T (princ "\nN'est pas une côte pivotée ou alignée"))
     )
   )
   (T (princ "\nPas de sélection valable"))
 )
 (prin1)
)

  • Upvote 1

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

Posté(e)

Fantastique, c'est exactement cela! :D

 

Ci je peux être d'une aide quelconque je peux partager des lisp que j'utilise régulièrement:

-Redéfinir tous les blocs d'un plan insérer de différents chemins

-liste de textes appliquée à mleader

-calculer le poids de différentes matières...

-J'ai aussi une hachure isolation que j'ai crée moi même :)

 

En tout merci de votre aide.

Posté(e)

-calculer le poids de différentes matières...

 

-J'ai aussi une hachure isolation que j'ai crée moi même :)

 

 

Bonjour, ta hachure m'interresse, histoire de comparer avec d'autre méthode.

Mais aussi ton lisp de calcul du poids des matieres.

Si tu peux nous les poster ici.

 

Merci d'avance !

Posté(e)

Bonjour, ta hachure m'interresse, histoire de comparer avec d'autre méthode.

Mais aussi ton lisp de calcul du poids des matieres.

Si tu peux nous les poster ici.

 

Merci d'avance !

Ci joint le lisp + dcl pour calucler des poids kg/m (Alu, Acier,PVC....)

On peut ajouter des surfaces ou en déduire....

mat.DCL

Kg_mat.lsp

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é