-
Compteur de contenus
775 -
Inscription
-
Dernière visite
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par winfield
-
Bonjour, Je suis tombé sur un bloc dans lequel il y a un cercle et auquel je n'arrive pas à m'accrocher. Qqn en connait la cause ? Merci
-
Bonjour, Je cherche à faire une routine qui mettrait les lignes d'attaches à une longueur fixe comme sous 2006 (pas la distance de décalage). Je pensais après avoir effectué ma cotation, sélectionner les cotes vouluent, avec un "trajet" par ex. et spécifier la distance. Le problème, qu'il faudrait connaitre la distance entre le point d'attache et son extrémité. Si qqn a une solution ou une idée, je suis preneur.
-
Je viens de remarquer un truc bizarre : je crée un nouveau fichier AutoCAD, je balance 2 cotes avec tous les paramètres d'origine. Je selectionne les 2 cotes et dans la fenêtre de propriétés on peut voir : Couleur ligne d'attache *VARIE* :cool: Et pourtant d'après les paramètres , ça devrait être en DUBLOC.
-
Quelqu'un pourrait m'expliquer comment on se sert des codes DXF ? Je veux mettre un filtre pour selectionner que les textes et les MTextes mais : Textmult : code de groupe =100 Text : code de groupe =100 Line :code de groupe =100 :( et que fait-on quand il y a plusieurs codes ? (MText) 71 Point d'attache : 1 = En haut à gauche ; 2 = En haut au centre ; 3 = En haut à droite 4 = Au milieu à gauche ; 5 = Au milieu au centre ; 6 = Au milieu à droite 7 = En bas à gauche ; 8 = En bas au centre ; 9 = En bas à droite On les additionne ?
-
Bonsoir, Si je déclare : Dim MaVariableTest as acadentity est-ce que par la suite, je peux transformer MaVariableTest en : Dim MaVariableTest as acadDimAligned ? Merci d'avance.
-
Bonjour, Je suis encore à la chasse.......aux infos. Je voudrais accéder à certaines propriétés des éléments d'une cote, notamment connaitre la distance qu'il y a entre ExtLine1Point et la pointe de la flèche. J'ai vu dans la partie des codes de groupe DXF, qu'on pouvait avoir les XY du ExtLine1Point et de la pointe, mais j'ai pô compris comment :(
-
Bonjour Didier, MERCI beaucoup.Ton aide m'a bien aidé :D , du coup j'ai presque fini ma bidouille..........encore quelques réglages à faire :( ..........mais ça va viendre, ça va viendre :D.
-
Bonjour, Je crée une LWPolyline ayant 3 sommets, ensuite je fais un Offset. Mais comment récupérer les XY de la nouvelle polyligne ? Merci de vos réponse
-
Salut, Met SELECTIONPREVIEW=0 bonne soirée
-
Salut, ....C'est peut-être le problème que tu rencontres. Sinon tu as cet exemple où c'est AutoCAD qui gère le prob : Sub VerifierOnglet() Dim ObjOnglet As AcadLayout Dim StrNomOnglet As String StrNomOnglet = InputBox("Nom de l'onglet ?") If StrNomOnglet = "" Then Exit Sub On Error Resume Next Set ObjOnglet = ThisDrawing.Layouts(StrNomOnglet) If ObjOnglet Is Nothing Then MsgBox "l'onglet " & StrNomOnglet & " n'existe pas" Else MsgBox "l'onglet " & StrNomOnglet & " existe" End If End Sub Bonne chance
-
Je pense que tu trouveras un début de réponse là : http://www.vbfrance.com/tutorial.aspx?ID=37
-
Bonjour Patrick, Je ne sais pas si on peut faire ce que tu a décris, mais tu pourrais déclarer les variables dans Option Explicit pour que toutes les Procedures puisse les utiliser : Option Explicit Dim Variable1 As String Dim Variable2 As String Sub Procedure1 Variable1="Bienvenue " Variable2="à CadXP" End sub Sub Procedure2 msgbox Variable1 & Variable2 End sub .......en espérant ne pas être trop à côté.
-
Bonjour, Question bête : Pourquoi faire une insertion puisque on peut l'ouvrir directement ?
-
Je me lance également dans le vba pour AutoCAD et tout comme toi je GALERE !!! :( Je ne sais pas comment tu envisages les choses pour l'activation de l'onglet mais si ça peut t'aider : Sub ActiverOnglet() Dim ObjOnglet As AcadLayout Dim StrNomOnglet As String Line1: StrNomOnglet = InputBox("Onglet à activer ?") If StrNomOnglet = "" Then Exit Sub On Error Resume Next Set ObjOnglet = ThisDrawing.Layouts(StrNomOnglet) If ObjOnglet Is Nothing Then MsgBox "L'onglet " & StrNomOnglet & " n'existe pas.": GoTo Line1 Else ThisDrawing.ActiveLayout = ObjOnglet End If End Sub
-
Oups j'avais oublié de mettre le code ;) Sub Pente() '26/08/2005 Dim PtA As Variant Dim PtB As Variant Dim PtC As Variant Dim PtD As Variant Dim EntTexte As AcadText Dim Fleche As AcadPolyline Dim PtFleche(0 To 5) As Double On Error Resume Next With ThisDrawing.Utility Pi = 4 * Atn(1) MsgBox Pi PtA = .GetPoint(, "Sélectionnez le premier point: ") PtB = .GetPoint(, "Sélectionnez le premier point: ") PtC = .GetPoint(, "Point d'insertion du texte ?") 'Translations de coordonnées Pta1 = .TranslateCoordinates(PtA, acWorld, acUCS, False) Ptb1 = .TranslateCoordinates(PtB, acWorld, acUCS, False) hTxt = .GetReal("Hauteur texte ? < 2.5 >") If hTxt = "" Then hTxt = 2.5 'calcul de la pente alpha = .AngleFromXAxis(Pta1, Ptb1) If alpha > Pi Then alpha = alpha - Pi tg = Abs(Tan(alpha)) ' pente locale signe = Sgn(alpha): If signe = 0 Then signe = 1 'Direction du texte AlphaTxt = .AngleFromXAxis(PtA, PtB) If AlphaTxt > Pi Then AlphaTxt = AlphaTxt - Pi MsgBox alpha If alpha = Pi Then Set EntTexte = ThisDrawing.ModelSpace.AddText("Horizontal", PtC, hTxt) EntTexte.Rotation = AlphaTxt End ElseIf alpha = Pi / 2 Then Set EntTexte = ThisDrawing.ModelSpace.AddText("Vertical", PtC, hTxt) EntTexte.Rotation = AlphaTxt End Else Set EntTexte = ThisDrawing.ModelSpace.AddText("Pente " & FormatPercent(tg, 2, vbUseDefault), PtC, hTxt) End If If AlphaTxt > Pi / 2 Then AlphaTxt = AlphaTxt + Pi End If EntTexte.Rotation = AlphaTxt Fac1 = 3 If alpha > Pi / 2 And alpha < Pi Then: Fac1 = 13 If alpha > Pi + Pi / 2 Then: Fac1 = 13 If AlphaTxt < Pi Then AlphaDir = AlphaTxt + Pi Else AlphaDir = AlphaTxt End If varpt1 = .PolarPoint(PtC, AlphaDir, hTxt * Fac1) varpt2 = .PolarPoint(varpt1, AlphaDir, hTxt * 4) PtFleche(0) = varpt1(0): PtFleche(1) = varpt1(1): PtFleche(2) = 0 PtFleche(3) = varpt2(0): PtFleche(4) = varpt2(1): PtFleche(5) = 0 Set plineObj1 = ThisDrawing.ModelSpace.AddPolyline(PtFleche) 'Insertion de la flèche plineObj1.SetWidth 0, hTxt / 5, 0 varpt3 = .PolarPoint(varpt2, AlphaDir, hTxt) PtFleche(0) = varpt2(0): PtFleche(1) = varpt2(1): PtFleche(2) = 0 PtFleche(3) = varpt3(0): PtFleche(4) = varpt3(1): PtFleche(5) = 0 Set plineObj2 = ThisDrawing.ModelSpace.AddPolyline(PtFleche) plineObj2.SetWidth 0, hTxt / 2, 0 End With End Sub [Edité le 3/9/2005 par winfield]
-
Bonjour, J'ai encore fait des modifications sur la routine : On indique 2 points pour la pente, un point pour l'emplacement du texte et on indique pour finir la hauteur du texte qui est par défaut de 2.5 unité. A la suite de tout ça, ça met donc un texte indiquant "Pente X %" ainsi qu'une flèche sauf dans le cas ou c'est horizontal ou vertical. Le problème est que pour certaines pentes, la flèche se retrouve bien trop loin du texte :mad: . Vous pouvez voir un aperçu à : http:// http://winfield-34.blogspot.com/2005/09/pente.html (un clic sur l'image pour l'agrandir). Si qqn a une explication.... ;)
-
Non non, je ne suis pas la tête de Turc, je suis juste une tête de lards, mais ça, c'est dû à ma région :P Merci pour les infos :)
-
Bonjour, Partons d'une hypothèse :cool: Je trouve un job dans une entreprise, et cette entreprise n'utilise que des logiciels piratés. Quelque temps plus tards l'entreprise est soumis à un contrôle.... Suis-je répréhensible ? :casstet: Si oui qu'est-ce que je risque ?
-
Bonjour, C'est peut-être nul comme idée mais.... Ccertains comme moi, ont des difficultés pour insérer des images dans leurs messages. Ont peut bien sûr envoyer l'image par mail à Patrick, mais on peut aussi créer un blog pour y mettre les images ! Si on pousse l'idée plus loin, pourquoi ne pas créer un blog pour justement y coller les images de CadXP ? J'ai créé le blog en 5 mn et j'y ai inséré 2 images, pourtant je suis loin d'être un fortiche. Jetez un coup d'oeil, même si le blog est ......assez vide :D ......c'était pour voir. http://winfield-34.blogspot.com/ Si vous voulez créer votre blog : http://www.blogger.com/create-blog.g
-
Hé ben ! .... à l'usure :mad2: .... à l'usure ....:cool:
-
Rectification : [surligneur] strTexte = tg [/surligneur] 'MsgBox strTexte If strTexte = [surligneur]"1,63317787283838E+16" [/surligneur] Then: strTexte = "Verticale" If strTexte = 0# Then: strTexte = "Horizontale" Set EntTexte = ThisDrawing.ModelSpace.AddText("Pente " & Format(strTexte, "0.0#%"), PtC, hauteurtexte) Et apparemment avec ça il n'y a plus d'écart. :casstet: ..."Pente horizontale" ??? :o ....rien n'peut m'arrêter !!! :mad: Je crois qu'un ptit dodo s'impose. [Edité le 24/8/2005 par winfield]
-
Bonjour Didier, Je me suis basé sur l'exemple que tu m'as filé. J'ai rechangé le début, le fait de passer seulement par une ligne ne me convenant pas même si, comme tu m'as soufflé, on puisse mettre un filtre pour que ça fonctionne également avec une polyligne par exemple, mais je garde cette exercice pour plus tard. De plus la "ligne" en question peut faire partie d'un bloc, ce qui fait encore un exercice en plus... pour apprendre à utiliser "GetSubEntity" . (je sens que l'apprentissage va être long). Voilà ce que j'ai réussi à faire : (en attendant, je vais voir pour insérer une une flèche de direction ) Sub TP_1a() Dim PtA As Variant Dim PtB As Variant Dim PtC As Variant Dim EntTexte As AcadText On Error Resume Next Pi = 4 * Atn(1) With ThisDrawing.Utility PtA = .GetPoint(, "Sélectionnez le premier point: ") PtB = .GetPoint(, "Sélectionnez le premier point: ") Pta1 = .TranslateCoordinates(PtA, acWorld, acUCS, False) Ptb1 = .TranslateCoordinates(PtB, acWorld, acUCS, False) 'Position de l'écriture PointX = .TranslateCoordinates(Ptb1, acWorld, acUCS, False) PtC = .GetPoint(Ptb1, "Point d'insertion du texte ?") 'calcul de la pente alpha = .AngleFromXAxis(Pta1, Ptb1) alpha1 = alpha If alpha > Pi Then alpha = alpha - Pi tg = Abs(Tan(alpha)) ' pente locale signe = Sgn(alpha): If signe = 0 Then signe = 1 ' HauteurTexte du texte PointX = .TranslateCoordinates(PtC, acWorld, acUCS, False) hauteurtexte = .GetDistance(PointX, "Hauteur du texte ?") alpha = .AngleFromXAxis(PtA, PtB) If alpha > Pi Then alpha = alpha - Pi strTexte = Format(tg, "0.00#") 'MsgBox strTexte If strTexte = "16331778728383800" Then: strTexte = "Verticale" If strTexte = 0# Then: strTexte = "Horizontale" Set EntTexte = ThisDrawing.ModelSpace.AddText("Pente " & Format(strTexte, "0.00#%"), PtC, hauteurtexte) If (alpha > Pi / 2) Then EntTexte.Rotation = alpha - Pi Else EntTexte.Rotation = alpha EntTexte.HorizontalAlignment = acHorizontalAlignmentCenter EntTexte.VerticalAlignment = acVerticalAlignmentBottom EntTexte.TextAlignmentPoint = PtC EntTexte.StyleName = ThisDrawing.ActiveTextStyle.Name EntTexte.ScaleFactor = ThisDrawing.ActiveTextStyle.Width EntTexte.Update End If End With End Sub Par contre, je n'ai pas compris : Le coup des 16331778728383800 (je me suis cassé les dents dessus), je suppose que c'est une histoire avec les Pi radians non ? Les différences dans les résultats selon si on utilise ton exemple ou le TP_1a, bien que les différences soient minimes.
-
Tout dépend des outils que tu as :(
-
Surtout ne vous stressez pas si vous avez envie d'aller au petit coin....c'est mieux que les séries TV. images/articles/Hallucinant.png
-
Idem, il a rien reconnu....:casstet: Je préfère ce site là : http:// https://www.grc.com/x/ne.dll?rh1dkyd2
