CADxp: Couper polyligne avec OD à chaque sommet - CADxp

Aller au contenu

  • 2 Pages +
  • 1
  • 2
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

Couper polyligne avec OD à chaque sommet

#21 L'utilisateur est hors-ligne   Hyppolight 

  • Advanced Member
  • PipPipPip
  • Groupe : Membres
  • Messages : 33
  • Inscrit(e) : 12-janvier 15

Posté 25 juillet 2019 - 08:32

Salut,

D'après une lecture rapide, il faut tester si la commande "break_with" conserve les données d'objets, sinon il faut la modifier vu qu'elle est appeler dans toutes les autres sous-programmes...

Bon courage et bonne journée!! ;)


 AzRoDoRzA, le 25 juillet 2019 - 08:16 , dit :

Hello,

Je vais tester tout ça merci!

Bye!

0

#22 L'utilisateur est hors-ligne   lecrabe 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 8544
  • Inscrit(e) : 10-décembre 03
  • LocationLoire (42)

Posté 28 juillet 2019 - 09:06

Hello

SVP tu nous tiens au courant...

Bye, lecrabe "triste"
Autodesk Expert Elite Team
0

#23 L'utilisateur est hors-ligne   AzRoDoRzA 

  • Advanced Member
  • PipPipPip
  • Groupe : Membres
  • Messages : 37
  • Inscrit(e) : 16-juillet 19

Posté 29 juillet 2019 - 07:33

Hello,

Alors j'ai testé la commande break_with, elle coupe bien la polyligne mais ne garde les OD que sur une des 2 parties coupées.. J'ai essayé de modifier un peu le code mais je ne le comprend pas trop :/

Voila pour le retour!
0

#24 L'utilisateur est hors-ligne   AzRoDoRzA 

  • Advanced Member
  • PipPipPip
  • Groupe : Membres
  • Messages : 37
  • Inscrit(e) : 16-juillet 19

Posté 29 juillet 2019 - 14:31

J'ai trouvé la solution à mon problème, c'était tout bête, du coup voici mon programme compacté au max:
(vl-load-com)
(defun c:cuttingpoly( / pt)
	(setq pt 
		(vlax-safearray->list 
			(vlax-variant-value 	
				(vla-IntersectWith 
					(vlax-ename->vla-object 
						(ssname(ssget) 0) ;A adapter comme vous le souhaitez
					)
					(vlax-ename->vla-object 
						(ssname(ssget) 0) ;A adapter comme vous le souhaitez
					)
				0)
			)
		)
	)
	(command "_break" "_none" ent "_none" pt "_none" "@")
	(COPY_DATA ent (entlast) T)  ;Fonction COPY_DATA de Hyppolight
)

On choisis la polyligne à couper, puis la polyligne qui viens couper notre polyligne, et ça coupe en gardant les OD de chaque coté (Merci Hyppolight pour ta fonction COPY_DATA ;) ) Je vais essayer de l'améliorer maintenant pour détecter automatiquement les polylignes qui viennent couper la polyligne sélectionnée. Je posterais aussi mon code une fois la solution trouvée.

Bye!
0

#25 L'utilisateur est hors-ligne   Hyppolight 

  • Advanced Member
  • PipPipPip
  • Groupe : Membres
  • Messages : 33
  • Inscrit(e) : 12-janvier 15

Posté 29 juillet 2019 - 16:45

 AzRoDoRzA, le 29 juillet 2019 - 14:31 , dit :

J'ai trouvé la solution à mon problème, c'était tout bête, du coup voici mon programme compacté au max:


Cool, tant mieux, désolé, je n'avais pas trop de temps à consacrer à ce problème (vacances à la fin de la semaine et encore pas mal de choses à faire

 AzRoDoRzA, le 29 juillet 2019 - 14:31 , dit :

(Merci Hyppolight pour ta fonction COPY_DATA ;) )


Y'a pas de quoi...

Pour moi.. de visu ce sont les lignes
(command "._break" obj2break "_non" (trans brkpt 0 1) "_non" (trans p2 0 1))

de la partie (defun break_obj qu'il faut modifier pour pouvoir utiliser toutes les commandes du code fourni:
;;; Function c:BreakAll - Break all objects selected
;;; Function c:BreakwObjects - Break many objects with a single object
;;; Function c:BreakObject - Break a single object with many objects
;;; Function c:BreakWith - Break selected objects with other selected objects
;;; Function c:BreakTouching - Break objects touching the single Break object
;;; Function c:BreakSelected - Break selected objects with any objects that touch it

Bon courage pour la suite ;)
0

#26 L'utilisateur est hors-ligne   AzRoDoRzA 

  • Advanced Member
  • PipPipPip
  • Groupe : Membres
  • Messages : 37
  • Inscrit(e) : 16-juillet 19

Posté 30 juillet 2019 - 07:23

D'accord je me pencherai dessus quand j'aurai fini mes autres lisps en cours!

Bon courage pour ta semaine ;)
0

Partager ce sujet :


  • 2 Pages +
  • 1
  • 2
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

2 utilisateur(s) en train de lire ce sujet
0 membre(s), 2 invité(s), 0 utilisateur(s) anonyme(s)