Aller au contenu

Problème gisement + Abscisse sur une droite


Messages recommandés

Posté(e)

En gros comme montré sur le schéma joint la commande me le fait mais je souhaiterai ne pas voir apparaître les éléments en jaune et faire comme la figure de droite

post-41726-0-73352400-1378139934_thumb.jpg

  • Réponses 103
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans ce sujet

Meilleurs contributeurs dans ce sujet

Images postées

Posté(e)

Bonjour Olivier et merci pour ta réponse, j'ai ressayer la commande j'ai essayer avec l'option ajuster mais rien n'y fait je n'arrive même pas manuellement à ajuster la poly réseau aux deux antennes :unsure:

Posté(e)

j'ai ressayer et voici ce que ça me fait voir schéma ci-joint

 

 

ma polyligne réseau disparaît, je souhaiterai que la poly reste et que les raccords se fassent de chaque côtés des antennes.

post-41726-0-19269300-1378211905_thumb.jpg

Posté(e)

Merci Olivier mais j'ai déjà essayé même manuellement je n'arrive pas alors peut être que je suis ocmpletement à côté de la plaque que je ne sais pas me servir de la commande mais en tout cas je n'y arrive pas . Mon programme actuel est celui ci. Je ne sais pas à quel moment le coller le code de Didier.

ECL2.lsp

Posté(e)

Bonjour,

 

Tu ne peux créer un raccord entre 1 polyligne et 2 segments d'une autre polyligne.

Il faut que tu commences par couper ta polyligne au milieu du raccord, puis quand tu auras 2 morceaux, tu pourra ajuster chacun d'eux sur ton V

 

Olivier

Posté(e)

Escusez moi il y a eu un beug je recommence mon message :

 

j'essaie d'utiliser la commande _break (coupure) avant de faire mon raccord

 

(command "_break" polyReseau "1er" PT2 PT3)

 

Les points PT2 et PT3 correspondent aux liaisons avec le réseau (voir schéma ci-joint). Le problème c'est que la commande ne reconnait pas les deux points, comment puis-je faire pour dire à la commande c'est à l'endroit de ces deux points que je désire couper la polyline.

 

Merci à vous.

post-41726-0-21854800-1378296789_thumb.jpg

Posté(e)

Bonjour Mogo,

Encore une fois, si tu applique la combine de Didier sur la polyligne obtenu par le programme de Didier (Si j'ai bien compris, c'est celle en rouge sur l'image de ta réponse 3) cela fonctionne parfaitement.

Olivier

Posté(e)

Bonjour Olivier ,

 

applique la combine de Didier
(setvar "filletrad" 1.2)

(command "_fillet" "p" "_l") cette combine là d'accord

 

polyligne obtenu par le programme de Didier

mon programme actuel est celui ci-joint "ECL2"

 

Je ne comprends pas à quel endroit la placer.

ECL2.lsp

Posté(e)

Voilà j'ai trouvé ce code sur un forum anglais :

 

 

 

;BREAKINT.LSP
;breaks line at an intersection
;
; Reviewed & revised for A2K by Guy Dow
; 03/05/01
;
(defun c:bi ( / ss point snap echo olderr)
 (setq snap (getvar "osmode"))
 (setq echo (getvar "cmdecho"))
 (setq olderr *error*)
 (setq *error* break_error)
 (setvar "cmdecho" 0)
 (while (not ss)
   (setq ss (entsel "\nSelect line to break: "))
 );while
 (setvar "osmode" 32)
 (while (not point)
   (setq point
   (osnap (getpoint "\nSelect intersection to break at: ") "int"))
 );while
 (setvar "osmode" snap)
 (command "break" ss "f" point "@")
 (setvar "cmdecho" echo)
 (setq *error* olderr)
 (princ)
)

(defun break_error (msg)
 (princ (strcat "\nError: " msg))
 (setvar "osmode" 0)
 (setvar "cmdecho" 1)
 (princ)
)



 

 

 

 

Et je comprends que la commande coupure demande un entsel (dans mon cas pour ma polyline réseau) et des "getpoint" pour obtenir les points de coupures.

Seulement, dans mon programme la poly réseau est déjà mémorisé en variable ainsi que les points ou je désire coupé (PT2 PT3) comment faire pour faire fonctionner cette commande sans utiliser getpoint et entsel ?

 

Merci

Posté(e)

Bonjour,

 

la seule fonction dont tu a besoin est celle-ci :

 

(command "break" ss point point2 "@")

 

ss est le entname de la polyligne et point et point2 les points de coupure.

 

 

@+

C'est en forgeant que l'on devient forgerons.

Et c'est en sciant que Léonard DeVinci!

Posté(e)

C'est bon la commande fonctionne mais alors maintenant c'est une nouvelle erreur et pour vous expliquez je ne sais comment ...

 

 

; erreur: groupe DXF incorrect: (10)

 

Si quelqu'un aurait un peu de temps pour regarder le fichier joint "ECL2" j'ai mis des commentaires partout pour s'y retrouver mais je ne sais pas pourquoi il y a encore cette erreur...

 

le premier raccordement est bien passé mais pas les autres ... :(

ECL2.lsp

Posté(e)

Désolé la commande est :

 

(command "_break" ss point point2 "@")

 

donc dans ton cas :

 

(command "_break" ent pt3 pt4 "@")

 

mais avec tout tes point je ne vois pas l'intérêt de faire des coupures quand tu peu créer des lignes ou polylignes complètes!

 

Surtout que si je ne me trompe pas ta polyligne de base est systématiquement droite?

C'est en forgeant que l'on devient forgerons.

Et c'est en sciant que Léonard DeVinci!

Posté(e)

non alala maintenant je le fais avec une polyligne donc ça peut être une courbe c'est pour ça que je trace pas directement des lignes ou arcs ça serait trop long.

 

la commande fonctionne mais pas dans la boucle "while" du lisp "ECL2" :unsure:

Posté(e)

normal tu coupe ta polyligne qui te sert à faire tes fonctions.

 

Donc tu ne peu plus faire :

 

(setq PT3 (vlax-curve-getPointAtDist polyReseauVla (+ D5 (* distReseauCande 0.5))))

 

Il renvoie nil au second passage (polyReseauVla est uniquement la première polyligne).

 

test donc cette sélection en ligne de commande tu comprendra :

 

(sssetfirst nil (ssadd (vlax-vla-object->ename polyReseauVla) (setq 
test (ssadd))))

 

Donc tu va devoir travailler à reculons sur ta polyligne i tu souhaite voir fonctionner tout ça!

C'est en forgeant que l'on devient forgerons.

Et c'est en sciant que Léonard DeVinci!

Posté(e)

Comment faire alors ça fait 4 jours que je me prends le chou pour faire des raccords rayon j'en peux plus.. jsuis désolé alala c'est pas contre toi mais j'en peux plus de galérer pour ça

Posté(e)

Pour essayer de remédier à ça j'ai copié dans la boucle 2 fois la polyline réseau pour raccorder mes raccordements aux polylignes crées directement mais rien n'y a fait, voici le bout de code (et le fichier lsp en fichier joint) :

 

   (entmake (list (cons 0 "LWPOLYLINE")
	       (cons 100 "AcDbEntity")
	       (cons 100 "AcDbPolyline")
	       (cons 8 "ICI-RES-ECP")
	       (cons 90 2)
	       (cons 10 PT2)
	       (cons 10 PT)
	      
	       
	       
	 )
)
   (setq entPtPt2 (entlast))


   (entmake (list (cons 0 "LWPOLYLINE")
	       (cons 100 "AcDbEntity")
	       (cons 100 "AcDbPolyline")
	       (cons 8 "ICI-RES-ECP")
	       (cons 90 2)
	       (cons 10 PT3)
	       (cons 10 PT)
	       		       
	       
	 )
)
  (setq entPtPt3 (entlast))

   (command "_copybase" ptStart polyReseau "")
   (command "_pasteclip" ptStart "")
   (setq polyTemp1 (entlast))

   (command "_copybase" ptStart polyReseau "")
   (command "_pasteclip" ptStart "")
   (setq polyTemp2 (entlast))


   (setvar "filletrad" 0.5)
   (command "raccord" polyTemp1 entPtPt2)
   (command "raccord" polyTemp2 entPtPt3)
   
       

 

Les copies de polylignes sont bien crées mais les raccords ne sont pas fait :o

 

Amicalement

testECL.LSP

Posté(e)

Bonjour à tous

 

J'ai fait un lisp test qui est celui joint où je créer les deux antennes et trois polylines. Deux polylines sont les trois sont des copier/coller de la premier polyline.

 

Ce qui me permeterai (logiquement) de pouvoir faire les raccordements rayon de chacune de mes antennes avec les poly crées. J'ai essayé à multiples reprises de bien comprendre le fonctionnement et de comprendre pk ça ne fonctionnait pas, il en est vain

 

Si quelqu'un pourrait m'aider d'une manière ou d'une autre afin que je puisse solutionner ce problème je vous en remercie.

 

le schéma joint en #post 91 reflète la figure créée dans le lisp avec tous les points.

 

Merci par avance

 

 

 

 

 

 

 

 

#post91

raccordementRayon.lsp

Posté(e)

Deux polylines sont les trois sont des copier/coller de la premier polyline.

 

 

Deux polylines sur les trois crées sont des copier/coller de la première.

 

Dsl

Posté(e)

Bonjour,

 

Je te conseillerais d'étudier les lisp ADDVTX et ceux qui utilisent la fonction vla-addvertex (un certain nombre est trouvable sur internet).

 

Tu pourrais avec cela ne pas avoir à couper ta polyligne mais uniquement lui ajouter des sommets et ainsi travailler sur le même objet tout du long.

 

A toi de voir mais ça me semble être un choix plus logique et qui devrais apporter une vitesse d’exécution supérieure.

 

@+

C'est en forgeant que l'on devient forgerons.

Et c'est en sciant que Léonard DeVinci!

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é