formula1
Membres-
Compteur de contenus
124 -
Inscription
-
Dernière visite
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par formula1
-
Bonjours a tous, Je suis dessinateur en construction et j'aimerai me faire une macro qui dessine des polyline. Mais je dois définir son épaisseur, sa distance par rapport a un objet et lui faire un filet dont je défini le rayon. Si quelqu'un peu m'aider, ce serai super.
-
Désolé, mais c'est ce que j'avais trouvé avec l'aide de autocad, mais après avoir retirer ce qui étais inutile pour mon cas, ben ça ne marche pas
-
Merci les gars, vous m'avez sorti d'un mauvais pas, maintenant plus besoin d'aller sur d'autre plans pour avoir mes layers.
-
non. Comment peut-on dire a un layer de ne pas s'imprimer car j'ai 3 layers qui ne doivent en aucun cas s'imprimer.
-
Ne cherche plus, je l'ai testée ce matin, et elle fonctionne parfaitement
-
Gile, tu pourrais etre un peus plus précis car je suis débutant en VBA, alors je n'ai pas tres bien compris ta réponse
-
en fait, je pense que ça viends des 2 autres type de ligne (CENTER2 ET PHANTOM2) car tans que j'avais juste hidden, la macro fonctionnais tres bien
-
je travail dans la stabilité (c'est a dire que je fais des plansde béton armé). Peus-tu vérifier ma macro car il m'indique une erreur a la derniere ligne? Private Sub CmdCoffrage_Click() Dim linetypeHidden As String Dim linetypeCenter2 As String Dim linetypePhantom2 As String linetypeHidden = "HIDDEN" linetypeCenter2 = "CENTER2" linetypePhantom2 = "PHANTOM2" For Each entry In ThisDrawing.Linetypes If StrComp(entry.Name, linetypeHidden, 1) = 0 Then Dim trouve As Boolean trouve = True Exit For Else End If Next If trouve = False Then Dim fichier1 As String fichier1 = "acad.lin" ThisDrawing.Linetypes.Load linetypeHidden, "acad.lin" Else End If For Each entry In ThisDrawing.Linetypes If StrComp(entry.Name, linetypeCenter2, 1) = 0 Then End If Next If trouve = False Then ThisDrawing.Linetypes.Load linetypeCenter2, "acad.lin" Else End If For Each entry In ThisDrawing.Linetypes If StrComp(entry.Name, linetypePhantom2, 1) = 0 Then End If Next If trouve = False Then ThisDrawing.Linetypes.Load linetypePhantom2, "acad.lin" Else End If Dim newlayer1 As AcadLayer Set newlayer1 = ThisDrawing.LAYERS.Add("BETON-CSP-CACHE") Dim color As AcadAcCmColor Set color = AcadApplication.GetInterfaceObject("AutoCAD.AcCmColor.16") Call color.SetRGB(0, 255, 255) newlayer1.TrueColor = color newlayer1.Linetype = linetypeHidden Dim newlayer2 As AcadLayer Set newlayer2 = ThisDrawing.LAYERS.Add("BETON-CSP-COUPE") Call color.SetRGB(255, 127, 255) newlayer2.TrueColor = color Dim newlayer3 As AcadLayer Set newlayer3 = ThisDrawing.LAYERS.Add("BETON-CSP-VU") Call color.SetRGB(159, 255, 127) newlayer3.TrueColor = color Dim newlayer4 As AcadLayer Set newlayer4 = ThisDrawing.LAYERS.Add("BETON-PREF-VU") Call color.SetRGB(0, 255, 255) newlayer4.TrueColor = color Dim newlayer5 As AcadLayer Set newlayer5 = ThisDrawing.LAYERS.Add("BETON-PREF-COUPE") Call color.SetRGB(255, 255, 0) newlayer5.TrueColor = color Dim newlayer6 As AcadLayer Set newlayer6 = ThisDrawing.LAYERS.Add("BETON-PREF-CACHE") Call color.SetRGB(255, 0, 0) newlayer6.TrueColor = color newlayer6.Linetype = linetypeHidden Dim newlayer7 As AcadLayer Set newlayer7 = ThisDrawing.LAYERS.Add("HOURDIS-COUPE") Call color.SetRGB(114, 76, 152) newlayer7.TrueColor = color Dim newlayer8 As AcadLayer Set newlayer8 = ThisDrawing.LAYERS.Add("HOURDIS-PLAN") Call color.SetRGB(114, 76, 152) newlayer8.TrueColor = color newlayer8.Linetype = linetypePhantom2 End Sub
-
Non, non, tous vas bien je métais tromper. La macro marche a merveille.
-
Voilà, je cherche a faire une routine qui m'insererais des bloc avec attribut ou non dans mon dessin. Si il y a une ame généreuse pour me conseillé.
-
OK, rectifier et effectivement ton code marche mieuxque celui de winfield
-
C'est bizarre, la meme macro ne fonctionne pas dans la version anglaise de autocad. Il me dit qu'il y a une erreur au niveau de cette ligne : ThisDrawing.Linetypes.Load "StrTypeLigne", "ACAD.LIN"
-
Pour le probleme de ligne, ne cherche plus, j'ai trouvé. Dim linetypeName As String linetypeName = "CACHE2" ' Load "CACHE2" line type from AutoCAD.lin file ThisDrawing.Linetypes.Load linetypeName, "acad.lin" newlayer1.linetype = "HIDDEN" Merci encoure pour les codes. Si tu sais comment avec VBA, je peus inserer un bloc qui contiends des attributs, je suis tout a toi.
-
Un grand merci, ça marche
-
ça ne marche toujours pas, est-ce que c'est parce que je n'ai qu'une USER FORM?
-
C'est une erreur d'execution qu'il m'indique. il me dit que 'La Methode Linetype de l'objet IAcadLayer a échoué.
-
oui, il est charger depuis que je l'ai créer
-
Merci, mais j'ai essayer ton code, mais ça ne fonctionne pas, est-ce qu'il ne fudrais pas charger a un momment le type de ligne?
-
J'ai essayé, mais ça ne marche pas, il me dit macro LAYERS non trouvée
-
Bonjours, Comment puis-je charger une macro à l'aide d'un bouton dans autocad. Je m'explique, j'ai créer une petite routine en VBA et j'aimerais la lancer à l'aide d'une icone se trouvant dansune nouvelle barre d'outils. Je sais créer une barre d'outis et des icones, mais c'est la premiere fois que je fais du VBA alors je ne sait pas comment affecter ma routine à mon icone. Je sias que ça dois commencer par vbarun. Merci pour votre aide.
-
Un grand merci a toi pour la couleur, mais pour les types de ligne, j'ai chercher toute la soirée dans l'aide de autocad, mais je n'ai pas trouver. Il faut savoir que je débute dans le vba.
-
Merci, ça marche mais comment je peus leur donner la couleur et le type de trait?
-
Bonjours, Je cherche a faire un petit prog en VBA qui me permetrais de charger une liste de layers que j'aurais définie. Ainsi ça méviterai de devoir les piquer sur mes autres plans. Merci d'avance pour vos réponses.
