CADxp: Cotation type topo - CADxp

Aller au contenu

  • 2 Pages +
  • 1
  • 2
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

Cotation type topo

#1 L'utilisateur est hors-ligne   merna 

  • Member
  • PipPip
  • Groupe : Membres
  • Messages : 13
  • Inscrit(e) : 31-août 07

Posté 31 août 2007 - 18:12

Bonjour à tous

Je cherche un moyen de coter que je n'arrive pas à faire avec autocad.
Je souhaiterai faire une cotation un peu comme celle des levés d'intérieur de Covadis (pour ceux qui connaissent) que je n'ai plus (suite à changement de poste...).
C'est à dire la cote entourée simplement de 2 blocs flèches accrochés aux sommets comme suit:

Image IPB
Dans Autocad 2007, je n'ai pas réussi à enlever les lignes de cotes sans enlever les flèches avec.

Voila ayant de nombreuses cotations à faire j'aimerai savoir si qqun connait un lisp s'approchant de ça.

Merci.
0

#2 L'utilisateur est hors-ligne   lili2006 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 12003
  • Inscrit(e) : 21-décembre 05

Posté 31 août 2007 - 18:30

Bonsoir,

Petite précision :

Cette demande fait suite à ce post !

[Edité le 31/8/2007 par lili2006]
0

#3 L'utilisateur est hors-ligne   lili2006 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 12003
  • Inscrit(e) : 21-décembre 05

Posté 31 août 2007 - 19:57

Re,

En créant un bloc flèche et en fonction de ce que j'ai écrit sur le post cité plus haut, voici le corrigé du 1er TD sur AutoCAD que je donne à mes étudiants : (C'est une île levé à l'équerre optique):

[img] [/img]


C'est à peu prés ce que tu recherches, non ?


[Edité le 31/8/2007 par lili2006]
0

#4 L'utilisateur est hors-ligne   merna 

  • Member
  • PipPip
  • Groupe : Membres
  • Messages : 13
  • Inscrit(e) : 31-août 07

Posté 31 août 2007 - 21:07

Oui ça a l'air d'être ça.
0

#5 L'utilisateur est hors-ligne   lili2006 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 12003
  • Inscrit(e) : 21-décembre 05

Posté 31 août 2007 - 21:25

Re,

Si tu veux créer un style de cotes depuis cette représentation. Ici, il s'agit que d'une flèche et du texte et ensuite, je montre aux étudiants les différents paramètres de cotes,...

http://cjoint.com/?iFwmy8kakM

Pour info : Avant de rentrer dans les subtilités d'AutoCAD (Création style de cotes, Cartouche avec attributs, multifenêtrage pour gel/degel de calques, écritures espace papier des variables, réglage des facteurs de lignes,...),ce dossier sert de base et je l'exploite à titre d'exemple au fur et à mesure de l'enseignement.

Bon courage.

[Edité le 31/8/2007 par lili2006]
0

#6 L'utilisateur est hors-ligne   winfield 

  • ceinture noire 1er dan
  • Groupe : Membres
  • Messages : 752
  • Inscrit(e) : 22-avril 05

Posté 31 août 2007 - 22:25

Salut,
je ne sais pas comment ça se passe avec ton modèle (désolé, j'ai la flegme de charger). Je faisais ça avec un bloc et il ne restait plus qu'à paramétrer les flèches dans les Styles de cotations. Nos méthodes sont peut-être similaire voir identique, mais donner un truc tout "cuit" peut paraitre bien sur le moment, mais à long terme ...c'est mieux avec la notice. ;)
Nous n’ héritons pas de la terre de nos ancêtres.Nous l’empruntons à nos enfants.
0

#7 L'utilisateur est hors-ligne   (gile) 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 11260
  • Inscrit(e) : 02-septembre 05

Posté 31 août 2007 - 23:04

Salut,

Comme on est dans un forum LISP, je suppose que merna attend une réponse en LISP (les autres réponses auraient dues être postées dans l'autre sujet, non ?).

Je propose donc un petit LISP qui semble répondre à ta demande (si j'ai bien compris).
En l'état :
L'utilisateur clique sur le premier et second point d'origine de la cote puis sur le côté où positionner la cote par rapport aux points précedents.
Le texte de cote est écrit dans le sens du premier point vers le second.
Le LISP fonctionne dans l'espace objet et les SCU aprallèles au SCG.
Il crée le bloc flèche s'il n'existe pas encore dans le dessin.
Les propriétés de la cote crée (taille, unités, décimales) sont celles du type de cote courant (DIMSCALE, DIMTXT, DIMLUNIT, DIMDEC).

Image IPB

(defun c:cot-topo (/ AcDoc ModSp Blocks scl p1 p2 mid ang p3 cw bl pl ang ref tmp txt)

  (vl-load-com)

  (setq	AcDoc  (vla-get-ActiveDocument (vlax-get-acad-object))

	ModSp  (vla-get-ModelSpace AcDoc)

	Blocks (vla-get-Blocks AcDoc)

	scl    (if (zerop (getvar "DIMSCALE"))

		 (getvar "DIMTXT")

		 (* (getvar "DIMSCALE") (getvar "DIMTXT"))

	       )

  )

  (initget 1)

  (setq p1 (getpoint "\nSpécifiez le premier point d'origine: "))

  (initget 1)

  (setq	p2  (getpoint p1 "\nSpécifiez le second point d'origine: ")

	mid (mapcar '(lambda (x1 x2) (/ (+ x1 x2) 2.0)) p1 p2)

  )

  (initget 1)

  (setq	p3 (getpoint mid "\nSpécifiez la position de la cote : ")

	cw (clockwise-p p1 p2 p3)

	p3 (polar mid

		  ((if cw - +) (angle p1 p2) (/ pi 2))

		  (* 2 scl)

	   )

  )


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

  

  ;; Création du bloc s'il n'existe pas

  (if (vl-catch-all-error-p

	(vl-catch-all-apply

	  'vla-item

	  (list Blocks "cotation-type-topo")

	)

      )

    (progn

      (setq bl (vla-add	Blocks

			(vlax-3d-point '(0 0 0))

			"cotation-type-topo"

	       )

	    pl (vlax-invoke

		 bl

		 'addLightWeightPolyline

		 (list 0.0 0.0 2.0 -2.0 3.0 -2.0)

	       )

      )

      (vla-setBulge pl 0 (- (sqrt 2) 1))

      (vla-setWidth pl 1 (/ 1.0 3) 0)

      (vla-put-Layer pl "0")

    )

  )

  

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


  (vla-StartUndoMark AcDoc)

  (foreach p '(p1 p2 p3 mid)

    (set p (trans (eval p) 1 0))

  )

  (setq	ang (angle p1 p2)

	 ref (vla-InsertBlock

	      ModSp

	      (vlax-3d-point p1)

	      "cotation-type-topo"

	      scl

	      scl

	      1.0

	      ang

	    )

  )

  (if (not cw)

    (progn

      (setq tmp (vla-mirror ref (vlax-3d-point p1) (vlax-3d-point p2)))

      (vla-delete ref)

      (setq ref tmp)

    )

  )

  (vla-mirror ref (vlax-3d-point mid) (vlax-3d-point p3))

  (setq	txt (vla-addText

	      ModSp

	      (rtos (distance p1 p2)(getvar "DIMLUNIT") (getvar "DIMDEC"))

	      (vlax-3d-point p3)

	      scl

	    )

  )

  (vla-put-Alignment txt 10)

  (vla-put-TextAlignmentPoint txt (vlax-3d-point p3))

  (vla-rotate txt (vlax-3d-point p3) ang)

  (vla-EndUndoMark AcDoc)

  (princ)

)



;;; Clockwise-p Retourne T si les points p1 p2 et p3 tournent dans le sens horaire


(defun clockwise-p (p1 p2 p3)

  (< (sin (- (angle p1 p3) (angle p1 p2))) -1e-14)

) 


[Edité le 31/8/2007 par (gile)]
Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
Image IPB
0

#8 L'utilisateur est hors-ligne   lili2006 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 12003
  • Inscrit(e) : 21-décembre 05

Posté 01 septembre 2007 - 09:55

Bonjour à tous,


Oups, je me suis trompé,....

Citation

Comme on est dans un forum LISP, je suppose que merna attend une réponse en LISP (les autres réponses auraient dues être postées dans l'autre sujet, non ?).
. Je pensais être encore sur l'autre sujet, désolé!

A part cela, j'ai testé (gile) et c'est plutôt pas mal. A mon goût les textes sont un peu loin des éléments à coter (flêche peut-être plus petite,...?). Ce qui est fort, c'est l'adaptation du style de texte. Le même plan avec les deux styles superposés sur deux cotes :

[img] [/img]
0

#9 L'utilisateur est hors-ligne   (gile) 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 11260
  • Inscrit(e) : 02-septembre 05

Posté 01 septembre 2007 - 11:15

Une nouvelle version :
- le texte est plus proche de l'élément à coter

Edit : Fonctionne aussi dans les SCU non parallèles au SCG.

(defun c:cot-topo (/	 AcDoc Blocks	   scl	 Space p1    p2

		   mid	 ang   p3    cw	   bl	 pl    ang   ref

		   tmp	 txt

		  )

  (vl-load-com)

  (if (= 1 (getvar "CVPORT"))

    (alert

      "Cette commande ne peut être utilisée que dans l'espace objet."

    )

    (progn

      (setq AcDoc  (vla-get-ActiveDocument (vlax-get-acad-object))

	    Blocks (vla-get-Blocks AcDoc)

	    Space  (vla-get-ModelSpace AcDoc)

	    scl	   (if (zerop (getvar "DIMSCALE"))

		     (getvar "DIMTXT")

		     (* (getvar "DIMSCALE") (getvar "DIMTXT"))

		   )

      )

      (initget 1)

      (setq p1 (getpoint "\nSpécifiez le premier point d'origine: "))

      (initget 1)

      (setq p2	(getpoint p1 "\nSpécifiez le second point d'origine: ")

	    mid	(mapcar '(lambda (x1 x2) (/ (+ x1 x2) 2.0)) p1 p2)

      )

      (initget 1)

      (setq p3 (getpoint mid "\nSpécifiez la position de la cote : ")

	    cw (clockwise-p p1 p2 p3)

	    p3 (polar mid

		      ((if cw - +) (angle p1 p2) (/ pi 2))

		      scl

	       )

      )


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


      ;; Création du bloc s'il n'existe pas

      (if (vl-catch-all-error-p

	    (vl-catch-all-apply

	      'vla-item

	      (list Blocks "cotation-type-topo")

	    )

	  )

	(progn

	  (setq	bl (vla-add Blocks

			    (vlax-3d-point '(0 0 0))

			    "cotation-type-topo"

		   )

		pl (vlax-invoke

		     bl

		     'addLightWeightPolyline

		     (list 0.0 0.0 2.0 -1.0 3.0 -1.0)

		   )

	  )

	  (vla-setBulge pl 0 (- (sqrt 5) 2))

	  (vla-setWidth pl 1 (/ 1.0 3) 0)

	  (vla-put-Layer pl "0")

	)

      )


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


      (setq zdir (trans '(0 0 1) 1 0 T))

      (vla-StartUndoMark AcDoc)

      (foreach p '(p1 p2 p3 mid)

	(set p (trans (eval p) 1 0))

      )

      (setq ang	(angle (trans p1 0 zdir) (trans p2 0 zdir))

	    ref	(vla-InsertBlock

		  Space

		  (vlax-3d-point p1)

		  "cotation-type-topo"

		  scl

		  scl

		  1.0

		  ang

		)

      )

      (vla-put-Normal ref (vlax-3d-point zdir))

      (if (not cw)

	(progn

	  (setq

	    tmp	(vla-mirror ref (vlax-3d-point p1) (vlax-3d-point p2))

	  )

	  (vla-delete ref)

	  (setq ref tmp)

	)

      )

      (vla-mirror ref (vlax-3d-point mid) (vlax-3d-point p3))

      (setq txt	(vla-addText

		  Space

		  (rtos	(distance p1 p2)

			(getvar "DIMLUNIT")

			(getvar "DIMDEC")

		  )

		  (vlax-3d-point p3)

		  scl

		)

      )

      (vla-put-StyleName (getvar "DIMTXSTY"))

      (vla-put-Alignment txt 10)

      (vla-put-TextAlignmentPoint txt (vlax-3d-point p3))

      (vla-rotate txt (vlax-3d-point p3) ang)

      (vla-put-Normal txt (vlax-3d-point zdir))

      (vla-EndUndoMark AcDoc)

    )

  )

  (princ)

)


;;; Clockwise-p Retourne T si les points p1 p2 et p3 tournent dans le sens horaire


(defun clockwise-p (p1 p2 p3)

  (< (sin (- (angle p1 p3) (angle p1 p2))) -1e-14)

) 
[Edité le 1/9/2007 par (gile)]

[Edité le 1/9/2007 par (gile)]
Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
Image IPB
0

#10 L'utilisateur est hors-ligne   lili2006 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 12003
  • Inscrit(e) : 21-décembre 05

Posté 01 septembre 2007 - 11:31

Re,

Je pense que là, on approche la perfection. Dommage, je n'ai pas covadis sous le coude. Il me semble que les flêches sont un chouia + petite, mais bon, faut tout de même pas exagérer, je pense que cette mouture va correspondre aux besoins de merna . Aprés tout, c'est lui le demandeur,...

Merci encore (gile) pour ce travail qui risque d'interesser d'autres personnes sur ce forum !

Comparaisons des trois techniques :(Oups, sur la droite, j'ai oublié de supprimer les flêches de la 1er cotation avec la première mouture,...)

[img] [/img]
0

#11 L'utilisateur est hors-ligne   (gile) 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 11260
  • Inscrit(e) : 02-septembre 05

Posté 01 septembre 2007 - 11:51

lili2006,

Tu as du aussi oublier de purger l'ancien bloc "cotation-type-topo", le nouveau, aligné avec le texte n'a donc pas été créé

Premiére version :

Image IPB

Deuxième version :

Image IPB
Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
Image IPB
0

#12 L'utilisateur est hors-ligne   bonuscad 

  • ceinture rouge et blanche 8em dan
  • Groupe : Membres
  • Messages : 4670
  • Inscrit(e) : 20-juin 03

Posté 01 septembre 2007 - 12:09

Salut (gile)

Ton code ne passe pas sous 2005.
Ca bloque à ce niveau:

Citation

(vla-get-Blocks AcDoc)
; erreur: Erreur Automation Pas de base de données


De mon coté j'ai essayé avec (entmake) pour créer le style de cotation, mais il me reste quelque problème de validation de certaines options (les blocs flèche personnalisés et le style de texte) qui ne sont pas pris en compte, je suis obligé de revenir dans le style pour les valider manuellement car il sont présent dans les liste de choix. Donc .... je ne propose pas encore.
Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
0

#13 L'utilisateur est hors-ligne   lili2006 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 12003
  • Inscrit(e) : 21-décembre 05

Posté 01 septembre 2007 - 13:22

Re,

Absolument exact (gile), donc rien à redire, ce type de cotation semble tout à fait adapter à la représentation topo.

Merci encore.
0

#14 L'utilisateur est hors-ligne   merna 

  • Member
  • PipPip
  • Groupe : Membres
  • Messages : 13
  • Inscrit(e) : 31-août 07

Posté 01 septembre 2007 - 13:49

Bonjour à tous j'ai essayé et ça correspond ce que je cherche.

Merci à tous et spécialement à Gile pour le lisp. Je n'ai plus qu'à préparer mes échelles courantes pour l'échelle de cote désirée.

C'est cool.

A plus.
0

#15 L'utilisateur est hors-ligne   (gile) 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 11260
  • Inscrit(e) : 02-septembre 05

Posté 01 septembre 2007 - 15:53

Une version, pur AutoLISP, qui devrait marcher dans toutes les versions d'AutoCAD (et ses clones) et qui fonctionne aussi quelque soit le SCU courant (j'ai aussi modifé celle ci-dessus dans ce sens).

(defun c:cot-topo (/ p1 p2 mid ang p3 scl cw bl pl ang ref tmp txt)

  (if (= 1 (getvar "CVPORT"))

    (alert

      "Cette commande ne peut être utilisée que dans l'espace objet."

    )

    (progn

      (initget 1)

      (setq p1 (getpoint "\nSpécifiez le premier point d'origine: "))

      (initget 1)

      (setq p2	(getpoint p1 "\nSpécifiez le second point d'origine: ")

	    mid	(mapcar '(lambda (x1 x2) (/ (+ x1 x2) 2.0)) p1 p2)

      )

      (initget 1)

      (setq p3	(getpoint mid "\nSpécifiez la position de la cote : ")

	    scl	(if (zerop (getvar "DIMSCALE"))

		  (getvar "DIMTXT")

		  (* (getvar "DIMSCALE") (getvar "DIMTXT"))

		)

	    cw	(clockwise-p p1 p2 p3)

	    p3	(polar mid

		       ((if cw  -  +) (angle p1 p2) (/ pi 2))

		       scl

		)

      )


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


      ;; Création du bloc s'il n'existe pas

      (if (null (tblsearch "BLOCK" "cotation-type-topo"))

	(progn

	  (entmake

	    (list '(0 . "BLOCK")

		  '(100 . "AcDbEntity")

		  '(8 . "0")

		  '(100 . "AcDbBlockBegin")

		  '(2 .  "cotation-type-topo")

		  '(70 . 2)

		  '(10 0.0 0.0 0.0)

	    )

	  )

	  (entmake

	    (list '(0 . "LWPOLYLINE")

		  '(100 . "AcDbEntity")

		  '(8 . "0")

		  '(100 . "AcDbPolyline")

		  '(70 . 0)

		  '(90 . 3)

		  '(10 0.0 0.0)

		  (cons 42 (- (sqrt 5) 2))

		  '(10 2.0 -1.0)

		  (cons 40 (/ 1.0 3))

		  '(41 . 0.0)

		  '(10 3.0 -1.0)

	    )

	  )

	  (entmake

	    (list '(0 . "ENDBLK") '(8 . "0"))

	  )

	)

      )


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


      (setq zdir (trans '(0 0 1) 1 0 T)

	    inv	 (trans '(0 0 -1) 1 0 T)

      )

      (foreach p '(p1 p2 p3 mid)

	(set p (trans (eval p) 1 zdir))

      )

      (setq ang (angle p1 p2))

      (entmake

	(list '(0 . "INSERT")

	      '(2 . "cotation-type-topo")

	      (cons 10 p1)

	      (cons 41 scl)

	      (cons 42 scl)

	      (cons 50 ang)

	      (cons 210 zdir)

	)

      )

      (setq ref (entget (entlast)))

      (if (not cw)

	(progn

	  (foreach p '(p1 p2)

	    (set p (trans (eval p) zdir inv))

	  )

	  (entmod

	    (setq ref (subst (cons 10 p1)

			     (assoc 10 ref)

			     (subst (cons 50 (angle p1 p2))

				    (assoc 50 ref)

				    (subst (cons 210 inv)

					   (assoc 210 ref)

					   ref

				    )

			     )

		      )

	    )

	  )

	)

      )

      (foreach p '(p1 p2)

	(set p (trans (eval p) zdir inv))

      )

      (entmake

	(subst (cons 10 p2)

	       (assoc 10 ref)

	       (subst (cons 50 (angle p2 p1))

		      (assoc 50 ref)

		      (subst (cons 210 (mapcar '- (cdr (assoc 210 ref))))

			     (assoc 210 ref)

			     ref

		      )

	       )

	)

      )

      (entmake

	(list '(0 . "TEXT")

	      (cons 10 p3)

	      (cons 40 scl)

	      (cons 1

		    (rtos (distance p1 p2)

			  (getvar "DIMLUNIT")

			  (getvar "DIMDEC")

		    )

	      )

	      (cons 50 ang)

	      (cons 7 (getvar "DIMTXSTY"))

	      '(72 . 1)

	      (cons 11 p3)

	      '(73 . 2)

	      (cons 210 zdir)

	)

      )

    )

  )

  (princ)

)


;;; Clockwise-p Retourne T si les points p1 p2 et p3 tournent dans le sens horaire


(defun clockwise-p (p1 p2 p3)

  (< (sin (- (angle p1 p3) (angle p1 p2))) -1e-14)

) 

Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
Image IPB
0

#16 L'utilisateur est hors-ligne   bonuscad 

  • ceinture rouge et blanche 8em dan
  • Groupe : Membres
  • Messages : 4670
  • Inscrit(e) : 20-juin 03

Posté 01 septembre 2007 - 18:32

J'ai réussi à achever la définition par (entmake)

Ceci va créer automatiquement un style de cotation (donc associatif, s'y on veut)
Il essaye de faire ce qui est demandé, mais pour voir vraiment le résultat, IL FAUT faire un aperçu de tracé

Ce style est défini et courant, il suffit de lancer une commande de cotation.

Copier ce qui suit directement en ligne de commande pour essayer.

(progn

	(if (not (tblsearch "STYLE" "cotes-levées"))

(entmake

'(

	(0 . "STYLE")

	(100 . "AcDbSymbolTableRecord")

	(100 . "AcDbTextStyleTableRecord")

	(2 . "cotes-levées")

	(70 . 0)

	(40 . 0.0)

	(41 . 1.0)

	(50 . 0.0)

	(71 . 0)

	(42 . 2.5)

	(3 . "simplex.shx")

	(4 . "")

 )

)

	)

     (if (not (tblsearch "BLOCK" "cotes_levées1"))

       (progn

	 (entmake

	   '((0 . "BLOCK") (8 . "0") (2 . "cotes_levées1") (70 . 2) (4 . "") (8 . "0") (6 . "ByBlock") (370 . -2) (10 0.0 0.0 0.0))

	 )

(entmake

'(

	(0 . "LWPOLYLINE")

	(100 . "AcDbEntity")

	(67 . 0)

	(410 . "Model")

	(8 . "0")

	(62 . 256)

	(6 . "ByBlock")

	(370 . -2)

	(100 . "AcDbPolyline")

	(90 . 3)

	(70 . 0)

	(38 . 0.0)

	(39 . 0.0)

	(10 -2.5 0.0)

	(40 . 0.25)

	(41 . 0.0)

	(42 . 0.247582)

	(10 -0.567325 1.01948)

	(40 . 0.822061)

	(41 . 0.0)

	(42 . 0.117565)

	(10 0.0 2.5)

	(40 . 0.0)

	(41 . 0.0)

	(42 . 0.117565)

	(210 0.0 0.0 1.0)

 )

)

	 (entmake '((0 . "ENDBLK") (8 . "0") (8 . "0") (6 . "ByBlock") (370 . -2)))

       )

    )

     (if (not (tblsearch "BLOCK" "cotes_levées2"))

       (progn

	 (entmake

	   '((0 . "BLOCK") (8 . "0") (2 . "cotes_levées2") (70 . 2) (4 . "") (8 . "0") (6 . "ByBlock") (370 . -2) (10 0.0 0.0 0.0))

	 )

(entmake

'(

	(0 . "LWPOLYLINE")

	(100 . "AcDbEntity")

	(67 . 0)

	(410 . "Model")

	(8 . "0")

	(62 . 256)

	(6 . "ByBlock")

	(370 . -2)

	(100 . "AcDbPolyline")

	(90 . 3)

	(70 . 0)

	(38 . 0.0)

	(39 . 0.0)

	(10 -2.5 0.0)

	(40 . 0.25)

	(41 . 0.0)

	(42 . -0.247582)

	(10 -0.567325 -1.01948)

	(40 . 0.822061)

	(41 . 0.0)

	(42 . -0.117565)

	(10 0.0 -2.5)

	(40 . 0.0)

	(41 . 0.0)

	(42 . -0.117565)

	(210 0.0 0.0 1.0)

 )

)

	 (entmake '((0 . "ENDBLK") (8 . "0") (8 . "0") (6 . "ByBlock") (370 . -2)))

       )

    )

	(if (not (tblsearch "DIMSTYLE" "cotes-levées"))

(entmake

'(

	(0 . "DIMSTYLE")

	(100 . "AcDbSymbolTableRecord")

	(100 . "AcDbDimStyleTableRecord")

	(2 . "cotes-levées")

	(70 . 0)

	(3 . "")

	(4 . "")

	(5 . "")

	(6 . "cotes_levées1")

	(7 . "cotes_levées2")

	(40 . 1.0)

	(41 . 2.5)

	(42 . 0.625)

	(43 . 0.0)

	(44 . 1.25)

	(45 . 0.0)

	(46 . 0.0)

	(47 . 0.0)

	(48 . 0.0)

	(140 . 2.5)

	(141 . 2.5)

	(142 . 0.0)

	(143 . 0.0393701)

	(144 . 1.0)

	(145 . 0.0)

	(146 . 1.0)

	(147 . 0.625)

	(71 . 0)

	(72 . 0)

	(73 . 0)

	(74 . 0)

	(75 . 1)

	(76 . 1)

	(77 . 0)

	(78 . 0)

	(170 . 0)

	(171 . 3)

	(172 . 1)

	(173 . 1)

	(174 . 1)

	(175 . 0)

	(176 . 255)

	(177 . 0)

	(178 . 0)

	(270 . 2)

	(271 . 2)

	(272 . 2)

	(273 . 2)

	(274 . 3)

	(275 . 0)

	(280 . 0)

	(281 . 0)

	(282 . 0)

	(283 . 0)

	(284 . 8)

	(285 . 0)

	(286 . 0)

	(287 . 5)

	(288 . 0)

 )

)

	)

	(command "_.-dimstyle" "_restore" "cotes-levées")

	(setvar "DIMTXSTY" "cotes-levées")

	(setvar "DIMBLK1" "cotes_levées1")

	(setvar "DIMBLK2" "cotes_levées2")

)

 

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

#17 L'utilisateur est hors-ligne   (gile) 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 11260
  • Inscrit(e) : 02-septembre 05

Posté 01 septembre 2007 - 18:46

Encore une fois, BRAVO !!!

là ce sont de "vraies cotes", pas un bidouillage comme ce que j'ai fait ;)
Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
Image IPB
0

#18 L'utilisateur est hors-ligne   bonuscad 

  • ceinture rouge et blanche 8em dan
  • Groupe : Membres
  • Messages : 4670
  • Inscrit(e) : 20-juin 03

Posté 01 septembre 2007 - 18:57

Merci,

Mais il se peut que cette solution ne convienne pas à la demande, en effet si c'est vraiment un croquis et que les dimensions soient forcées, ben... il faudra éditer les cotes.

Alors ta routine reste une solution (d'ailleurs la seconde version fonctionne sous 2005). ;)
Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
0

#19 L'utilisateur est hors-ligne   fabdo 

  • ceinture bleue
  • Groupe : Membres
  • Messages : 146
  • Inscrit(e) : 21-avril 06

Posté 03 septembre 2007 - 09:22

Bonjour à tous,

Je n'ai pas encore testé, mais juste une question, est-il possible de gérer les décimales: je veux dire que pour une cote qui serait de 14.8 obtenir 14.80?

Merci à tous.
0

#20 L'utilisateur est hors-ligne   rebcao 

  • ceinture rouge et blanche 8em dan
  • Groupe : Membres
  • Messages : 7099
  • Inscrit(e) : 25-août 04
  • LocationSELESTAT

Posté 03 septembre 2007 - 10:36

Je me suis amusé à faire ça simplement avec deux styles de Cote avec une version LT 2005

Image IPB


Christian
Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger des Supports de Cours AutoCAD, des Outils AutoCAD...
cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
0

Partager ce sujet :


  • 2 Pages +
  • 1
  • 2
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

1 utilisateur(s) en train de lire ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)