francinez Posté(e) le 19 mars 2015 Posté(e) le 19 mars 2015 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. MerciXL-TOGL.lsp 1 3
Patrick_35 Posté(e) le 19 mars 2015 Posté(e) le 19 mars 2015 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. @- 1 1 Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
francinez Posté(e) le 19 mars 2015 Auteur Posté(e) le 19 mars 2015 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! 1
Patrick_35 Posté(e) le 19 mars 2015 Posté(e) le 19 mars 2015 Je ne m'y connais pas du tout en lisp, ce que j'arrive à rajouter ce sont juste des lignes de commande :( Avec la fonction setvar @+ 1 1 Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
bonuscad Posté(e) le 19 mars 2015 Posté(e) le 19 mars 2015 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) ) 1 Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
francinez Posté(e) le 19 mars 2015 Auteur Posté(e) le 19 mars 2015 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:
francinez Posté(e) le 19 mars 2015 Auteur Posté(e) le 19 mars 2015 Merci de votre aide, est-il possible de choisir le coté de la dimension qu'on désire modifier?
bonuscad Posté(e) le 19 mars 2015 Posté(e) le 19 mars 2015 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) ) 1 Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
francinez Posté(e) le 19 mars 2015 Auteur Posté(e) le 19 mars 2015 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.
SF.Designer Posté(e) le 20 mars 2015 Posté(e) le 20 mars 2015 -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 !
francinez Posté(e) le 20 mars 2015 Auteur Posté(e) le 20 mars 2015 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.DCLKg_mat.lsp
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant