g_barthe Posté(e) le 5 janvier 2007 Posté(e) le 5 janvier 2007 Bonjour, Je veux dessiner une ligne a la suite d'une autre mais en récupérant par clic au point de départ de la nouvelle ligne le calque utilisé par l'ancienne ligne. J'ai utilisé la propriété getpoint pour commencer la ligne au point voulu ca marche. Pour le calque, j'utilise le layer.value ou un truc dans le style mais cela nécessite 2 saisie successives. La fonction getpoint le retourne pas le calque même si le point est le début ou la fin de la ligne précédente. Je en peux pas me servir de endpoint ou startpoint pck je ne vois pas comment savoir si de la ou la ligne va repartir c'est le end ou le start de l'ancienne. C'est pas très clair je me doute mais c'est pas facile à expliquer. Mon code pour déterminer le diametre Public Sub determination_diametre() Dim pnt_debut As Variant Dim pnt_axe As Variant Dim pnt_fin As Variant pnt_debut = ThisDrawing.Utility.GetPoint(, "Point d'extrémité de la ligne extérieure ? ") pnt_axe = ThisDrawing.Utility.GetPoint(, "Point d'extrémité de l'axe ? ") pnt_fin = ThisDrawing.Utility.GetPoint(, "Point d'extrémité de la ligne inférieure ? ") End Sub celui qui dessine la gaine si on chois "ga" Public Sub continuation(diametre_circ, reseau) Dim saisie As String 'determination_diametre Dim pnt_debut As Variant Dim pnt_axe As Variant Dim pnt_fin As Variant ZoomAll ThisDrawing.Utility.Prompt "Pour continuer : COude, TE, GAine, BOuchon, TRansfo, SOrtir => " saisie = ThisDrawing.Utility.GetString(False, "Choix ?") Select Case saisie Case "so" Case "ga" gaine_circ diametre_circ, reseau Case "bo" pnt_debut = ThisDrawing.Utility.GetPoint(, "Point d'extrémité de la ligne extérieure ? ") pnt_axe = ThisDrawing.Utility.GetPoint(, "Point d'extrémité de l'axe ? ") pnt_fin = ThisDrawing.Utility.GetPoint(, "Point d'extrémité de la ligne inférieure ? ") bouchon_circ pnt_debut, pnt_axe, pnt_fin, reseau Case "tr" pnt_debut = ThisDrawing.Utility.GetPoint(, "Point d'extrémité de la ligne extérieure ? ") pnt_axe = ThisDrawing.Utility.GetPoint(, "Point d'extrémité de l'axe ? ") pnt_fin = ThisDrawing.Utility.GetPoint(, "Point d'extrémité de la ligne inférieure ? ") transfo_circ pnt_debut, pnt_axe, pnt_fin, reseau End Select End Sub ca vous eclairera peut etre un peu plus sinon n'hésitez pas à me demander plus de précision [Edité le 5/1/2007 par g_barthe] Vous voulez parler de génie climatique et poser vos questions alors venez par ici : http://le-genie-climatique.positifforum.com Les loisirs créatifs vous tentent : http://pausebroderie.fr
Bred Posté(e) le 5 janvier 2007 Posté(e) le 5 janvier 2007 Salut,je ne suis pas assez bon en vba pour te donner une solution, mais pour faire ce que tu veux en une seule manip je ne vois que 2 possibilités (que je pourrais faire en lisp): - Soit tu sélectionne la ligne à prolonger, en cliquant à un endroit sur la ligne le plus près de l'extrémité que tu veux prolonger : ceci te permet donc de récupérer les valeurs de la ligne (donc le calque), de récupérer le point d'extrémité le plus proche d'où tu viens de cliquer, et de commencer à dessiner une ligne à partier de ce point (sur le calque récupérer précédement). - Soit tu selectionnes le point, et tu fait un test pour savoir quel ligne contient ce point. [Edité le 5/1/2007 par Bred] Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
nazemrap Posté(e) le 5 janvier 2007 Posté(e) le 5 janvier 2007 Bonjour, Si j'ai bien compris, il te faut récupérer les coordonnées du point et le nom du calque ?En sélectionnant l'objet ligne (getentity) avec l'accrochage extrémité actif et en cliquant sur l'extrémité désirée ça doit marcher. Public Sub recp_calq_et_extremité() Dim ligne As AcadLine Dim ptselec As Variant Dim calq As String Dim ptdep(0 To 2) As Double 'Sélectionner avec l'option extrémité active ThisDrawing.Utility.GetEntity ligne, ptselec, "Cliquez avec accrochage l'extrémité de la ligne voulue" ptdep(0) = ptselec(0): ptdep(1) = ptselec(1): ptdep(2) = ptselec(2) calq = ligne.Layer MsgBox calq MsgBox ptdep(0) & "---" & ptdep(1) & "---" & ptdep(2) End Sub
Messages recommandé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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant