lecrabe Posté(e) le 21 avril 2016 Posté(e) le 21 avril 2016 Hello Je suis peut etre tres fatigue mais je n'ai pas trouve de solution simple quand on a des cotations a des Z differents !? Et ce sur des objets au niveau ZERO et/ou sur des objets au niveau A ... Donc SVP je cherche une routine Lisp/VLisp qui a partir d'une selection AutoCAD classique :- Filtre les objets pour ne garder QUE les "DIMENSION"- Pose une question "Elevation voulue (Defaut=0.0) : ?"- Force l'Elevation (PARTOUT dans le Bloc special de Cotation: points d'accrochage, texte, ligne, pointe de fleche, etc) des cotations selectionnees a l'Elevation choisie ... A priori c 'est le code DXF 10 (visible au 1er niveau) qui nous interesse !? Sous entendu, on est dans l'Espace Objet et dans le SCG ! ATTENTION: plusieurs cas sont possibles (me semble t-il) :- Les points d'accrochage sont au niveau ZERO mais la cotation est "en l'air" au niveau A car ELEVATION en cours = xx.yy lors de la commande COTATION ...- Les points d'accrochage sont au niveau A et la cotation est au niveau A- Les points d'accrochage sont au niveau A et la cotation est au niveau B Donc modifier le code DXF 10 (visible au 1er niveau) est il suffisant ? Merci d'avance, Bye, lecrabe ---- Cotation au niveau 20.0 ---- (10 28.3877 -7.6164 20.0) Choix de l'objet: ((-1 . ) (0 . "DIMENSION") (5 . "316") (102 . "{ACAD_XDICTIONARY") (360 . ) (102 . "}") (102 . "{ACAD_REACTORS") (330 . ) (102 . "}") (330 . ) (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "COT_3D") (100 . "AcDbDimension") (280 . 0) (2 . "*D6") (10 28.3877 -7.6164 20.0) (11 51.2377 -5.53306 20.0) (12 0.0 0.0 20.0) (70 . 32) (1 . "") (71 . 5) (72 . 1) (41 . 1.0) (42 . 45.6999) (73 . 0) (74 . 0) (75 . 0) (52 . 0.0) (53 . 0.0) (54 . 0.0) (51 . 0.0) (210 0.0 0.0 1.0) (3 . "ISO-25") (100 . "AcDbAlignedDimension") (13 74.0877 2.19594 0.0) (14 28.3877 9.61251 0.0) (15 0.0 0.0 0.0) (16 0.0 0.0 0.0) (40 . 0.0) (50 . 0.0) (100 . "AcDbRotatedDimension")) ---- Cotation au niveau 0.0 ---- (10 91.9868 58.4915 0.0) Choix de l'objet: ((-1 . ) (0 . "DIMENSION") (5 . "20D") (102 . "{ACAD_XDICTIONARY") (360 . ) (102 . "}") (102 . "{ACAD_REACTORS") (330 . ) (102 . "}") (330 . ) (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "COT") (100 . "AcDbDimension") (280 . 0) (2 . "*D1") (10 91.9868 58.4915 0.0) (11 78.6577 60.5749 0.0) (12 0.0 0.0 0.0) (70 . 32) (1 . "") (71 . 5) (72 . 1) (41 . 1.0) (42 . 26.6583) (73 . 0) (74 . 0) (75 . 0) (52 . 0.0) (53 . 0.0) (54 . 0.0) (51 . 0.0) (210 0.0 0.0 1.0) (3 . "ISO-25") (100 . "AcDbAlignedDimension") (13 65.3285 49.3577 0.0) (14 91.9868 49.3577 0.0) (15 0.0 0.0 0.0) (16 0.0 0.0 0.0) (40 . 0.0) (50 . 0.0) (100 . "AcDbRotatedDimension")) Autodesk Expert Elite Team
PHILPHIL Posté(e) le 21 avril 2016 Posté(e) le 21 avril 2016 hello Lecrabe essaie ceci, ca peu peut etre t'aider fonction : REC il faut avant tout tracer une ligne parallèle au X de ton scu tu lances REC, choisi une altimetrie , selectionne la ligne, puis apres les coteset ca devrait faire le boulot ca recréer les cotes quand des fois le texte se retrouve tourner et en dessous de la ligne REC.lsp a+ Phil 1 FREELANCE Autodesk Architecture 2025 sous windows 11 64 REVIT 24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal
lecrabe Posté(e) le 22 avril 2016 Auteur Posté(e) le 22 avril 2016 Hello Un petit UP si jamais qq'un a une "bonne" routine !? Avec un fichier de Demo / Test ... Bon WE, Bye, lecrabePIECE_Trav__COT_Multiples_Niveaux_en_3D.zip Autodesk Expert Elite Team
PHILPHIL Posté(e) le 22 avril 2016 Posté(e) le 22 avril 2016 hello lecrabe qu'est ce que tu entends par "BONNE" routine ? car chez moi ca marche. tes pieces sont déja dessinées a une "élévation" de 100 et l'autre de 50, donc c'est logique que tes cotes soit en "elevation" 100 et 50 je les ai descendu en elevation = 0 j'ai changé le parametre de ton fichier _aecspecifyoffset = 0 ( pour dessiner tjrs a l'altimetrie, ou élévation = 0 j'ai dessiné ma ligne de base niveau 0elevation =0scu avant la manip = 0,0,0 puis lancer le lisp REC et toutes les cotes sont en élévation = 0 a+ Phil FREELANCE Autodesk Architecture 2025 sous windows 11 64 REVIT 24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal
bonuscad Posté(e) le 22 avril 2016 Posté(e) le 22 avril 2016 Donc modifier le code DXF 10 (visible au 1er niveau) est il suffisant ? En partie... Pas trop testé! autre que ton dessin. ((lambda ( / js n ent_dim dxf_ent recal_pt) (setq js (ssget '((0 . "DIMENSION")))) (cond (js (repeat (setq n (sslength js)) (setq ent_dim (ssname js (setq n (1- n)))) (setq dxf_ent (entget ent_dim)) (redraw ent_dim 3) (initget 1) (setq recal_pt (getpoint "\nDonner le point pour le recalage en Z: ")) (redraw ent_dim 4) (foreach n '(10 11 13 14) (entmod (setq dxf_ent (subst (cons n (list (car (cdr (assoc n dxf_ent))) (cadr (cdr (assoc n dxf_ent))) (caddr recal_pt))) (assoc n dxf_ent) dxf_ent ) ) ) ) ) ) ) (prin1) )) )) Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
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