Aller au contenu

Problème type de ligne


Drédré

Messages recommandés

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.

Lien vers le commentaire
Partager sur d’autres sites

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 ?

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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)

Lien vers le commentaire
Partager sur d’autres sites

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.autodesk.com/fr/support/civil-3d/learn-explore/caas/CloudHelp/cloudhelp/2018/FRA/Civil3D-UserGuide/files/GUID-A6A937A1-7F10-424C-843F-E9B01798A71D-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 ?

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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)

Lien vers le commentaire
Partager sur d’autres sites

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • 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é