Aller au contenu

Copier un objet le long d\'une polyligne


inkel

Messages recommandés

De tête, je dirais :

 

- si tu veux un nombre de bloc précis le long de ta polyligne : Dessin > Point > Diviser

- si tu veux un espacement précis entre 2 blocs : Dessin > Point > Mesurer

 

EDIT : diviser avec des lignes directement, je ne pense pas que ce soit faisable...

 

[Edité le 30/3/2006 par LUDWIG]

Autocad 2021 - Revit 2022 - Windows 10

Lien vers le commentaire
Partager sur d’autres sites

bah si :

avec des lignes c'est possible, mais en se créant un bloc qui contient une ligne (ou n'importe quoi), avec comme point d'insertion ce que tu veux une extrémité par exemple. une fois les blocs "lignes" répartis le long de ta polyligne avec "diviser" ou "mesurer", tu les décomposent tu obtiens tes lignes.

Formateur Autocad - Revit - Sketchup - Photoshop

Lien vers le commentaire
Partager sur d’autres sites

La solution de Pieroka, mais automatisé

 

(defun c:copyalign ( / js pt ent cod dlt ename)
(setvar "cmdecho" 0)
(prompt "\nChoix des objets devant être répétés ")
(setq js (ssget))
(cond 
	(js
		(setvar "blipmode" 0)
		(setvar "osmode" (+ 16384 (rem (getvar "osmode") 16384)))
		(initget 9)
		(setq pt (getpoint "\nPoint d'insertion des objets sélectionnés: "))
		(if (not (tblsearch "BLOCK" "cpalg$"))
			(command "_.-block" "cpalg$" pt js "")
			(command "_.-block" "cpalg$" "_yes" pt js "")
		)
		(command "_oops")
		(prompt "\nChoix de l'objet reprèsentant le parcours de copie")
		(while (null (setq ent (car (entsel)))))
		(initget "Mesurer Diviser _Measure Divide")
		(setq cod (getkword "\n[Mesurer/Diviser] : "))
		(if (not cod) (setq cod "Measure"))
		(cond
			((eq cod "Measure")
				(initget 7)
				(setq dlt (getdist "\nInterdistance de répétition: "))
				(command "_.measure" ent "_block" "cpalg$" "_yes" dlt)
			)
			((eq cod "Divide")
				(initget 7)
				(setq dlt (getint "\Nombre de division: "))
				(command "_.divide" ent "_block" "cpalg$" "_yes" dlt)
			)
			(T nil)
		)
		(command "_.undo" "_begin")
		(setq js (ssget "X" '((0 . "INSERT") (2 . "cpalg$"))))
		(while (setq ename (ssname js 0))
			(command "_explode" ename)
			(setq js (ssdel ename js))
		)
		(command "_.-purge" "_block" "cpalg$" "_no")
		(command "_.undo" "_end")
	)
)
(princ)
)

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

  • 16 ans après...

Juste pour dire merci pour la routine. 

La codification avec Covadis qui créée des lignes avec symbole pour les clôtures par exemple est assez embêtante. Pas de copier coller possible entre polyligne. Avec cette routine, c'est nickel !

Autodesk - 24.0.30.17 - Autodesk AutoCAD Map 3D 2021.0.1

Géomedia - Version 17.1h - Covadis

Microsoft - 21H2 -  Windows 10 64 bits

Leica - Version - LEICA TS13 + CS20

Lien vers le commentaire
Partager sur d’autres sites

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é