Aller au contenu

Une commande \"joindre\" (_join)


nomutt

Messages recommandés

Bonjour,

 

Je n'ai jamais trouvé la commande "joindre" permettant d'unifier deux segments de ligne colinéaire ou deux arcs concentriques de rayons identiques pour ne former q'une seule entité.

 

Après l'usage de la commande "miroir" ça aiderai pour les segments commun au trait d'axe. (Je sais, on peut anticiper et utiliser "prolonger").

Après l'usage de la commande "effacer" sur deux lignes composant un refend ou une cloison, l'intersection de l'ex refend/cloison est souvent ennuyeuse à reboucher. (je sais, on efface un segment et on étire l'aute par la poignée avec éventuellement l'accrochage extension)

Après la suppression d'un perçage, la suppression d'une menuiserie, la suppression d'un symbole de schématique, y a comme un vide à remplir.

 

Je propose au moins le nom de la commande :

 

GB-US : join

Intl : _join

FR : joindre

 

PS : Si possible, un peu moins alambiqué que la commande "coupure" option "1er point" pour définir le point 1 de la coupure à la place du point de sélection de l'entité.

 

Nomutt,

Consultant, Responsable Projets CAD/PLM

'Add-ins pour Inventor + Trucs et Astuces.

Disponible pour un poste administrateur CAO/PLM.

Lien vers le commentaire
Partager sur d’autres sites

Une demande sur le forum de planetar d'un utilisateur posédant une routine qui ne fonctionnait pas sur des version supérieur à R14,était un peu similaire.

Celle-ci devait traiter les lignes.

J'avais modifier son code. Iil avait l'air sastifait , donc je pense pouvoir le transmettre ici

;;functions VectorProduct & collinear 
;;Armin Antkowiak, Berlin
;;http://www.polyface.de/general.html
;;mailto:info@polyface.de
(defun vectorProduct (v1 v2 / )
(list
	(- (* (cadr  v1) (caddr v2)) (* (caddr v1) (cadr  v2)))
	(- (* (caddr v1) (car   v2)) (* (car   v1) (caddr v2)))
	(- (* (car   v1) (cadr  v2)) (* (cadr  v1) (car   v2)))
)
)
(defun collinear (p1 p2 p3 / tol)
(setq tol 1.0e-012)
(equal
	'(0.0 0.0 0.0)
	(vectorProduct (mapcar '- p2 p1) (mapcar '- p3 p1))
	tol
)
)
(defun c:boucher ( / jsel n ent dxf_ent snd_ent dxf_snd dxf_10 dxf11 dxf_10b dxf_11b temp)
(setq jsel (ssget '((0 . "LINE"))))
(while (setq ent (ssname jsel 0))
	(ssdel ent jsel)
	(setq n 0)
	(repeat (sslength jsel)
		(setq dxf_ent (entget ent))
		(cond
			((setq snd_ent (ssname jsel n))
				(setq dxf_snd (entget snd_ent)
				      dxf_10 (cdr (assoc 10 dxf_ent))
				      dxf_11 (cdr (assoc 11 dxf_ent))
				      dxf_10b (cdr (assoc 10 dxf_snd))
				      dxf_11b (cdr (assoc 11 dxf_snd))
				)
				(cond
					((and (collinear dxf_10 dxf_11 dxf_10b) (collinear dxf_10 dxf_11 dxf_11b))
						(if (> (distance dxf_10 dxf_10b) (distance dxf_10 dxf_11b))
							(setq temp dxf_10b
							      dxf_10b dxf_11b
							      dxf_11b temp
							)
						)
						(if (< (distance dxf_10 dxf_10b) (distance dxf_11 dxf_10b))
							(setq temp dxf_10
							      dxf_10 dxf_11
							      dxf_11 temp
							)
						)
						(ssdel snd_ent jsel)
						(entdel snd_ent)
						(setq dxf_ent (subst (cons 10 dxf_10) (assoc 10 dxf_ent) dxf_ent)
						      dxf_ent (subst (cons 11 dxf_11b) (assoc 11 dxf_ent) dxf_ent)
						)
						(entmod dxf_ent)
					)
				)
			)
		)
		(setq n (1+ n))
	)
)
(princ)
)

 

Désolé pour les LT :(

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Lien vers le commentaire
Partager sur d’autres sites

Je n'ai jamais trouvé la commande "joindre" permettant d'unifier deux segments de ligne colinéaire ou deux arcs concentriques de rayons identiques pour ne former q'une seule entité.

La commande RACCORD peut-être !? (rayon =0 autorisé)

Avec un PEDIT pour transformer le tout en polyligne ?!

Il est possible de faire un raccord entre 2 lignes parallèles !

 

Lien vers le commentaire
Partager sur d’autres sites

  • 6 mois aprè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 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é