Aller au contenu

Enlever ligne de côte + flèche


francinez

Messages recommandés

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

Lien vers le commentaire
Partager sur d’autres sites

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
Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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:

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

-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 !

Lien vers le commentaire
Partager sur d’autres sites

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

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é