CadXP: accrochage perpendiculaire - CadXP

Aller au contenu

Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

accrochage perpendiculaire

#1 L'utilisateur est hors-ligne   x_all 

  • ceinture rouge et blanche 7em dan
  • Groupe : Membres
  • Messages : 3632
  • Inscrit(e) : 27-juin 06
  • Location04190

Posté 20 juin 2011 - 10:21

bonjour...

y a t il un moyen de faire un accrochage perpendiculaire en un point.

je m'explique:ce que je sais faire c'est cliquer le point de départ d'une ligne, et m'accrocher à une perpendiculaire de mon objet de ref pas de pb.

Ce que je voudrai c'est dire, dans cet ordre, je veux une perpendiculaire à cet objet (sélection de l'objet), qui passe par ce point (accrochage en un point); pour faciliter le truc on peu faire des droites (si possible dans le calque ''épures'') comme ça pas d'autre clic.

c'est vrai que je verrai bien ça avec un lisp... mais si il y a une manœuvre secrète je suis preneur...

car en l'état, je fait ma perpendiculaire un peu au hasard et je viens la poser au point ou je veux... pas top

merci pour les astuces :)




0

#2 L'utilisateur est hors-ligne   Tramber 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 8464
  • Inscrit(e) : 29-mars 03
  • LocationStrasbourg

Posté 20 juin 2011 - 10:57

La manip n'a rien de secret !
Taps PER ou force l'accrochage par MAJ+clic-droit.

Ta ligne partira en perpendiculaire de nombreux objets...
0

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

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

Posté 20 juin 2011 - 11:10

Salut,

Pour un LISP, voir ici, tu auras le choix.

Sinon, sans LISP, en modifiant le SCU suivant la ligne de base que tu veux, puis commande DROITE (_XLINE) puis option Vertical.
Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
Image IPB
0

#4 L'utilisateur est hors-ligne   laud69 

  • ceinture noire 1er dan
  • Groupe : Membres
  • Messages : 813
  • Inscrit(e) : 02-mars 04
  • LocationLyon

Posté 20 juin 2011 - 13:07

Bonjour,

Si j'ai bien compris ton besoin :

active le reperage objet F11

commande ligne
tu choisi ton pt de départ sur ton objet oblique
accrochage PER
tu re-clique sur le pt de départ de ta ligne

là (avec F11) il te tracera en pointillé une perdiculaire à ton objet de départ, et pas à l'objet d'arrivé.

++
0

#5 L'utilisateur est hors-ligne   Tramber 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 8464
  • Inscrit(e) : 29-mars 03
  • LocationStrasbourg

Posté 20 juin 2011 - 13:30

Pourquoi toutes ces complications ? F11 ?

Pour partir en perpendiculaire d'un objet il suffit de forcer l'accrochage dès avant la saisie pointeur du premier point, c'est le mode "Perpendiculaire différé" qui s'enclenche.
0

#6 L'utilisateur est hors-ligne   x_all 

  • ceinture rouge et blanche 7em dan
  • Groupe : Membres
  • Messages : 3632
  • Inscrit(e) : 27-juin 06
  • Location04190

Posté 20 juin 2011 - 13:53

Le coup du per, j'avoue que je ne lui connaissait pas ces vertus.

Mais c'est plutôt approximatif. quand on fait des constructions géométriques il faut la perpendiculaire en un point auquel je doit pouvoir m'accrocher par un extrémité ou une intersection ou un nodal (berf une valeur de mon OSMODE), ce qui reviens à dire avec cette méthode qu'il faut en simultané 2 accroches.

(gile), pwahh encore une leçon de lisp suite à la lecture du post. Leçon à la quelle je ne comprend pas grand choses, (sisi j'essaye pourtant) mais là encore la fonction n'est pas tout a fait celle que je cherche.
j'ai testé perp, mais on ne peu pas snaper un point précis après la commande qui donnerai le point de départ...

après comme je disais on peu simplifier la fin en traçant une droite, mais à ce niveau de maitrise ça ou donner la fin de la ligne ou sa longueur reste quelque peu anecdotique...




0

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

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

Posté 20 juin 2011 - 14:00

Citation

mais on ne peu pas snaper un point précis après la commande qui donnerai le point de départ...

Normal, si on pouvait, la ligne ne serait plus forcément perpendiculaire au segment de base...
Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
Image IPB
0

#8 L'utilisateur est hors-ligne   FormaBois 

  • ceinture noire 2em dan
  • Groupe : Membres
  • Messages : 1393
  • Inscrit(e) : 18-mai 06

Posté 20 juin 2011 - 15:00

Citation

...il faut la perpendiculaire en un point auquel je doit pouvoir m'accrocher par un extrémité ou une intersection ou un nodal (berf une valeur de mon OSMODE), ce qui reviens à dire avec cette méthode qu'il faut en simultané 2 accroches.


Dans les paramètres polaire, à la rubrique "Mesure de l'angle polaire" Cocher "Par rapport au dernier segment"
Il sera dans ce cas possible après avoir pris l'accrochage Perpendiculaire différé de venir prendre un repère au milieu, à l'extrémité ou à l'intersection.
Chez moi par défaut je laisse coché "Par rapport au dernier segment" (sauf exception)

Est-ce cela que tu cherche à faire ?
Image IPB
La dernière ligne qui a le repère est accroché sur le milieu

[Edité le 21/6/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"
0

#9 L'utilisateur est hors-ligne   Tramber 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 8464
  • Inscrit(e) : 29-mars 03
  • LocationStrasbourg

Posté 20 juin 2011 - 15:05

Citation

Le coup du per, j'avoue que je ne lui connaissait pas ces vertus.

Mais c'est plutôt approximatif. quand on fait des constructions géométriques il faut la perpendiculaire en un point auquel je doit pouvoir m'accrocher par un extrémité ou une intersection ou un nodal (berf une valeur de mon OSMODE), ce qui reviens à dire avec cette méthode qu'il faut en simultané 2 accroches.


hmmm, en effet, il vaut mieux le prog proposé par (Gile) ou d'autres solutions. Je comprends mieux la proposition de laud69.

Hoppla gueiss
0

#10 L'utilisateur est hors-ligne   laud69 

  • ceinture noire 1er dan
  • Groupe : Membres
  • Messages : 813
  • Inscrit(e) : 02-mars 04
  • LocationLyon

Posté 20 juin 2011 - 15:06

Citation

Pourquoi toutes ces complications ? F11 ?

Pour partir en perpendiculaire d'un objet il suffit de forcer l'accrochage dès avant la saisie pointeur du premier point, c'est le mode "Perpendiculaire différé" qui s'enclenche.

@Tramber
Ok effectivement.
Par contre tu maitrise pas la position de ton point de départ là non ?
(ou alors j'ai raté une subtilité)

Citation

il faut la perpendiculaire en un point auquel je doit pouvoir m'accrocher par un extrémité ou une intersection ou un nodal (berf une valeur de mon OSMODE), ce qui reviens à dire avec cette méthode qu'il faut en simultané 2 accroches.

@ x_all
T'as essayé la manip que j'ai décris ?

0

#11 L'utilisateur est hors-ligne   x_all 

  • ceinture rouge et blanche 7em dan
  • Groupe : Membres
  • Messages : 3632
  • Inscrit(e) : 27-juin 06
  • Location04190

Posté 21 juin 2011 - 06:31

@laud69

je capte pas bien ta manœuvre..

si je veux faire une perpendiculaire à une droite au point qui est à l’intersection avec un cercle.

[surligneur] active le reperage objet F11[/surligneur]

ok il est actif par défaut

[surligneur]commande ligne
tu choisi ton pt de départ sur ton objet oblique [/surligneur]

je clique mon intersection


[surligneur] accrochage PER[/surligneur]
je tape per ou shift clic droite per

[surligneur] tu re-clique sur le pt de départ de ta ligne[/surligneur]

Quand je reclique le point de départ, il me fait une ligne de longueur 0 (qu'il me faudra effacer par la suite)

[surligneur] là (avec F11) il te tracera en pointillé une perdiculaire à ton objet de départ, et pas à l'objet d'arrivé.
[/surligneur]

l'objet d'arrivée, je n'en ai pas forcément et en l'espèce, je voie bien des pointilles si je tire la souris tout doucement dans sur la direction seulement si je ne tape pas per et que je met per dans mon OSMODE (je sais pas si je suis bien clair)
il faut suivre la direction de manière précise, quand on s'éloigne un peu on perd les pointillets et il faut venir les rechercher... ça peux dépanner, mais c'est pas top... autant tracer la ligne avec le technique de Tramber et la déplacer, avec les alias ça vas plus vite...

mais je retiens le tuyau aussi...



0

#12 L'utilisateur est hors-ligne   bonuscad 

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

Posté 21 juin 2011 - 16:06

Il y a aussi ce lisp que j'avais du déjà mettre en ligne, mais je préfère le re-publier car il y a eu certainement des modifs depuis...


(defun c:elp ( / js ent-sel ent pt_sel obj_curv old_osmd old_snp old_orth pt_sel param deriv pt_tmp p_from p_to)

  (vl-load-com)

  (princ "\nElever une perpendiculaire à: ")

  (while (not (setq js (ssget "_+.:E:S" '((0 . "*LINE,ARC,CIRCLE,ELLIPSE,RAY"))))))

  (setq

    ent-sel (ssnamex js 0)

    ent (cadar ent-sel)

    pt_sel (cadar (cdddar ent-sel))

    obj_curv (vlax-ename->vla-object ent)

  )

  (cond

    ((member

      (vlax-get-property obj_curv 'ObjectName)

      '("AcDbPolyline" "AcDb2dPolyline" "AcDbLine" "AcDbArc" "AcDbCircle" "AcDbEllipse" "AcDbSpline" "AcDbRay" "AcDbXline")

     )

      (setq

        old_osmd (getvar "osmode")

        old_snp (getvar "snapang")

        old_orth (getvar "orthomode")

        pt_sel (vlax-curve-getClosestPointTo obj_curv pt_sel)

        param (vlax-curve-getparamatpoint obj_curv pt_sel)

        deriv (vlax-curve-getfirstderiv obj_curv param)

      )

      (setq pt_tmp (polar pt_sel (+ (atan (cadr deriv) (car deriv)) (/ pi 2)) 100.0))

      (setvar "snapang" (angle (trans pt_sel 0 1) (trans pt_tmp 0 1)))

      (setvar "orthomode" 1)

      (if (null (setq p_from (getpoint "\nDu point : ")))

        (setq p_from (trans pt_sel 0 1))

      )

      (setvar "osmode" 0)

      (initget 9)

      (setq p_to (getpoint p_from "\nJusqu'au point : "))

      (command "_.line" p_from p_to "")

      (setvar "osmode" old_osmd)

      (setvar "orthomode" old_orth)

      (setvar "snapang" old_snp)

    )

    (T (princ "\nObjet invalide!"))

  )

  (princ)

)

 

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   FormaBois 

  • ceinture noire 2em dan
  • Groupe : Membres
  • Messages : 1393
  • Inscrit(e) : 18-mai 06

Posté 21 juin 2011 - 18:53

Bonjour,
Les 2 lisp marche nickel, merci à vous deux ;)
J'ai ajouté un petit dessin à mon message précédent

Comment utilisez-vous tous ces outils personnalisés ?
En tapant le nom de la commande, en créant des boutons personnalisé sur des barres d'outils, ou bien au menu contextuel, ou bien ... ?
Car j'imagine que la plupart de vos outils sont personnalisés et ne sont pas les outils d'origine


[Edité le 22/6/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"
0

#14 L'utilisateur est hors-ligne   x_all 

  • ceinture rouge et blanche 7em dan
  • Groupe : Membres
  • Messages : 3632
  • Inscrit(e) : 27-juin 06
  • Location04190

Posté 22 juin 2011 - 05:30

@FormaBois,

j'ai fait un bouton vers "outil/charger une application" qui me sert quand je veux un truc précis, mais pour les lisp les plus utilisés je les met en chargement automatique (tu clique une icone tu vas en bas à "personnaliser" et il faut trouver ou on charge les lisp par defaut et je vien de voir que dans la boite de charger une application ya un truc pour application chargée "au démarage" à tester car chez moi c'est vide alors que j'en ai une caisse)

la plupart du temps ces lisp on des nom de commande pratique (je pence par exemple à ssl, sse, ssm, que je tape 50 fois par jour (encore merci à (gile))) sinon je met un alias, plus rarement un bouton...

je viens de tester elp , ben en voila un que je vais mettre en chargement par défaut...

merci beaucoup bonuscad, c'est tout a fait ce que je cherchais il va m'être d'une grande h elp :)
0

#15 L'utilisateur est hors-ligne   bonuscad 

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

Posté 22 juin 2011 - 08:49

Citation

Comment utilisez-vous tous ces outils personnalisés ?


Pour les plus courants (qui sont accessible dans un dossier de recherche d'Autocad), j'utilise un bouton avec la syntaxe suivante.

^C^C(if (not c:elp) (load"elp"));elp;^Z


Je préfère cette manière que de surcharger la valise de chargement automatique au démarrage.

Pour les trucs qui me semble indispensables je passe par (defun-q s::startup .....)

Pour les codes occasionnels, je fais simplement un glisser du navigateur dans la fenêtre graphique pour effectuer le chargement et avoir la commande dispo au clavier.
Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
0

#16 L'utilisateur est hors-ligne   FormaBois 

  • ceinture noire 2em dan
  • Groupe : Membres
  • Messages : 1393
  • Inscrit(e) : 18-mai 06

Posté 25 juin 2011 - 08:38

Excellente l'idée d'un bouton pour charger les programmes en fonction des besoins
Merci à tous les deux... ;)
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"
0

#17 L'utilisateur est hors-ligne   FormaBois 

  • ceinture noire 2em dan
  • Groupe : Membres
  • Messages : 1393
  • Inscrit(e) : 18-mai 06

Posté 20 septembre 2011 - 12:05

Bonjour,
je reviens sur ce post pour vous soumettre une macro que j'avais enregistré il y a pas mal de temps.
Elle est censé s'accrocher perpendiculairement à une oblique, le problème c'est qu'elle ne fonctionne pas correctement.
Si l'un de vous revient sur ce post et connait un peu la syntaxe !?
^C^C_.ucs;_entity;\_.snapang;\_.orthomode;1;_.line;\\;_.orthomode;0;_.snapang;0;_.ucs;_previous;^Z

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"
0

#18 L'utilisateur est hors-ligne   bonuscad 

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

Posté 20 septembre 2011 - 15:04

Bonjour,

Pour une LT, je viens d'essayer de transcrire en Diesel le même fonctionnement de ELP en lisp.
Si ça se limite à des segments droit de Lignes ou LwPolylignes (sauf les cercles), on obtient un résultat identique.
^C^C_.ucs;_world;_.id;_near;\_.ucs;_entity;$M=$(getvar,LASTPOINT);_.snapang;;_.orthomode;1;_.line;*$M=$(getvar,LASTPOINT);_none;\;_.orthomode;0;_.snapang;0;_.ucs;_previous;_.ucs;_previous;_.line;;^Z


Quelques explications
L'usage du SCU général en début de macro se justifie par l'usage de * devant les coordonnées retourné par LASTPOINT(se symbole force les coordonnées dans le système général quelque soit le système en cours utilisé).
Cette astuce permet à la macro de fonctionner quelque soit le SCU.

Est ce le style de fonctionnement que tu attendais?
Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
0

Partager ce sujet :


Page 1 sur 1
  • 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)