Aller au contenu

Messages recommandés

Posté(e)

Bonjour,

 

je coince !! Est-ce possible d'allonger un seul coté d'une cote alignée tout en gardant son angle d'origine?

 

Actuellement si j'allonge un coté...ben forcement mon angle change.

Même si je sais que c'est le principe de cette commande je me demandais si il y avait un truc?

 

Merci. :D

 

[Edité le 6/2/2009 par bono05]

Posté(e)

Pas compris.

 

A savoir quand même : on peut utiliser les outils AJUSTER et PROLONGER sur des cotations.

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Posté(e)

je pense qu'un petit dessin sera plus claire, je l'avoue...

 

Petit détail: les côtes sont déjà dessiner sur le plan.

 

Si je veux "tirer" la ligne de gauche d'une cote alignée, la cote tourne sur elle même et même si c'est bien le but de cette côte je voudrais quand même pouvoir le faire. y a t'il une solution?

 

http://img3.imageshack.us/img3/9673/cotevc2.th.jpg

 

http://imageshack.us/img/butansn.png Quickpost this image to Myspace, Digg, Facebook, and others![Edité le 6/2/2009 par bono05]

 

[Edité le 6/2/2009 par bono05]

Posté(e)

Salut bono05,

 

Lorsque la cote est réalisée, il suffit de cliquer sur la ligne de cote gauche pour obtenir les grips, puis cliquer sur le carré bleu du bas et le glisser sur le coin de la forme de gauche.

 

Cordialement.

 

yw22

 

[Edité le 6/2/2009 par yw22]

Posté(e)

Mais le problème c'est que ma cote fait une rotation en même temps que je rallonge ma ligne?!

Ce qu'il n'y a pas avec une cote lineaire...

 

Donc je suis toujours bloqué... :(

Posté(e)

re

 

Avec la cotation non-associative cela fonctionne, mais ce n'est peut-être pas ce que tu cherches.

 

Salutations.

 

yw22

Posté(e)

Bonjour à toutes et tous,

 

A part décomposer la cote (à éviter !!), je ne vois pas,....

 

PS: Si tu veux avoir ton image sous ce format sur le forum, sélectionne alors l'adresse "FORUM" depuis le site "http://img3.imageshack.us/my.php?image=cotevc2.jpg ", ce qui donne =>

 

http://img3.imageshack.us/img3/9673/cotevc2.jpg

http://img3.imageshack.us/img3/cotevc2.jpg/1/w564.png

 

 

Civil 3D 2025 - COVADIS_18.3b

https://www.linkedin...3%ABt-95313341/

Posté(e)

Salut,

 

Une solution serait de remplacer la cote alignée par une cote pivotée après avoir orient le SCU suivant les points d'attache de la cote alignée.

C'est ce que fait le LISP ci-dessous

 

(defun c:al2li (/ al elst p1 p2 ang osm)
 (if
   (and
     (setq al (car (entsel "\nSélectionnez une cote alignée: ")))
     (setq elst (entget al))
     (= "DIMENSION" (cdr (assoc 0 elst)))
     (member '(100 . "AcDbAlignedDimension") elst)
     (= 1 (logand 1 (cdr (assoc 70 elst))))
   )
    (progn
      (setq p1	 (cdr (assoc 13 elst))
     p2	 (cdr (assoc 14 elst))
     ang (angle p1 p2)
     osm (getvar 'osmode)
      )
      (and (minusp (cos ang)) (setq ang (+ ang pi)))
      (setvar 'osmode 0)
      (command "_.ucs" '(0 0 0) (polar '(0 0 0) ang 1) "")
      (command	"_.dimlinear"
	(trans p1 0 1)
	(trans p2 0 1)
	(trans (cdr (assoc 11 elst)) al 1)
      )
      (command "_.ucs" "_p")
      (setvar 'osmode osm)
      (entdel al)
    )
    (princ "\nL'objet sélectionné n'est pas une cote alignée")
 )
 (princ)
)

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Un LISP un peu plus "propre" : sans toucher au SCU

 

(defun c:al2li (/ al elst)
 (if (setq al (car (entsel "\nSélectionnez une cote alignée: ")))
    (or (aligned2linear al) (princ "\nEntité non valide"))
 )
 (princ)
)

;;; Aligned2Linear (gile)
;;; Transforme une cote alignée en une cote linéaire pivoté avec la même orientation
;;;
;;; Argument : une cote alignée (ENAME)
;;;
;;; Retour : ENAME de la cote pivotée ou nil si la transformation a échoué

(defun Aligned2Linear (dim / elst p1 p2 ang result)
 (if
   (and
     (setq elst (entget dim))
     (= "DIMENSION" (cdr (assoc 0 elst)))
     (member '(100 . "AcDbAlignedDimension") elst)
     (= 1 (logand 1 (cdr (assoc 70 elst))))
   )
    (progn
      (setq elst (entget dim)
     p1	  (cdr (assoc 13 elst))
     p2	  (cdr (assoc 14 elst))
     ang  (angle p1 p2)
      )
      (and (minusp (cos ang)) (setq ang (+ ang pi)))
      (if
 (setq result
	(entmakex
	  (append
	    (subst
	      '(70 . 32)
	      (assoc 70 elst)
	      (subst
		(cons 50 ang)
		(assoc 50 elst)
		(subst
		  (cons 51 (- (* 2 pi) ang))
		  (assoc 51 elst)
		  (vl-remove-if
		    '(lambda (x)
		       (member (car x) '(-1 5 2 102 360 330))
		     )
		    elst
		  )
		)
	      )
	    )
	    (list '(100 . "AcDbRotatedDimension"))
	  )
	)
 )
  (entdel dim)
      )
    )
 )
 result
)

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

>>Tiens, à priori, l'option "gras" ne fonctionne plus non plus,....

 

Le webmaster est en train d'essayer de résoudre les problèmes de formatage des codes, ceci doit expliquer cela.

 

 

>>comment fonctionne "al2li" ?

 

comme dit plus haut, le premier LISP (niveau "Débuter en LISP") :

- récupère l'angle de la cote alignée

- crée un nouveau SCU suivant cette orientation

- crée une cote pivotée sur les points de la cote alignée

- supprime la cote alignée

- restaure le SCU précédent

 

Le second LISP (niveau "Pour aller plus loin en LISP") aboutit au même résultat au même résultat sans utiliser de commandes, en modifiant directement la base de donnée.

 

La cote pivotée peut ensuite être sélectionnée pour déplacer ses points d'attache, elle conservera son orientation.

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Vous travailler même le week-end !! Tant mieux pour nous... ;)

 

Alors j'ai testé le lisp de Gile et...(une fois de plus) SUPER !!

Mais si je pouvais profiter de votre bonté, je me demandais si il serait possible d'y ajouter une option de selection multiple? car je pense qu"actuellement c'est cote par cote.

 

Par exemple si je selectionne d'abord les cotes qui concerne le changement et ensuite je lancerai le lisp...lequel prendrai en charge les cotes selectionner précedement.

 

A moins que tu as une autre idée... :P

Posté(e)

Salut,

 

(defun c:al2li_m (/ ss n)
 (and
   (princ "\nSélectionnez les cotes à modifier.")
   (setq ss (ssget '((0 . "DIMENSION"))))
   (repeat (setq n (sslength ss))
     (Aligned2Linear (ssname ss (setq n (1- n))))
   )
 )
 (princ)
)


;;; Aligned2Linear (gile)
;;; Transforme une cote alignée en une cote linéaire pivoté avec la même orientation
;;;
;;; Argument : une cote alignée (ENAME)
;;;
;;; Retour : ENAME de la cote pivotée ou nil si la transformation a échoué

(defun Aligned2Linear (dim / elst p1 p2 ang result)
 (if
   (and
     (setq elst (entget dim))
     (= "DIMENSION" (cdr (assoc 0 elst)))
     (member '(100 . "AcDbAlignedDimension") elst)
     (= 1 (logand 1 (cdr (assoc 70 elst))))
   )
    (progn
      (setq elst (entget dim)
     p1	  (cdr (assoc 13 elst))
     p2	  (cdr (assoc 14 elst))
     ang  (angle p1 p2)
      )
      (and (minusp (cos ang)) (setq ang (+ ang pi)))
      (if
 (setq result
	(entmakex
	  (append
	    (subst
	      '(70 . 32)
	      (assoc 70 elst)
	      (subst
		(cons 50 ang)
		(assoc 50 elst)
		(subst
		  (cons 51 (- (* 2 pi) ang))
		  (assoc 51 elst)
		  (vl-remove-if
		    '(lambda (x)
		       (member (car x) '(-1 5 2 102 360 330))
		     )
		    elst
		  )
		)
	      )
	    )
	    (list '(100 . "AcDbRotatedDimension"))
	  )
	)
 )
  (entdel dim)
      )
    )
 )
 result
)

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

C'est génial...MERCI GILE !!!

 

J'ai pourtant affiché les deux lisp pour voir la différence et....C'est du grand chinois pour moi.

tu es donc un pro. :D

 

 

Posté(e)

Seule la fonction d'appel diffère.

Les 2 LISP utilisent la même fonction Aligned2Linear qui crée une cote pivotée à la place d'une cote alignée.

al2li fait sélectionner une seule cote à l'utilisateur et applique la fonction Aligned2Linear à cette cote.

al2li_m utilise un jeu de sélection et applique Aligned2Linear à chacune des cotes du jeu de sélection.

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

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é