Aller au contenu

le nord en haut


Messages recommandés

Posté(e)

Bonjour à vous.

Une question : Ne serait-il pas possible de définir directement dans le LISP l'orientation et le sens?

Comme l'a écrit Bonuscad pour l'orientation plus haut :

Plus sérieusement tu places l'origine avec polar dans le code:

(polar pt 0.0 (cdr (assoc 40 dxf_cod))) ; origine à l'est

(polar pt (* 0.5 pi) (cdr (assoc 40 dxf_cod))) ; origine au nord

(polar pt pi (cdr (assoc 40 dxf_cod))) ; origine à l'ouest

(polar pt (* 1.5 pi) (cdr (assoc 40 dxf_cod))) ; origine au sud

On fait la même chose pour le sens et chacun est libre d'interchanger la ligne orientation et sens dans la routine (8 cas / 8 lignes différentes => 0°Nord/sens horaire - 0°Nord/sens trigo - 0°Est/sens horaire - .....). Dans mon domaine, je n'ai jamais de rosace en vrac (ex: le 0° au Nord-est).

Tout ceci permettrait, me semble t-il, que la routine, connaisssant notre orientation et notre sens, ne nous demande qu'un seul clic en pointant le segment et en se baladant sur le segment il nous propose le 45° ou le 225° ?! :unsure:

http://img163.imageshack.us/img163/8133/orientation4.jpg

Je n'ai aucune commpétence en LISP :blink: , mais quand je vois les services rendus, je me dis qu'a la retraite (si retraite il ya....) je m'y mets.

Merci à tous pour votre aide. ;)

Posté(e) (modifié)

Cette fois le 0 est bien à l'Est (et pas le Nord à l'Est :D) , En remplaçant la ligne : (polar pt 0.0 (cdr (assoc 40 dxf_cod)))

Mais toujours le sens horaire, même si je change le sens dans UNITES !? ...Et si ça ne sert pas à ça, alors à quoi sert cette option de sens dans les Unités ?

<Que veux-tu dire avec : "et le sens trigo" c'est suivant la position donné au texte de cote que tu vas déterminer l'angle à mesurer. ?

 

Super rapide en tout cas pour coter une série d'angle

 

....ça y est j'ai pigé, mauvais réglage du style

Modifié par FormaBois

Studio Gfilm - Agence de communication par l'image

 

"Le matin tu peux rester couché pour poursuivre ton rêve, ou te lever pour le réaliser"

Posté(e)

Bonjour à tous.

Voici le résultat en lançant la routine :

http://img804.imageshack.us/img804/8646/orientation5.jpg

alors que je devrais avoir 90° à la place de 270°....

Je ne tourne pas dans le bon sens ?! :huh:

Depuis ce matin je patauge..!!!

Merci pour votre aide.

Posté(e)

Bonjour à tous.

- Si on fait tourner un axe, la côte ne suis pas.

 

http://img28.imageshack.us/img28/2781/orientation6.jpg

Est-il possible de faire suivre la côte automatiquement (directement dans le LISP, sans intervention autre à l'écran)?

 

- Est-il possible de faire cohabiter dans le même style de côte ceci ?

 

http://img525.imageshack.us/img525/7204/orientation8.jpg

http://img4.imageshack.us/img4/42/orientation7.jpg

 

Merci à vous.

Posté(e)

Bonjour à toutes et tous,

 

- Si on fait tourner un axe, la côte ne suis pas.

 

D’où l'intérêt de travailler avec des "vrais" cotes en natif AutoCAD,...

 

 

Est-il possible de faire cohabiter dans le même style de côte ceci ?

 

Dans le même style ?

 

Pas à ma connaissance,...

 

Des distances et des angles avec style différent dans le même style de cotes, oui !

Civil 3D 2025 - COVADIS_18.3b

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

Posté(e)

Il a du fourché dans son explication, je vois plutôt ça comme cela:

 

http://img844.imageshack.us/img844/5011/orientation9.jpg

 

Une idée Didier pour faire suivre la cotation quand le segment tourne et pour éviter de cliquer sur le cercle + sur la base (0°) + sur l'angle à côter, en fait, uniquement un clique sur le segment à côter ?

En natif, cela fonctionne bien lili, mais la démarche peut devenir lourde.

Un exemple avec un colonne à distiller. Je n'ai mis que l'orientation des tubulures, j'ai encore 4 orientations pour des goussets extérieurs à différents niveaux et 6 orientations pour des supports internes.

 

http://img811.imageshack.us/img811/5166/orientation10.jpg

 

J'ai eu des orientations à changer (d'où ma question du suivi de la valeur de la côte) et je retrouve aussi des cotations angulaires "traditionelles" (d'où ma question sur le style). Si on peut cliquer une seule fois sur le segment, imaginez le gain de temps.

 

Merci à vous pour votre aide.

Posté(e)

Coucou

 

je n'ai pas vu le programme de BonusCad

j'ai travaillé tout seul dans mon coin

 

le principe du mien c'est qu'on dessine une ligne

cette ligne est renseignée de son gisement,

ensuite,j'ai mis un réacteur pour qu'en cas de modification de la ligne

le gisement se réécrive avec la bonne valeur et en bonne place.

 

c'est tout.

Posté(e)

Comme certain ont du mal avec le sens de rotation, voici le code qui mettra en place les 2 solutions de cotation.

Bien que cela me semble inutile car on peut faire cela simplement avec les grips (Changer le sens de rotation, la position du segment mesuré, la cote se met à jour, je vois pas trop l'utilité de créer des réacteurs)

 

((lambda ( / AcDoc Space js dxf_cod rad pt ang p pto pti nw_obj ptxt ss1 nw_obj2 ptxt1 ss2 key e_name)
 (vl-load-com)
 (setq
   AcDoc (vla-get-ActiveDocument (vlax-get-acad-object))
   Space
   (if (= 1 (getvar "CVPORT"))
     (vla-get-PaperSpace AcDoc)
     (vla-get-ModelSpace AcDoc)
   )
 )
 (while (null (setq js (ssget "_+.:E:S" '((0 . "ARC,CIRCLE"))))))
 (setq
   dxf_cod (entget (ssname js 0))
   rad (cdr (assoc 40 dxf_cod))
   pt (cdr (assoc 10 dxf_cod))
 )
 (initget "Nord Est Sud Ouest _North East South West")
 (setq ang (getorient pt "\nOrigine de la mesure angulaire [Nord/Est/Sud/Ouest] <Nord>: "))
 (setq
   ang
   (cond
     ((or (not ang) (eq ang "North")) (* 0.5 pi))
     ((eq ang "East") 0.0)
     ((eq ang "South") (* 1.5 pi))
     ((eq ang "West") pi)
     (T ang)
   )
 )
 (while (setq p (getpoint pt "\nPoint: "))
   (setq
     pto (polar pt ang rad)
     pti (polar pt (angle pt (trans p 1 0)) rad)
     nw_obj
     (vla-AddDim3PointAngular Space
       (vlax-3d-point pt)
       (vlax-3d-point pto)
       (vlax-3d-point pti)
       (vlax-3d-point (setq ptxt (polar pt (angle pt (mapcar '* (mapcar '+ pto pti) '(0.5 0.5 0.5))) rad)))
     )
     ss1 (ssget "_L")
     nw_obj1
     (vla-AddDim3PointAngular Space
       (vlax-3d-point pt)
       (vlax-3d-point pto)
       (vlax-3d-point pti)
       (vlax-3d-point (setq ptxt1 (polar pt (+ pi (angle pt (mapcar '* (mapcar '+ pto pti) '(0.5 0.5 0.5)))) rad)))
     )
     ss2 (ssget "_L")
   )
   (if (and ss1 ss2 (= 0 (getvar "CMDACTIVE"))) 
     (progn
       (sssetfirst nil ss2)
       (princ "\n<Déplacer Curseur> pour choix; <Entrée>/[Espace]/Click+droit pour finir!.")
       (while (and (not (member (setq key (grread T 4 2)) '((2 13) (2 32)))) (/= (car key) 25))
         (cond
           ((eq (car key) 5)
             (if (< (distance ptxt (cadr key)) (distance ptxt1 (cadr key)))
               (setq e_name (ssname (cadr (sssetfirst nil ss1)) 0))
               (setq e_name (ssname (cadr (sssetfirst nil ss2)) 0))
             )
           )
         )
       )
       (entdel e_name)
     )
   )
 )
 (prin1)
))

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

Posté(e)

Bonjour à tous.

Le LISP de BONUSCAD fonctionne très bien.

(defun c:ANGLE ( / js dxf_cod pt p) 
       (while (null (setq js (ssget "_+.:E:S" '((0 . "ARC,CIRCLE")))))) 
       (setq dxf_cod (entget (ssname js 0))) 
       (setq pt (trans (cdr (assoc 10 dxf_cod)) 0 1)) 
       (while (setq p (getpoint pt "\nPoint: ")) 
               (command "_.dimangular" "" "_none" pt "_none" (polar pt (* 0.5 pi) (cdr (assoc 40 dxf_cod))) "_none" p pause) 
       ) 
)

Est-il possible d'y apporter une modification au niveau du suivi de l'angle si le segment tourne, comme le propose apparement Didier (gisement ?) ?

Merci à vous pour votre aide.

Posté(e)

Bonjour à tous.

Le LISP de BONUSCAD fonctionne très bien.

(defun c:ANGLE ( / js dxf_cod pt p) 
       (while (null (setq js (ssget "_+.:E:S" '((0 . "ARC,CIRCLE")))))) 
       (setq dxf_cod (entget (ssname js 0))) 
       (setq pt (trans (cdr (assoc 10 dxf_cod)) 0 1)) 
       (while (setq p (getpoint pt "\nPoint: ")) 
               (command "_.dimangular" "" "_none" pt "_none" (polar pt (* 0.5 pi) (cdr (assoc 40 dxf_cod))) "_none" p pause) 
       ) 
)

Est-il possible d'y apporter une modification au niveau du suivi de l'angle si le segment tourne, comme le propose apparement Didier (gisement ?) ?

Merci à vous pour votre aide.

 

Bon, je crois que je n'arrive pas à me faire comprendre.

 

On va reproduire la vidéo de didier sans aucun lisp.

On va partir des figures en image du post un cercle et une ligne radiante à coter.

Tu réalise ta cotation avec le style que tu veux. (cela fonctionne, mais plus facile à comprendre avec le style standard).

Pour cela tu lance la commande _DIMANGULAR

tu valide à BLANC pour définir le sommet et là tu t'accroche au centre du cercle.

puis tu t'accroche au quadrant voulu de ton cercle (ceci pour définir l'origine de l'angle)

et pour finir le dernier point l'extrémité de ta ligne

Pour la position de la ligne de cote, l'importance du lieu du clic détermine le sens de l'angle (avec le style standard on comprend mieux ce point de position)

Donc avec un style sans ligne d'attache, de ligne de cote, bien valider le bon angle !

 

Maintenant pour faciliter la chose on va créer un groupe constitué de ta ligne et de la cote crée.

commande _-GROUP option _Create tu peux mettre TRIGO comme nom de groupe et enfin tu sélectionne la ligne et la cotation.

 

Maintenant quitte à me répéter on va utiliser les GRIPS

clique à BLANC sur ta ligne et des petits carrés bleu vont apparaitre.

tu clique sur le carré bleu désignant l'extrémité de ta ligne (elle va passer en rouge et en ligne de commande du vas passer en mode **ETIRER** et là tu la repositionne en DYNAMIQUE (comme sur la vidéo) à un autre endroit sur le périmètre du cercle.

Ceci autant de fois que tu veux.

 

Si le style n'est pas standard il peut sembler qu'il y a un grip perdu dans la nature, c'est celui de la position de la ligne de cote. Si tu active ce grip en rouge et que tu l'étire au-delà de l'angle coté, c'est l'angle complémentaire à 2PI qui sera coté en texte, donc pour toi le sens trigo inverse.

 

PS: Il va de soit que les cotes sont associatives.

J'en reviens à ma première réponse: qu'une bonne macro pour LT pourrait faire la même chose que des lisp (avec ou sans réacteur)

 

Reinventing the wheel

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

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é