Communauté
AutoCAD – tous produits - Français
Bienvenue sur les forums AutoCAD d’Autodesk. Partagez vos connaissances, posez des questions, et explorez les sujets AutoCAD populaires.
annuler
Affichage des résultats de 
Afficher  uniquement  | Rechercher plutôt 
Vouliez-vous dire : 

copier par rapport au dernier objet créé

9 RÉPONSES 9
Répondre
Message 1 sur 10
BruLemi
306 Visites, 9 Réponses

copier par rapport au dernier objet créé

Bonjour,
Est-il possible de faire ceci facilement:
exemple:
-je fait une ligne verticale (no.1).
-commande copier, selctionne la ligne no.1.
-mode ortho, vers la gauche et tappe au clavier 100.
-(ligne no.2 créée)
Cette ligne (no.2) serait alors sélectionnée et tout ce que j'aurais à faire c'est entrer la distance pour avoir la ligne no.3 à une distance par rapport à la ligne no. 2 et ainsi de suite pour la ligne no.4 par rapport à la ligne no.3...
Pour résumer, j'aimerais entrer la commande copier une seule fois puis ensuite entrer que des distances mais pas par rapports à la première sélection mais toujours par rapports au dernier objet créé....
J'espère avoir été clair... 8¬)
Bruno
Bruno Lemieux
Tech. Concepteur, Mécanique Industrielle
Services d’ingénierie – Canada
SNC-Lavalin inc.
9 RÉPONSES 9
Message 2 sur 10
Anonymous
en réponse à: BruLemi

Salut,

pourquoi n'utilises-tu pas la commande réseaux?

Laurent.
Message 3 sur 10
Anonymous
en réponse à: BruLemi

Zut, les distances ne sont pas fixes.

Autant pour moi!!!!
Message 4 sur 10
BruLemi
en réponse à: BruLemi

je veux tapper des distances différentes.
Bruno Lemieux
Tech. Concepteur, Mécanique Industrielle
Services d’ingénierie – Canada
SNC-Lavalin inc.
Message 5 sur 10
Anonymous
en réponse à: BruLemi

Bonjour

Si vous utilisez AutoCAD LT il faudra créer une macro. Voici un exemple :

^C^C_copy;\;@;\_copy;d;;@;\_copy;d;;@;\_copy;d;;@;\_copy;d;;@;\_copy;d;;@;\_
copy;d;;@;\_copy;d;;@;\_copy;d;;@;\_copy;d;;@;\

Cette macro est limitée à 10 actions de copie. Pour en ajouter d'autres,
ajoutez à la fin de la macro autant de : _copy;d;;@;\
Pour arrêter la macro en cours tapez sur la touche "Echap".

Si vous utilisez AutoCAD complet, voici un petit programme en AutoLisp

;;; Les Cahiers d'AutoCAD N°41
;;; www.lcautocad.com

; ==========================================================================
; copie multiple d'un objet avec distances
différentes
; ==========================================================================

(defun c:Copie_DF ( / Obj_Copie Flag_Copie)

(setvar "cmdecho" 0)

(setq Obj_Copie (entsel "Selectionnez l'objet à copier : "))
(setvar "lastpoint" (cadr Obj_Copie))

(setq Flag_Clic T)

(princ "\rDéfinir une direction et Entrez une distance. >ECHAP pour
arrêter la copie< : ")
(command "_Copy" Obj_Copie "" "@" pause)


(while Flag_Clic

(princ "\rDéfinir une direction et Entrez une distance. >ECHAP pour
arrêter la copie< : ")
(command "_copy" "_last" "" "@" pause)


)

(princ)

)

(princ "\nCopie multiple d'un objet avec des distances différentes.")
(princ "\n www.lcautocad.com")
(princ "\n==> Tapez Copie_DF pour exécuter la commande.")
(princ)

Cordialement
Dominique VAQUAND

============================
Les Cahiers d'AutoCAD
La revue technique pour AutoCAD
============================
www.lcautocad.com
============================

a écrit dans le message de news:
5818138@discussion.autodesk.com...
Bonjour,
Est-il possible de faire ceci facilement:
exemple:
-je fait une ligne verticale (no.1).
-commande copier, selctionne la ligne no.1.
-mode ortho, vers la gauche et tappe au clavier 100.
-(ligne no.2 créée)
Cette ligne (no.2) serait alors sélectionnée et tout ce que j'aurais à
faire c'est entrer la distance pour avoir la ligne no.3 à une distance par
rapport à la ligne no. 2 et ainsi de suite pour la ligne no.4 par rapport à
la ligne no.3...
Pour résumer, j'aimerais entrer la commande copier une seule fois puis
ensuite entrer que des distances mais pas par rapports à la première
sélection mais toujours par rapports au dernier objet créé....
J'espère avoir été clair... 8¬)
Bruno
Message 6 sur 10
Anonymous
en réponse à: BruLemi

Bonjour,
Merci infiniment Dominique
j'a rencontré le même cas que Bruno et ta réponse me rend vraiment service
Cordialement

cng
____________

"Les Cahiers d'AutoCAD" a écrit dans le message de
news: 5819275@discussion.autodesk.com...
Bonjour

Si vous utilisez AutoCAD LT il faudra créer une macro. Voici un exemple :

^C^C_copy;\;@;\_copy;d;;@;\_copy;d;;@;\_copy;d;;@;\_copy;d;;@;\_copy;d;;@;\_
copy;d;;@;\_copy;d;;@;\_copy;d;;@;\_copy;d;;@;\

Cette macro est limitée à 10 actions de copie. Pour en ajouter d'autres,
ajoutez à la fin de la macro autant de : _copy;d;;@;\
Pour arrêter la macro en cours tapez sur la touche "Echap".

Si vous utilisez AutoCAD complet, voici un petit programme en AutoLisp

;;; Les Cahiers d'AutoCAD N°41
;;; www.lcautocad.com

; ==========================================================================
; copie multiple d'un objet avec distances
différentes
; ==========================================================================

(defun c:Copie_DF ( / Obj_Copie Flag_Copie)

(setvar "cmdecho" 0)

(setq Obj_Copie (entsel "Selectionnez l'objet à copier : "))
(setvar "lastpoint" (cadr Obj_Copie))

(setq Flag_Clic T)

(princ "\rDéfinir une direction et Entrez une distance. >ECHAP pour
arrêter la copie< : ")
(command "_Copy" Obj_Copie "" "@" pause)


(while Flag_Clic

(princ "\rDéfinir une direction et Entrez une distance. >ECHAP pour
arrêter la copie< : ")
(command "_copy" "_last" "" "@" pause)


)

(princ)

)

(princ "\nCopie multiple d'un objet avec des distances différentes.")
(princ "\n www.lcautocad.com")
(princ "\n==> Tapez Copie_DF pour exécuter la commande.")
(princ)

Cordialement
Dominique VAQUAND

============================
Les Cahiers d'AutoCAD
La revue technique pour AutoCAD
============================
www.lcautocad.com
============================

a écrit dans le message de news:
5818138@discussion.autodesk.com...
Bonjour,
Est-il possible de faire ceci facilement:
exemple:
-je fait une ligne verticale (no.1).
-commande copier, selctionne la ligne no.1.
-mode ortho, vers la gauche et tappe au clavier 100.
-(ligne no.2 créée)
Cette ligne (no.2) serait alors sélectionnée et tout ce que j'aurais à
faire c'est entrer la distance pour avoir la ligne no.3 à une distance par
rapport à la ligne no. 2 et ainsi de suite pour la ligne no.4 par rapport à
la ligne no.3...
Pour résumer, j'aimerais entrer la commande copier une seule fois puis
ensuite entrer que des distances mais pas par rapports à la première
sélection mais toujours par rapports au dernier objet créé....
J'espère avoir été clair... 8¬)
Bruno
Message 7 sur 10
Anonymous
en réponse à: BruLemi

Bonjour,

Merci beaucoup pour ce petit lisp qui vient de s'ajouter à ma bibliothèque. Très pratique, un outils qui va me servir à l'occasion.

Philippe
Message 8 sur 10
BruLemi
en réponse à: BruLemi

Je te remercie infiniment Dominique!!! Ca va très bien!!
Bruno
Bruno Lemieux
Tech. Concepteur, Mécanique Industrielle
Services d’ingénierie – Canada
SNC-Lavalin inc.
Message 9 sur 10
Anonymous
en réponse à: BruLemi

Salut
http://www.cadxp.com/sujetXForum-12190.htm

Sub CopyContinu()
Dim ObjEntite As AcadEntity
Dim ObjCopy As AcadEntity
Dim Varpoint As Variant
Dim Dist As Variant
Dim PtCopie As Variant
Dim ObjSelection As AcadSelectionSet
Dim StrNomSelection As String

StrNomSelection = "MaSelection"

On Error Resume Next

Set ObjSelection = ThisDrawing.SelectionSets(StrNomSelection)
If Err <> 0 Then
Err.Clear
Else
ObjSelection.Delete
End If
Set ObjSelection = ThisDrawing.SelectionSets.Add(StrNomSelection)

ObjSelection.SelectOnScreen
If ObjSelection.Count = 0 Then
Exit Sub
Else
ReDim Matrice(ObjSelection.Count - 1)
For IntI = 0 To ObjSelection.Count - 1
Set Matrice(IntI) = ObjSelection(IntI)
Next
End If
ObjSelection.AddItems (Matrice)
With ThisDrawing.Utility
PtCopie = .GetPoint(, vbCr & "Point de copie")
PtCopieSCU = .TranslateCoordinates(PtCopie, acWorld, acUCS, False)
Dist = .GetPoint(PtCopieSCU, vbCr & "Distance ?")
DistSCU = .TranslateCoordinates(Dist, acWorld, acUCS, False)
For I = 0 To ObjSelection.Count - 1
Set ObjCopy = ObjSelection.Item(I).Copy()
ObjCopy.Move PtCopie, Dist
Next I
Do
Dist = .GetPoint(DistSCU, vbCr & "Distance ?")
DistSCU = .TranslateCoordinates(Dist, acWorld, acUCS, False)
For Y = 0 To ObjSelection.Count - 1
Set ObjCopy = ObjSelection.Item(Y).Copy()
ObjCopy.Move PtCopie, Dist
Next Y
If Err.Description = "Argument pSelSet incorrect dans AddItems" Then
Err.Clear
End If
Loop Until Err.Number <> 0
End With

End Sub
Message 10 sur 10
Anonymous
en réponse à: BruLemi

Bonsoir à toutes et tous,

Bravo à tous, pratique ces p'tites routines tout d'même,..

"Machin" a écrit dans le message de news:5819809@discussion.autodesk.com...
Salut
http://www.cadxp.com/sujetXForum-12190.htm

Sub CopyContinu()
Dim ObjEntite As AcadEntity
Dim ObjCopy As AcadEntity
Dim Varpoint As Variant
Dim Dist As Variant
Dim PtCopie As Variant
Dim ObjSelection As AcadSelectionSet
Dim StrNomSelection As String

StrNomSelection = "MaSelection"

On Error Resume Next

Set ObjSelection = ThisDrawing.SelectionSets(StrNomSelection)
If Err <> 0 Then
Err.Clear
Else
ObjSelection.Delete
End If
Set ObjSelection = ThisDrawing.SelectionSets.Add(StrNomSelection)

ObjSelection.SelectOnScreen
If ObjSelection.Count = 0 Then
Exit Sub
Else
ReDim Matrice(ObjSelection.Count - 1)
For IntI = 0 To ObjSelection.Count - 1
Set Matrice(IntI) = ObjSelection(IntI)
Next
End If
ObjSelection.AddItems (Matrice)
With ThisDrawing.Utility
PtCopie = .GetPoint(, vbCr & "Point de copie")
PtCopieSCU = .TranslateCoordinates(PtCopie, acWorld, acUCS, False)
Dist = .GetPoint(PtCopieSCU, vbCr & "Distance ?")
DistSCU = .TranslateCoordinates(Dist, acWorld, acUCS, False)
For I = 0 To ObjSelection.Count - 1
Set ObjCopy = ObjSelection.Item(I).Copy()
ObjCopy.Move PtCopie, Dist
Next I
Do
Dist = .GetPoint(DistSCU, vbCr & "Distance ?")
DistSCU = .TranslateCoordinates(Dist, acWorld, acUCS, False)
For Y = 0 To ObjSelection.Count - 1
Set ObjCopy = ObjSelection.Item(Y).Copy()
ObjCopy.Move PtCopie, Dist
Next Y
If Err.Description = "Argument pSelSet incorrect dans AddItems" Then
Err.Clear
End If
Loop Until Err.Number <> 0
End With

End Sub

Vous n'avez pas trouvé ce que vous recherchiez ? Posez une question à la communauté ou partagez vos connaissances.

Publier dans les forums  

Autodesk Design & Make Report