Aller au contenu

Messages recommandés

Posté(e)

Bonjour,

 

J'ai récupéré les plans d'un projet d'un bâtiment de 17 étages.
Sur ce plan, il y a un grand nombre de côtes.
Certaines de ces côtes présentent un problème

La position de la ligne de côte par rapport aux point d'attache est décalée en X.
Y'a t'il la possibilité de faire en sorte que la ligne de côte soit remise exactement sur les points d'attache.

On a essayé de "triturer" toutes les propriété de nos côte, mais aucune ne semble gérer le décalage entre les points d'attache et la position des lignes de côte.

***********************

Rien ne sert de courrir, il faut partir à point.

Posté(e)

hello Barbichette

 

un petit lisp qui modifie la ligne de cote par rapport au premier ou dernier point d'accroche de la cote.

a faire sur une cote ou plusieurs

 ; -------------------------------------------------------
 ; MODIFICATION DE LA DISTANCE DE LA LIGNE DE COTE PAR RAPPORT AU PREMIER POINT
 ; -------------------------------------------------------

(defun c:dico (/ dist1314 point10 point12 point13 point14 angcote longcote codempla sj2)
  (setvar "cmdecho" 0)
  (setq osm (getvar "osmode"))
  (setvar "osmode" 0)
  (setvar "PICKSTYLE" 0)
  (setq decacote1 (atof (getcfg "APPDATA/decacote1")))
  (setq tmp (getdist (strcat "\nENTRER LE DECALAGE DE LA LIGNE DE COTE <" (rtos decacote1 2 8) ">: ")))
  (if tmp
    (setq decacote1 tmp)
    )
  (prompt "\nCLIQUER SUR LE(S) COTE(S) A MODIFIER :")
  (setq entx nil)
  (while (null entx) (setq entx (ssget '((0 . "DIMENSION")))))
  (setq compt 0)
  (setq com (sslength entx))
  (while (< compt com)
    (progn (setq sj2 (entget (ssname entx compt)))
           (setq point10 (cdr (assoc 10 sj2))
                 point11 (cdr (assoc 11 sj2))
                 point13 (cdr (assoc 13 sj2))
                 point14 (cdr (assoc 14 sj2))
                 point15 (cdr (assoc 15 sj2))
                 )
;;;(command-s "cercle" (trans point10 0 1) "5")
;;;(command-s "cercle" (trans point11 0 1) "10")
;;;(command-s "cercle" (trans point13 0 1) "20")
;;;(command-s "cercle" (trans point14 0 1) "30")
;;;(command-s "cercle" (trans point15 0 1) "40")
           (if (= (distance point14 point10) 0)
             (progn (setq sj2 (subst (cons 10 (polar point14 (/ pi 2) decacote1)) (assoc 10 sj2) sj2))
                    (setq sj2 (subst (cons 70 32) (assoc 70 sj2) sj2))
                    )
             (progn (setq sj2 (subst (cons 10 (polar point14 (angle point14 point10) decacote1)) (assoc 10 sj2) sj2))
                    (setq sj2 (subst (cons 70 32) (assoc 70 sj2) sj2))
                    )
             )
           (entmod sj2)
           )
    (setq compt (1+ compt))
    )
  (setvar "osmode" osm)
  (setcfg "APPDATA/decacote1" (rtos decacote1 2 8))
  (princ)
  )

un autre lisp qui aligne la ligne des cotes par rapport a une seule

 

;; -----------------
;; ALIGNE LES COTES  LES AUTRES PAR RAPPORT A UNE
;; -----------------


(defun c:ca0 (/ cot-b cot-esp)
  (setq dtm (getvar "dimtmove"))
  (setvar "DIMTMOVE" 0)
  (setvar "PICKSTYLE" 0)
  (while (not cot-b)
    (setq cot-b (car (entsel "\nSELECTIONNEZ LA COTE DE BASE :")))
    (if cot-b
      (if (not (equal (cdr (assoc 0 (entget cot-b))) "DIMENSION"))
        (setq cot-b nil)
        )
      )
    )
  (prompt "\nSELECTIONNEZ LES COTES A ESPACER :")
  (setq cot-esp (ssget '((0 . "DIMENSION"))))
  (vl-cmdf "_DIMSPACE" cot-b cot-esp "" "0")
  (setvar "DIMTMOVE" dtm)
  (princ)
  )

Phil

FREELANCE

Autodesk Architecture 2025 sous windows 11 64

REVIT

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • 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é