CadXP: Problème type de ligne - CadXP

Aller au contenu

Page 1 sur 1

Problème type de ligne

#1 L'utilisateur est hors-ligne   Drédré 

  • Member
  • PipPip
  • Groupe : Membres
  • Messages : 16
  • Inscrit(e) : 10-février 21

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.
0

#2 L'utilisateur est hors-ligne   Maxime063 

  • ceinture verte
  • Groupe : Membres
  • Messages : 62
  • Inscrit(e) : 03-juin 20

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 ?
0

#3 L'utilisateur est hors-ligne   jerome.s 

  • ceinture marron
  • Groupe : Membres
  • Messages : 204
  • Inscrit(e) : 13-juillet 05

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
0

#4 L'utilisateur est hors-ligne   Drédré 

  • Member
  • PipPip
  • Groupe : Membres
  • Messages : 16
  • Inscrit(e) : 10-février 21

Posté 23 février 2021 - 11:02

Voir le messageMaxime063, 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 ?


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.
0

#5 L'utilisateur est hors-ligne   Drédré 

  • Member
  • PipPip
  • Groupe : Membres
  • Messages : 16
  • Inscrit(e) : 10-février 21

Posté 23 février 2021 - 11:05

Je n'ai pas cette option, qu'elle est la commande ?
Je ne comprends pas comment une ligne peut contenir une ligne ou une forme.
0

#6 L'utilisateur est hors-ligne   Maxime063 

  • ceinture verte
  • Groupe : Membres
  • Messages : 62
  • Inscrit(e) : 03-juin 20

Posté 23 février 2021 - 11:06

Est-il possible d'avoir le dwg avec les lignes qui posent problèmes ?
0

#7 L'utilisateur est hors-ligne   Drédré 

  • Member
  • PipPip
  • Groupe : Membres
  • Messages : 16
  • Inscrit(e) : 10-février 21

Posté 23 février 2021 - 11:14

Je viens de voir que ce n'est pas que des lignes et des polylignes mais il y a aussi des polylignes 3d ?
Qu'est ce que c'est les polylignes 3d, a quoi servent-ells ? Ont-elles les même propiétés que les polylignes ? Peut-on les convertir en polylignes ?
0

#8 L'utilisateur est hors-ligne   Maxime063 

  • ceinture verte
  • Groupe : Membres
  • Messages : 62
  • Inscrit(e) : 03-juin 20

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)
0

#9 L'utilisateur est hors-ligne   Drédré 

  • Member
  • PipPip
  • Groupe : Membres
  • Messages : 16
  • Inscrit(e) : 10-février 21

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 ?
0

#10 L'utilisateur est hors-ligne   Maxime063 

  • ceinture verte
  • Groupe : Membres
  • Messages : 62
  • Inscrit(e) : 03-juin 20

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
0

#11 L'utilisateur est hors-ligne   Drédré 

  • Member
  • PipPip
  • Groupe : Membres
  • Messages : 16
  • Inscrit(e) : 10-février 21

Posté 23 février 2021 - 11:59

En fait toute les polylignes 3d ont la même valeur Z (ils sont tous plat).
0

#12 L'utilisateur est hors-ligne   Curlygoth 

  • ceinture marron
  • Groupe : Membres
  • Messages : 206
  • Inscrit(e) : 09-mai 19
  • LocationJuste devant toi

Posté 23 février 2021 - 14:39

J'&ai pas de lisp non plus uniquement du VBA désolé ...

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
0

#13 L'utilisateur est hors-ligne   Drédré 

  • Member
  • PipPip
  • Groupe : Membres
  • Messages : 16
  • Inscrit(e) : 10-février 21

Posté 26 février 2021 - 15:06

Voir le messageCurlygoth, le 23 février 2021 - 14:39 , dit :

J'&ai pas de lisp non plus uniquement du VBA désolé ...

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)
0

#14 L'utilisateur est hors-ligne   Maxime063 

  • ceinture verte
  • Groupe : Membres
  • Messages : 62
  • Inscrit(e) : 03-juin 20

Posté 26 février 2021 - 15:47

Covadis à disposition ?

Qu'en est-il de la décomposition des polylignes 3D puis joindre ?
0

Partager ce sujet :


Page 1 sur 1


Réponse rapide

  

1 utilisateur(s) en train de lire ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)