CADxp: jonction de deux droites perpendiculaire - CADxp

Aller au contenu

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

jonction de deux droites perpendiculaire

#1 L'utilisateur est hors-ligne   grandss 

  • ceinture noire
  • Groupe : Membres
  • Messages : 397
  • Inscrit(e) : 09-juillet 07
  • LocationLuxembourg

Posté 06 février 2008 - 08:17

salut

j'ai lu je ne sais plus ou (ici peut-etre mais je n'ai pas retrouvé le post) qu'il etait possible de joindre deux lignes perpendiculaire en evitant de faire :

etirer une ligne plus loin que le point de l'intersection
etirer l'autre ligne sur la premiere
ajuster la premiere ligne

merci
0

#2 L'utilisateur est hors-ligne   bonuscad 

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

Posté 06 février 2008 - 14:09

Salut,

Il y a plusieurs méthodes:

Commande RACCORD avec un rayon a 0.0
Avec les grips et l'accroche-objet mis à intersection projetée.

Et peut être d'autres qui ne me sont pas venue à l'esprit.
Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
0

#3 L'utilisateur est hors-ligne   grandss 

  • ceinture noire
  • Groupe : Membres
  • Messages : 397
  • Inscrit(e) : 09-juillet 07
  • LocationLuxembourg

Posté 06 février 2008 - 14:30

je crois que c'etait la commande raccord que je cherchais

merci
0

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

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

Posté 06 février 2008 - 20:06

Salut,

Je pense que ça fonctionne avec 2006 : commande RACCORD avec la touche MAJ (SHIFT) enfoncée fait un raccord de rayon 0.0
Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
Image IPB
0

#5 L'utilisateur est hors-ligne   lesourd2 

  • ceinture noire 1er dan
  • Groupe : Membres
  • Messages : 534
  • Inscrit(e) : 23-mai 07

Posté 06 février 2008 - 20:53

Salut grandss

Essaies ceci si ça te convient

Permet de faire des perpendiculaires par rapport d'un point ou une ligne selectionnee.
(defun c:perp (/ erreur ent dep ang loop per gr pe str)

 (defun erreur (msg)

(if (= msg "Fonction annulée")

(princ "\n*Annuler*")

(princ (strcat "\nErreur: " msg))

)

(and per (entdel per))

(setq *error* m:err

m:err nil

)

)


(setq m:err *error*

*error* erreur

)

(if (and

(setq ent (car (entsel "\nSélectionnez la ligne: ")))

(= (cdr (assoc 0 (entget ent))) "LINE")

(setq dep (getpoint "\nPoint de départ de la perpendiculaire :"))

)

(progn

(entmake (list '(0 . "LINE")

(cons 10 (trans dep 1 0))

(cons 11 (trans dep 1 0))

)

)

(setq per (entlast)

ang (angle (cdr (assoc 10 (entget ent)))

(cdr (assoc 11 (entget ent)))

)

loop T


)

(princ "\nSpécifiez la longueur: ")

(while (and (setq gr (grread T 12 0)) (/= (car gr) 3) loop)

(cond

((= (car gr) 5)

(setq

pe (polar

dep

(if (minusp (sin (- (angle dep (cadr gr)) ang)))

(- ang (/ pi 2))

(+ ang (/ pi 2))

)

(distance dep (cadr gr))

)

)

(entmod

(subst (cons 11 (trans pe 1 0))

(assoc 11 (entget per))

(entget per)

)

)

(grtext -1 (rtos (distance dep (cadr gr))))

)

((member (cadr gr) '(13 32))

(if (and str (numberp (read str)))

(progn

(entmod

(subst

(cons

11

(trans (polar dep (angle dep pe) (distof str)) 1 0)

)

(assoc 11 (entget per))

(entget per)

)

)

(setq loop nil)

)

(progn

(princ

"\nNécessite un nombre valide ou une saisie au pointeur.

\nSpécifiez la longueur: "

)

(setq str "")

)

)

)

(T

(if (= (cadr gr) 8)

(or

(and str

(/= str "")

(setq str (substr str 1 (1- (strlen str))))

(princ (chr 8))

(princ (chr 32))

)

(setq str nil)

)

(or

(and str (setq str (strcat str (chr (cadr gr)))))

(setq str (chr (cadr gr)))

)

)

(and str (princ (chr (cadr gr))))

)

)

)

)

)

(setq *error* m:err

m:err nil

)

(princ)

) 


Merci à son auteur (trouvé sur le site).

@+
0

#6 L'utilisateur est hors-ligne   lesourd2 

  • ceinture noire 1er dan
  • Groupe : Membres
  • Messages : 534
  • Inscrit(e) : 23-mai 07

Posté 06 février 2008 - 20:58

Salut grandss

Essaies ceci si ça te convient

 Permet de faire des perpendiculaires par rapport d'un point ou une ligne selectionnee.

(defun c:perp (/ erreur ent dep ang loop per gr pe str)


 [code] (defun erreur (msg)

(if (= msg "Fonction annulée")

(princ "\n*Annuler*")

(princ (strcat "\nErreur: " msg))

)

(and per (entdel per))

(setq *error* m:err

m:err nil

)

)


(setq m:err *error*

*error* erreur

)

(if (and

(setq ent (car (entsel "\nSélectionnez la ligne: ")))

(= (cdr (assoc 0 (entget ent))) "LINE")

(setq dep (getpoint "\nPoint de départ de la perpendiculaire :"))

)

(progn

(entmake (list '(0 . "LINE")

(cons 10 (trans dep 1 0))

(cons 11 (trans dep 1 0))

)

)

(setq per (entlast)

ang (angle (cdr (assoc 10 (entget ent)))

(cdr (assoc 11 (entget ent)))

)

loop T


)

(princ "\nSpécifiez la longueur: ")

(while (and (setq gr (grread T 12 0)) (/= (car gr) 3) loop)

(cond

((= (car gr) 5)

(setq

pe (polar

dep

(if (minusp (sin (- (angle dep (cadr gr)) ang)))

(- ang (/ pi 2))

(+ ang (/ pi 2))

)

(distance dep (cadr gr))

)

)

(entmod

(subst (cons 11 (trans pe 1 0))

(assoc 11 (entget per))

(entget per)

)

)

(grtext -1 (rtos (distance dep (cadr gr))))

)

((member (cadr gr) '(13 32))

(if (and str (numberp (read str)))

(progn

(entmod

(subst

(cons

11

(trans (polar dep (angle dep pe) (distof str)) 1 0)

)

(assoc 11 (entget per))

(entget per)

)

)

(setq loop nil)

)

(progn

(princ

"\nNécessite un nombre valide ou une saisie au pointeur.

\nSpécifiez la longueur: "

)

(setq str "")

)

)

)

(T

(if (= (cadr gr) 8)

(or

(and str

(/= str "")

(setq str (substr str 1 (1- (strlen str))))

(princ (chr 8))

(princ (chr 32))

)

(setq str nil)

)

(or

(and str (setq str (strcat str (chr (cadr gr)))))

(setq str (chr (cadr gr)))

)

)

(and str (princ (chr (cadr gr))))

)

)

)

)

)

(setq *error* m:err

m:err nil

)

(princ)

) [/code]

Merci à son auteur (trouvé sur le site).

@+
0

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

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

Posté 06 février 2008 - 22:46

salut lesourd2,

Deux fois collé, une fois trop court, une fois trop long...

Dans ton premier message, il maque la première ligne de code, dans le second, la première ligne n'est ni du code ni un commentaire (précédé d'un point virgule)
Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
Image IPB
0

#8 L'utilisateur est hors-ligne   grandss 

  • ceinture noire
  • Groupe : Membres
  • Messages : 397
  • Inscrit(e) : 09-juillet 07
  • LocationLuxembourg

Posté 07 février 2008 - 07:27

Citation

Salut,

Je pense que ça fonctionne avec 2006 : commande RACCORD avec la touche MAJ (SHIFT) enfoncée fait un raccord de rayon 0.0


voila ce que j'avais oublié.

Merci
0

#9 L'utilisateur est hors-ligne   lesourd2 

  • ceinture noire 1er dan
  • Groupe : Membres
  • Messages : 534
  • Inscrit(e) : 23-mai 07

Posté 07 février 2008 - 07:29

Salut

Permet de faire des perpendiculaires par rapport d'un point ou une ligne selectionnee.

 (defun c:perp (/ erreur ent dep ang loop per gr pe str)


(defun erreur (msg)

(if (= msg "Fonction annulée")

(princ "\n*Annuler*")

(princ (strcat "\nErreur: " msg))

)

(and per (entdel per))

(setq *error* m:err

m:err nil

)

)


(setq m:err *error*

*error* erreur

)

(if (and

(setq ent (car (entsel "\nSélectionnez la ligne: ")))

(= (cdr (assoc 0 (entget ent))) "LINE")

(setq dep (getpoint "\nPoint de départ de la perpendiculaire :"))

)

(progn

(entmake (list '(0 . "LINE")

(cons 10 (trans dep 1 0))

(cons 11 (trans dep 1 0))

)

)

(setq per (entlast)

ang (angle (cdr (assoc 10 (entget ent)))

(cdr (assoc 11 (entget ent)))

)

loop T


)

(princ "\nSpécifiez la longueur: ")

(while (and (setq gr (grread T 12 0)) (/= (car gr) 3) loop)

(cond

((= (car gr) 5)

(setq

pe (polar

dep

(if (minusp (sin (- (angle dep (cadr gr)) ang)))

(- ang (/ pi 2))

(+ ang (/ pi 2))

)

(distance dep (cadr gr))

)

)

(entmod

(subst (cons 11 (trans pe 1 0))

(assoc 11 (entget per))

(entget per)

)

)

(grtext -1 (rtos (distance dep (cadr gr))))

)

((member (cadr gr) '(13 32))

(if (and str (numberp (read str)))

(progn

(entmod

(subst

(cons

11

(trans (polar dep (angle dep pe) (distof str)) 1 0)

)

(assoc 11 (entget per))

(entget per)

)

)

(setq loop nil)

)

(progn

(princ

"\nNécessite un nombre valide ou une saisie au pointeur.

\nSpécifiez la longueur: "

)

(setq str "")

)

)

)

(T

(if (= (cadr gr) 8)

(or

(and str

(/= str "")

(setq str (substr str 1 (1- (strlen str))))

(princ (chr 8))

(princ (chr 32))

)

(setq str nil)

)

(or

(and str (setq str (strcat str (chr (cadr gr)))))

(setq str (chr (cadr gr)))

)

)

(and str (princ (chr (cadr gr))))

)

)

)

)

)

(setq *error* m:err

m:err nil

)

(princ)

) 


Voila la "bonne version"!

Merci gile

@+
0

#10 L'utilisateur est hors-ligne   val35 

  • ceinture blanche
  • Groupe : Membres
  • Messages : 1
  • Inscrit(e) : 14-mai 19

Posté 14 mai 2019 - 17:04

Bonjour,

je suis novice comme vous le comprendrez au travers de ma question comment utilise t on ces lignes de commande?
j'ai essayé de les coller dans ma fenêtre de commande mais sans résultat, je suppose donc que je ne sais pas les utiliser correctement.

quelqu'un pourrait il m'expliquer comment faire dans un langage de personne débutante

merci pour votre aide
bonne soirée
val
0

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

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

Posté 14 mai 2019 - 17:19

@val35

Salut et bienvenue.

Il s'agit d'un code AutoLISP. Pour le charger et l'exécuter voir ce sujet.
Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
Image IPB
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)