Aller au contenu

Messages recommandés

Posté(e)

Bonjour,

 

Je souhaite faire facilement des cotations altimétriques.

Pour ce faire, je place mon repère à une altitude voulue, puis je fait des cotations superposées, en ayant modifié les paramètres d'affichages de la cote

j'obtien ceci (à gauche)

http://www.socara.net/images/image1.jpg

 

mais comment faire pour faire afficher la cote de la façon dessinée à droite ?

 

cela m'aiderait beaucoup....

 

Merci

 

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

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

Posté(e)

Pourquoi ne déplaces-tu pas ton SCU pour utiliser toute la puissance des cotations ordonnées ?

 

Je souhaite faire facilement des cotations altimétriques.

 

Parce que là, c'est mal parti :cool:

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

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

Bonjour,

 

Je ne pense qu'avec les cotations Ordonnées et Abscisses,

on puisse mettre une flèche comme il est demandé.

 

En revanche il est possible de "piquer" un point

de dessiner une "ligne de repère" (voir le style de cotes pour avoir une flèche)

et insérer un "champ"

tu choisiras "objet" et ensuite la coordonnée Y,

en plus c'est dynamique...

 

bien sûr, celà s'automatisera si c'est d'usage courant

 

amicalement

Posté(e)

Salut Tramber

 

Effectivment, j'utilise le dépalcment du repèr afin d'avoir les côtes que je veux

j'utilise aussi les cotations superposée, mais, pour une question d'apparence, j'airais aimé faire apparaitre de petites flèches comme indiquées sur le dessin de droite.

Dans un dessin touffu, ces flèches permettent de pointer exactement ce qui est côté.

 

Merci

 

Salut Didier.

 

tout d'abord, quand je sélectionne Objet, je ne trouve pas l'"option" coordonnée Y.

ensuite, cette cotation se fait par rapport au 0 absolu du projet ?

 

Cela est embêtant car dans toute cotation altimétrique, il nous faut à la fois les altitudes "absolues" ainsi que les altitudes par rapport au "zéro" du projet.

 

Enfin, si tu as une automatisation possible, cela m'interresse en effet beaucoup.

 

Merci

 

[Edité le 5/12/2006 par barbichette]

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

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

Posté(e)

bon, j'ai essayé d'adapter ce lisp à mon utilisation.

 

Mais j'ai 2 soucis.

 

1°) Si je dessine un rectangle de 1 m de haut, dont la base est posée sur le 0,0,0 du scu

L’altitude du dessus devrait etre à +1.00 m

Hors l’affichage donne 0.01

 

2°) il faudrait pouvoir définir une echelle la première fois qu'on utilise le bloc dans le dessin...

 

3°) je ne comprend pas le sens de la question du début quand il faut choisir un objet, pourrait on supprimer cette question, et passer directement à la sélection du point d'insertion ?

 

Voici le code du lisp

; ------------------------------------
;
;                                                           %
;    NIVEAU.LSP                                            %% %%
;                                                         %%%%%%%
;    Copyright (C) 1999-2002 by Damien GOEL              %%%%%%
;                                                        %%%%%%
;    Créé le 15 mai 1999 par Damien GOEL                  %%%%%%%
;    modif le 09 mars 2004 par Damien GOEL                 %% %%
;    Pour autocad 2004
;
;
;    DESCRIPTION:
;
;    insert un niveau avec l'altitude par defaut d'apres le SCU
;    
;
;    UTILISATION:
;
;    conserver le nom du createur, ainsi que m'envoyer un petit mail
;    damien.goel@isuisse.com
;    Ne pas hesiter a la personnaliser
;
;
; ---------- REMISE A ZERO ----------

(defun myerror (s)                    ; Si une erreur se produit
 (if (/= s "Function cancelled")
   (princ (strcat "\nErreur: " s))   ; afficher l'erreur
 )
 (setvar "dimzin" dz)                ; restoration de la variable DIMZIN
 (setvar "attdia" atda)

 (setq *error* olderr)
 (princ)
)


; ---------- PROGRAMME PRINCIPALE ----------
(defun c:NIVEAU (/ quest1 dz ent ent_carac ent_carac2 alt 
                             no_ent ent_attrib val ptins atda)
  (setq olderr  *error*
       *error* myerror)

 ; ----- INFORMATION -----

  (princ "\n\t-----  niveau.lsp - juin 2004 - par Damien GOEL - vers. 2004.01  -----")

 ; ----- QUESTION -----

  (setq dz (getvar "dimzin"))
                 ;sauvegarde de la variable DIMZIN
  (setq atda (getvar "attdia"))
                 ;sauvegarde de la variable CMDECHO
  (setq lts (getvar "ltscale"))
                 ;sauvegarde de la variable LTSCALE

  (setvar "dimzin" 0)
                 ;affectation de 0 a la varaible DIMZIN
  (setvar "attdia" 0)
                 ;affectation de 0 a la varaible CMDECHO
  (setq ent (entsel "\n / retour pour inserer: "))

 ; ----- EDITION NIVEAU -----

  (if (/= ent nil)
     (progn
       (setq ent_carac (entget (car ent)))
                 ;Recuperation du point y
       (setq ent_carac2 (trans (cdr (assoc 10 ent_carac)) 0 1))
                 ;Transformation du pt y dans le SCU
       (setq alt (rtos (/ (cadr ent_carac2) 100) 2 2))
                 ;ajout de deux 00 apres les vigrules
(setq no_ent (cdr (assoc -1 ent_carac)))
                 ;recuperation de ID de l'entite
(setq ent_attrib (entget (entnext no_ent)))
                 ;selection de ID du texte attribut
(setq val (cdr (assoc 1 ent_attrib)))
                 ;recuperation du texte de l'entite
(setq ent_attrib (subst (cons 1 alt) (assoc 1 ent_attrib) ent_attrib))
                 ;replacement du texte existant pas la variable alt
(entmod ent_attrib)
                 ;affectation a la variable du texte
     (entupd no_ent)
                 ;regenaration de l'entite
     )
   )

 ; ----- INSERTION NIVEAU-----

  (if (= ent nil)
     (progn
       (initget 1)
       (setq ptins (getpoint "\nSelectioner le point d'insertion"))
                 ;selection du point d'insertion
       (setq alt (rtos (/ (cadr ptins) 100) 2 2))
                 ;recuperation du niveau
       (setq legende (getstring T "\nQuel est la legende du niveau: "))
                 ;information sur le titre de la legende
       (command "_-INSERT" "niveau-coupe" ptins lts lts "0" alt legende)
                 ;insertion du bloc au point ptins avec la variable alt
     )
  )
  (setvar "dimzin" dz)
  (setvar "attdia" atda)
                 ;reafectaion de la sauvegarde de la varable DIMZIN 00
  (princ)
                 ;ne rien afficher
)

; --------------- AFFICHAGE AU MOMENT DU CHARGEMENT --------------


(princ "\n\tC:niveau chargé. Taper NIVEAU pour lancer la commande.")
(princ)


; --------------- FIN --------------

 

 

Merci

 

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

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

Posté(e)

coucou,

 

tu veux DEUX cotes altimétriques sur tes points ?

celà n'était pas précisé, pardon

tes SCU sont ils parallèles au moins ?

 

Effectivement les champs ne connaissent que le SCU général.

chaque chose est limitée !!!

 

pour l'option Y, il faut choisir l'objet

ensuite choisir POSITION et là décocher les coordonnées X et Z.

 

 

amicalement

 

Posté(e)
coucou,

 

tu veux DEUX cotes altimétriques sur tes points ?

celà n'était pas précisé, pardon

tes SCU sont ils parallèles au moins ?

Oui les Scu sont parallèles

par contre sur chaque point il n'y a qu'une seule cote altimétrique

 

Effectivement les champs ne connaissent que le SCU général.

chaque chose est limitée !!!

 

pour l'option Y, il faut choisir l'objet

ensuite choisir POSITION et là décocher les coordonnées X et Z.

amicalement

 

Par contre pour le reste, en fait ce que je cherche à faire c'est modifier le lisp plus haut selon les détails que j'ai précisé.

 

Est-ce possible ?

 

Merci

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

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

Posté(e)

Oui, c'est possible :

 

; UTILISATION:

;

; conserver le nom du createur, ainsi que m'envoyer un petit mail

; damien.goel@isuisse.com

; [surligneur]Ne pas hesiter a la personnaliser[/surligneur]

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

Posté(e)
Oui, c'est possible :

 

; UTILISATION:

;

; conserver le nom du createur, ainsi que m'envoyer un petit mail

; damien.goel@isuisse.com

; [surligneur]Ne pas hesiter a la personnaliser[/surligneur]

 

Ca j'avais lu...

 

C'est justement là que se pose le problème.

j'ai personalisé la flèche, le texte de la côte.

mais pour le reste à savoir :

1°) modifier l'affichage de la valeur

2°) modifier ou faire que l'on puisse définir une echelle la première fois qu'on utilise le bloc dans le dessin...

3°) supprimer la question du début

 

j'ai bien essayé de modifier 2-3 trucs dans ce lisp, mais les seuls résultats ont été des bugs qui bloquent le lisp.

 

Est-ce qu'un pro du lisp pourrait y jeter un oeil ?

merci

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

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

Posté(e)

Je sais pas si j'ai bien compris la question première, mais je préfère proposer un truc de mon cru que modifier le LISP d'un autre.

 

En espérant que ça répond à la demande, il s'agit d'un repère rapide dont le texte est la coordonnée Y de la pointe de la flèche. La "cote altimétrique" sera conforme au style de cote courant.

 

(defun c:cotalt	(/ pt qlst tlst)
 (entmake '((0 . "POINT") (10 0 0 0)))
 (setq pt (entlast))
 (command "_.qleader" pause pause pause "" " " "")
 (setq	qlst (entget (entnext pt))
tlst  (entget (entlast))
 )
 (entmod (subst (cons 1 (rtos (caddr (assoc 10 qlst)) 2 (getvar "DIMDEC")))
	 (assoc 1 tlst)
	 tlst
  )
 )
 (entdel pt)
 (princ)
) 

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

Posté(e)

Modification 1

- Faire que la cote apparaisse avec une valeur exacte, et pas divisée par 100

; ------------------------------------
 ; ----- INSERTION NIVEAU-----

  (if (= ent nil)
     (progn
       (initget 1)
       (setq ptins (getpoint "\nSelectioner le point d'insertion"))
                 ;selection du point d'insertion
       (setq alt (rtos (/ (cadr ptins)  [surligneur] 100[/surligneur]) 2 2))
                 ;recuperation du niveau
       (setq legende (getstring T "\nQuel est la legende du niveau: "))
                 ;information sur le titre de la legende
       (command "_-INSERT" "niveau-coupe" ptins lts lts "0" alt legende)
                 ;insertion du bloc au point ptins avec la variable alt
     )
  )
  (setvar "dimzin" dz)
  (setvar "attdia" atda)

Modifié comme ca

; ------------------------------------
 ; ----- INSERTION NIVEAU-----

  (if (= ent nil)
     (progn
       (initget 1)
       (setq ptins (getpoint "\nSelectioner le point d'insertion"))
                 ;selection du point d'insertion
       (setq alt (rtos (/ (cadr ptins)  [surligneur] 1[/surligneur]) 2 2))
                 ;recuperation du niveau
       (setq legende (getstring T "\nQuel est la legende du niveau: "))
                 ;information sur le titre de la legende
       (command "_-INSERT" "niveau-coupe" ptins lts lts "0" alt legende)
                 ;insertion du bloc au point ptins avec la variable alt
     )
  )
  (setvar "dimzin" dz)
  (setvar "attdia" atda)
                 ;reafectaion de la sauvegarde de la varable DIMZIN 00
  

 

Par contre ce petit bout de code

 (command "_-INSERT" "niveau-coupe" ptins [surligneur] lts lts[/surligneur] "0" alt legende)

Lance l'insertion de l'ensemble

mais les 2 " [surligneur] lts lts[/surligneur]" correspondent à l'échelle.

si je les laisse, le bloc est inséré sans rien demander

si je les ote, le bloc est inséré, mais il demande une échelle en "X", puis en "Y", puis la rotation.

pourrait faire qu'il ne demande que l'échele en X, qu'il utilise cette échelle pour "Y" aussi et "0" pour rotation

 

Merci

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

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

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é