nicolas2 Posté(e) le 25 novembre 2011 Posté(e) le 25 novembre 2011 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.jpgJe 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. ;)
FormaBois Posté(e) le 25 novembre 2011 Posté(e) le 25 novembre 2011 (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é le 25 novembre 2011 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"
nicolas2 Posté(e) le 25 novembre 2011 Posté(e) le 25 novembre 2011 http://img21.imageshack.us/img21/8646/orientation5.jpg
nicolas2 Posté(e) le 28 novembre 2011 Posté(e) le 28 novembre 2011 Bonjour à tous.Voici le résultat en lançant la routine :http://img804.imageshack.us/img804/8646/orientation5.jpgalors 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.
nicolas2 Posté(e) le 28 novembre 2011 Posté(e) le 28 novembre 2011 Comme disait formabois:....ça y est j'ai pigé, mauvais réglage du style.Une idée en ne captant que le segment ?
nicolas2 Posté(e) le 29 novembre 2011 Posté(e) le 29 novembre 2011 Bonjour à tous. - Si on fait tourner un axe, la côte ne suis pas. http://img28.imageshack.us/img28/2781/orientation6.jpgEst-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.jpghttp://img4.imageshack.us/img4/42/orientation7.jpg Merci à vous.
lili2006 Posté(e) le 29 novembre 2011 Posté(e) le 29 novembre 2011 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/
didier Posté(e) le 29 novembre 2011 Posté(e) le 29 novembre 2011 Coucou Des distances et des angles avec style différent dans le même style de cotes, oui ! je veux bien une explication car il doit y avoir confusion,un exemple ? amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
nicolas2 Posté(e) le 29 novembre 2011 Posté(e) le 29 novembre 2011 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.
lili2006 Posté(e) le 30 novembre 2011 Posté(e) le 30 novembre 2011 Bonjour à toutes et tous, Il a du fourché dans son explication, je vois plutôt ça comme cela: http://img844.imageshack.us/img844/5011/orientation9.jpg C'est ça !;) En natif, cela fonctionne bien lili, mais la démarche peut devenir lourde. Vu ! Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
didier Posté(e) le 2 décembre 2011 Posté(e) le 2 décembre 2011 Coucou regarde la vidéo de mon programme en lisp VIDEO bien sûr je travaille en grades et autresmais c'est complètement paramétrable amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
FormaBois Posté(e) le 3 décembre 2011 Posté(e) le 3 décembre 2011 Bonjour Didier,Alors quelle différence y a-t-il entre ton programme et celui de Bonuscad ?Parce-que sur la vidéo ça a l'air de fonctionner nickel@+ 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"
didier Posté(e) le 4 décembre 2011 Posté(e) le 4 décembre 2011 Coucou je n'ai pas vu le programme de BonusCadj'ai travaillé tout seul dans mon coin le principe du mien c'est qu'on dessine une lignecette ligne est renseignée de son gisement, ensuite,j'ai mis un réacteur pour qu'en cas de modification de la lignele gisement se réécrive avec la bonne valeur et en bonne place. c'est tout. Éternel débutant... Mon site perso : Programmer dans AutoCAD
FormaBois Posté(e) le 4 décembre 2011 Posté(e) le 4 décembre 2011 Bonsoir,Le programme de Bonuscad est un peu au dessusOK tu montres les possibilités de ton programme, excuse j'avais compris qu'il était à disposition sur ce post pour des tests.Merci de ta réponse 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"
nicolas2 Posté(e) le 5 décembre 2011 Posté(e) le 5 décembre 2011 Bonjour à tous, bonjour Didier.Qu'entends-tu par:complètement paramétrableEst-il possible de le tester ? :unsure:Merci à tous.
bonuscad Posté(e) le 5 décembre 2011 Posté(e) le 5 décembre 2011 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
nicolas2 Posté(e) le 7 décembre 2011 Posté(e) le 7 décembre 2011 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.
bonuscad Posté(e) le 7 décembre 2011 Posté(e) le 7 décembre 2011 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 _DIMANGULARtu 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 lignePour 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 GRIPSclique à 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
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant