Page 1 sur 1
Problème type de ligne
#1
Posté 23 février 2021 - 09:53
Bonjour
Je travaille sur un fichier autocad dans lequel j'insère des lignes d'autre fichier avec le ctrl+shift+c/ctrl+v
Mon problème est que sur mon fichier de travail, je veux copier les propriétés d'un ligne à une autre mais elle ne s'affiche pas de la même manière, les propriétés sont copier correctement mais ma ligne apparait comme avec le style continu, le problème est persistant pour certains lignes avec lesquels n'importe quels styles de ligne s'affichera toujours avec le style continu.
Je voudrais savoir pourquoi ce problème existe, comme résoudre se problème actuel et comme l'éviter dans le futur.
Je travaille sur un fichier autocad dans lequel j'insère des lignes d'autre fichier avec le ctrl+shift+c/ctrl+v
Mon problème est que sur mon fichier de travail, je veux copier les propriétés d'un ligne à une autre mais elle ne s'affiche pas de la même manière, les propriétés sont copier correctement mais ma ligne apparait comme avec le style continu, le problème est persistant pour certains lignes avec lesquels n'importe quels styles de ligne s'affichera toujours avec le style continu.
Je voudrais savoir pourquoi ce problème existe, comme résoudre se problème actuel et comme l'éviter dans le futur.
#2
Posté 23 février 2021 - 10:52
Bonjour,
Dans un premier temps il est déconseillé de faire du copier coller pour importer ces styles.
Donc si je comprends bien, ce problème n'est pas sur toutes les lignes du dessin?
Vérifier si l'échelle du type de ligne est bien à 1 (ou égale aux autres)
Peut-être regarder la variable LTSCALE qui à une valeur trop importante ?
Dans un premier temps il est déconseillé de faire du copier coller pour importer ces styles.
Donc si je comprends bien, ce problème n'est pas sur toutes les lignes du dessin?
Vérifier si l'échelle du type de ligne est bien à 1 (ou égale aux autres)
Peut-être regarder la variable LTSCALE qui à une valeur trop importante ?
#3
Posté 23 février 2021 - 10:55
Bonjour, as tu activé "génération du type de ligne" dans ta palette de commandes (dernière ligne en bas de ta palette)
Peut-être aussi vérifier l'échelle du type de ligne.
Si tes types de lignes comportent des textes, vérifie le style de texte attention au style "standards").
Si tes types de lignes comportent des formes, vérifie que tes formes sont bien chargées.
Il existe des Lisp qui exportent les types de lignes et les transforment en fichiers .Lin, cela permet d'exporter plus proprement, modifier et partager plus facilement.
Cordialement
Peut-être aussi vérifier l'échelle du type de ligne.
Si tes types de lignes comportent des textes, vérifie le style de texte attention au style "standards").
Si tes types de lignes comportent des formes, vérifie que tes formes sont bien chargées.
Il existe des Lisp qui exportent les types de lignes et les transforment en fichiers .Lin, cela permet d'exporter plus proprement, modifier et partager plus facilement.
Cordialement
#4
Posté 23 février 2021 - 11:02
Maxime063, le 23 février 2021 - 10:52 , dit :
Bonjour,
Dans un premier temps il est déconseillé de faire du copier coller pour importer ces styles.
Donc si je comprends bien, ce problème n'est pas sur toutes les lignes du dessin?
Vérifier si l'échelle du type de ligne est bien à 1 (ou égale aux autres)
Peut-être regarder la variable LTSCALE qui à une valeur trop importante ?
Dans un premier temps il est déconseillé de faire du copier coller pour importer ces styles.
Donc si je comprends bien, ce problème n'est pas sur toutes les lignes du dessin?
Vérifier si l'échelle du type de ligne est bien à 1 (ou égale aux autres)
Peut-être regarder la variable LTSCALE qui à une valeur trop importante ?
Donc si je comprends bien, ce problème n'est pas sur toutes les lignes du dessin?
Exact
Vérifier si l'échelle du type de ligne est bien à 1 (ou égale aux autres)
Le problème ne peut pas venir de là, vu que lorsque je copie la propriété d'une ligne à une autre il y a le problème que le style change comme voulu mais qu'elle s'affiche comme une ligne continue.
#8
Posté 23 février 2021 - 11:28
Les polylignes 3D ne vont en effet pas pouvoir (à ma connaissance) recevoir de types de lignes.
Elles servent à avoir des coordonnées X,Y,Z qui varient pour chaque sommets à l'inverse d'une polyligne 2D qui va avoir X,Y qui varie et Z qui reste fixe.
Il est soit possible de passer par covadis 3D > Gestion des polylignes 3D > convertir en polylignes 2D
Soit d'utiliser un lisp (j'en ai pas en réserve pour ça)
Ou alors plus fastidieux, de repasser par dessus avec la command polyligne (avec de préférence la variable "OSNAPZ" à 1 et le Z scu à la valeur qui t'intéresse)
Elles servent à avoir des coordonnées X,Y,Z qui varient pour chaque sommets à l'inverse d'une polyligne 2D qui va avoir X,Y qui varie et Z qui reste fixe.
Il est soit possible de passer par covadis 3D > Gestion des polylignes 3D > convertir en polylignes 2D
Soit d'utiliser un lisp (j'en ai pas en réserve pour ça)
Ou alors plus fastidieux, de repasser par dessus avec la command polyligne (avec de préférence la variable "OSNAPZ" à 1 et le Z scu à la valeur qui t'intéresse)
#9
Posté 23 février 2021 - 11:48
Pour convertir des polylignes 3D en polylignes 2D, je ne trouve pas le moyen pour le faire.
Il est soit possible de passer par covadis 3D > Gestion des polylignes 3D > convertir en polylignes 2D
Je ne sais pas ce qu'est covadis 3D et ou le trouver.
J'ai trouver sur un autre site qu'il fallait faire cette manipulation mais je ne trouve pas les éléments.
https://knowledge.au...98A71D-htm.html
Cliquez sur l'onglet Modification groupe de fonctions Conception Convertir des polylignes 3D en 2D Trouver.
La commande convert ne fonctionne pas.
La commande joindre ne fonctionne pas.
Je peux utiliser la commande xplode et ensuite joindre pour convertir une polyligne 3d en lignes puis en polyligne 2d.
Mais je n'arrive pas à trouver la bonne commande pour convertir une polyligne 3d en polyligne 2d, pourriez vous me transmettre cette commande ?
Il est soit possible de passer par covadis 3D > Gestion des polylignes 3D > convertir en polylignes 2D
Je ne sais pas ce qu'est covadis 3D et ou le trouver.
J'ai trouver sur un autre site qu'il fallait faire cette manipulation mais je ne trouve pas les éléments.
https://knowledge.au...98A71D-htm.html
Cliquez sur l'onglet Modification groupe de fonctions Conception Convertir des polylignes 3D en 2D Trouver.
La commande convert ne fonctionne pas.
La commande joindre ne fonctionne pas.
Je peux utiliser la commande xplode et ensuite joindre pour convertir une polyligne 3d en lignes puis en polyligne 2d.
Mais je n'arrive pas à trouver la bonne commande pour convertir une polyligne 3d en polyligne 2d, pourriez vous me transmettre cette commande ?
#10
Posté 23 février 2021 - 11:54
Si vous n'avez pas le module Covadis alors la 1ère option n'est pas réalisable, cependant on peut exploiter la décomposition.
Apres décomposition de la polyligne 3D en lignes, il suffit d'aller dans les propriétés et modifier les valeurs Z-départ=0 et Z-fin=0
Puis joindre toutes les lignes, ce qui va donner une polyligne
Apres décomposition de la polyligne 3D en lignes, il suffit d'aller dans les propriétés et modifier les valeurs Z-départ=0 et Z-fin=0
Puis joindre toutes les lignes, ce qui va donner une polyligne
#12
Posté 23 février 2021 - 14:39
J'&ai pas de lisp non plus uniquement du VBA désolé ...
en vba :
en vba :
Sub P3D_PO() Dim retcoord() Dim PT() As Double Dim P1(0 To 2) As Double Dim Bloc As AcadBlockReference Dim ObjPo As AcadLWPolyline Dim polyObj As Acad3DPolyline Dim color As AcadAcCmColor Dim sVer As String sVer = Left(AcadApplication.ActiveDocument.GetVariable("ACADVER"), 2) Set couleur = AcadApplication.GetInterfaceObject("AutoCAD.AcCmColor." & sVer) Me.Hide X = 0 Y = 1 Z = 2 PREC = 3 NB_OBJ = ThisDrawing.ModelSpace.Count - 1 For o = 0 To ThisDrawing.ModelSpace.Count - 1 Set entity = ThisDrawing.ModelSpace.Item(o) T = entity.ObjectName Select Case entity.ObjectName Case "AcDb3dPolyline" Set polyObj = entity LIST_PT = polyObj.Coordinates CALQUE_OBJ = polyObj.Layer Epaisseur = polyObj.Lineweight L = LBound(LIST_PT) u = UBound(LIST_PT) NB_PT_3D = (u + 1) / 3 cp = 0 ReDim PT(NB_PT_3D * 2 - 1) For i = L To u Step 3 Xo = LIST_PT(i) Yo = LIST_PT(i + 1) Zo = LIST_PT(i + 2) PT(cp) = Xo cp = cp + 1 PT(cp) = Yo cp = cp + 1 Next i NB_PT = (UBound(PT) + 1) / 2 Set ObjPo = ThisDrawing.ModelSpace.AddLightWeightPolyline(PT) ObjPo.Layer = polyObj.Layer ObjPo.Lineweight = polyObj.Lineweight ObjPo.Update polyObj.Delete o = o - 1 Case Else Debug.Print T End Select Next o ThisDrawing.Regen acActiveViewport End Sub
Je dessine sur Autocad depuis mes 16 ans, je fais tout avec 2D/3D etc...
Et maintennant ? Ben, je ne dessine quasiment plus...
Je programme pour que mon ordinateur travail à ma place
Et je créé des outils pour gérer planning, mail auto, rapport issu du dessin et j'en passe.
(Uniquement en VBA et VB.net / Sql)
Mon site Web (en cours de construction) : Site
Et maintennant ? Ben, je ne dessine quasiment plus...
Je programme pour que mon ordinateur travail à ma place
Et je créé des outils pour gérer planning, mail auto, rapport issu du dessin et j'en passe.
(Uniquement en VBA et VB.net / Sql)
Mon site Web (en cours de construction) : Site
#13
Posté 26 février 2021 - 15:06
Curlygoth, le 23 février 2021 - 14:39 , dit :
J'&ai pas de lisp non plus uniquement du VBA désolé ...
en vba :
en vba :
Sub P3D_PO() Dim retcoord() Dim PT() As Double Dim P1(0 To 2) As Double Dim Bloc As AcadBlockReference Dim ObjPo As AcadLWPolyline Dim polyObj As Acad3DPolyline Dim color As AcadAcCmColor Dim sVer As String sVer = Left(AcadApplication.ActiveDocument.GetVariable("ACADVER"), 2) Set couleur = AcadApplication.GetInterfaceObject("AutoCAD.AcCmColor." & sVer) Me.Hide X = 0 Y = 1 Z = 2 PREC = 3 NB_OBJ = ThisDrawing.ModelSpace.Count - 1 For o = 0 To ThisDrawing.ModelSpace.Count - 1 Set entity = ThisDrawing.ModelSpace.Item(o) T = entity.ObjectName Select Case entity.ObjectName Case "AcDb3dPolyline" Set polyObj = entity LIST_PT = polyObj.Coordinates CALQUE_OBJ = polyObj.Layer Epaisseur = polyObj.Lineweight L = LBound(LIST_PT) u = UBound(LIST_PT) NB_PT_3D = (u + 1) / 3 cp = 0 ReDim PT(NB_PT_3D * 2 - 1) For i = L To u Step 3 Xo = LIST_PT(i) Yo = LIST_PT(i + 1) Zo = LIST_PT(i + 2) PT(cp) = Xo cp = cp + 1 PT(cp) = Yo cp = cp + 1 Next i NB_PT = (UBound(PT) + 1) / 2 Set ObjPo = ThisDrawing.ModelSpace.AddLightWeightPolyline(PT) ObjPo.Layer = polyObj.Layer ObjPo.Lineweight = polyObj.Lineweight ObjPo.Update polyObj.Delete o = o - 1 Case Else Debug.Print T End Select Next o ThisDrawing.Regen acActiveViewport End Sub
Je ne maitrise pas la vba, mais merci quand même (j'ai aucune idée de comment ça fonctionne, un tuto m'intéresserait)
Partager ce sujet :
Page 1 sur 1