Aller au contenu

winfield

Membres
  • Compteur de contenus

    775
  • Inscription

  • Dernière visite

Tout ce qui a été posté par winfield

  1. winfield

    accrochage

    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
  2. 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.
  3. 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.
  4. 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 ?
  5. winfield

    Cotation

    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.
  6. winfield

    Cotation

    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 :(
  7. winfield

    Offset

    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.
  8. winfield

    Offset

    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
  9. Salut, Met SELECTIONPREVIEW=0 bonne soirée
  10. 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
  11. winfield

    Sous sous procédure

    Je pense que tu trouveras un début de réponse là : http://www.vbfrance.com/tutorial.aspx?ID=37
  12. winfield

    Sous sous procédure

    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é.
  13. winfield

    OpenOffice et le DXF

    Bonjour, Question bête : Pourquoi faire une insertion puisque on peut l'ouvrir directement ?
  14. 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
  15. winfield

    Je me jète à l\'eau

    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]
  16. winfield

    Je me jète à l\'eau

    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.... ;)
  17. winfield

    mea culpa ?

    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 :)
  18. 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 ?
  19. 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
  20. Hé ben ! .... à l'usure :mad2: .... à l'usure ....:cool:
  21. winfield

    Je me jète à l\'eau

    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]
  22. winfield

    Je me jète à l\'eau

    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.
  23. winfield

    A l\'aide

    Tout dépend des outils que tu as :(
  24. 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
  25. Idem, il a rien reconnu....:casstet: Je préfère ce site là : http:// https://www.grc.com/x/ne.dll?rh1dkyd2
×
×
  • 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é