Bonjour,
Mon objectif est de récupérer une polyligne 3D (PL3D issue d'une ligne caractéristique de terrain (LCDT) de sorte que lors de sa création, la PL3D se range automatiquement dans un calque portant le même nom que la LCDT. Actuellement je n'ai aucun problème pour créer la PL3D mais je suis obligé de créer les calques à la main.
Quentin
Résolu ! Accéder à la solution.
Résolu par damario_j. Accéder à la solution.
Bonjour Quentin,
En fonction de la méthode que vous utilisez, du logiciel employé (MAP ou Civil)
et de la quantité de lignes caractéristiques à traiter en une fois, la solution sera
différente.
Une solution qui fonctionne excessivement bien, c'est de préparer correctement
vos styles de lignes caractéristiques de terrain. En affectant correctement votre
layer en fonction de ce que représente votre LCDT, la solution est très aisée à
mettre en œuvre.
En fonction de la méthode d'extraction de vos LCDT, vous obtiendrez le résultat
tantôt désiré, tantôt pas. Prenons par exemple :
1) L'extraction d'une LCDT d'un projet 3D, Civil 3D placera le résultat de l'extraction
dans le layer courant,
2) Faites une copie d'une LCDT et faites un 'décomposer' [explode], et le layer
sélectionné est celui sur lequel l'entité LCDT est placée (qui n'est pas le même
layer que le layer du style).
3) ....
Vous l'aurez compris les solutions semblent toujours donner des résultats ne
correspondants pas à vos besoins.
Pourtant, une petite particularité fait la différence. Au lieu de copier votre LCDT
dans le même dessin, copiez-le dans un dessin vierge et exportez-le
[fichier - exporter - exporter sur Autocad - Format ....] ou _AecExportToAutoCAD20xx
Dans le fichier exporté, vous trouverez la LCDT dans le layer contenu dans le style
et non pas dans le layer dans lequel l'entité est placée.
Le dessin vierge à la particularité d'être très facilement accessible [Qnew] et requiert
peu de ressources et de temps pour l'export car il ne contient que peu d'information.
Le tour est joué.
Evidemment, la procédure, tel qu'expliqué semble fastidieuse mais elle fonctionne
très bien. Si vous avez en plus un certain nombre de PL3D à faire, vous êtes gagnant.
Bien à vous.
Domenico
Bonjour,
Merci de votre réponse détaillée!
Je note cependant qu'il n'y a pas de solution direct au problème. C'est fort dommage car je dois faire cette manip pour plusieurs LCDT et sur de nombreux fichiers. Il faudra donc créer des calques pour chaque LCDT dans chaque fichier (les noms des LCDT ne sont jamais les même d'un fichier à l'autre). Il faudrait pouvoir préciser dans le style que l'on souhaite récupérer la valeur du nom de la LCDT à laquelle on l'applique.
On retrouve cette possibilité lors de l'extraction des solides 3D depuis un projet 3D ou l'on peut utiliser le nom du code de forme comme nom de calque.
Dans mon cas il s'agirait d'utiliser un code de point...
Bonsoir,
Maintenant que je sais que les LCDT viennent d'un projet 3D
et qu'en plus vous codez vos subassembly, je penses qu'il n'y
a, au contraire, rien de plus direct que le jeu de code (code set).
Le principe du jeu de code est d'attribuer automatiquement via
un tableau de transfert un style de LCDT pour chaque code. Il
vous donne en plus la liberté d'attribuer un style s'il ne trouve
pas le code et un style s'il n'y a pas de code. Toutes les situations
ont été envisagées.
Permettez-moi de vous dire que cela répond parfaitement à vos
besoins.
Peut-être cela vous paraît pénible de réaliser un style de LCDT
pour chaque code mais c'est excessivement facile. C'est encore
plus facile lorsque vous ouvrez 2 fichiers simultanément.
Je m'explique :
1) Ouvrez le fichier un fichier ou vous y insérerez les différents
styles nous l'appellerons #1.
2) Ouvrez un second fichier que nous appellerons #2,
3) Construisez un premier style dans #2 avec les caractéristiques
générales de ce que vous voulez en fonction du comportement
désiré. N'oubliez pas de le placer dans un layer portant le bon
nom. Composer le nom du style avec la mention du code, dans
votre cas, c'est adapté.
4) Une fois cela fait, transférez ce style avec un glisser-déplacer
dans #1 en le sélectionnant depuis l'onglet paramètre dans #2.
Pour rappel, #2 sera visible si vous êtes en vue principale dans
la fenêtre d'outils.
5) Maintenant que le premier style est présent dans les 2 fichiers,
modifiez le nom du style dans #2 pour le prochain code ainsi
que le nom de layer auquel il fait référence.
6) Reprenez à l'étape '4)'. En réalité, le fait que ce ne soit pas le
même nom, C3D créé un nouveau style, vous avez maintenant
2 styles de code différents dans #1 et toujours un seul style dans #2.
7) Vous l'aurez compris, recommencer à l'étape '5)' et vous avez
beaucoup plus de rapidité pour la création de vos styles de LCDT.
Cette méthode pour la création rapide et multiple de styles est valable
pour n'importe quel style et label.
Reste ensuite à placer tout cela dans un jeu de code. Cela devient une
routine presque comme un travail à la chaîne. Placez-y autant de code
que vous le voulez et faites grandir votre jeu de code. Cela ne prend
aucune place en mémoire ni en terme de besoin en ressources.
Il vous reste ensuite à faire un seul export comme je vous en ai parlé
à mon premier mail.
Bien à vous.
Domenico
Bonjour @Anonymous
Si une des réponses résout votre problème ou vous a permis de mieux le comprendre, voulez vous avoir l'amabilité de cliquer sur le bouton "Accepter comme solution" en bas de la réponse qui apporte une solution?
Bonjour,
Utilisez-vous C3D 2016 (ce qui est mon cas)?
J'ai essayé les solutions dont vous parliez mais le seul avantage que j'ai trouvé c'est de pouvoir créer facilement tous les calques liés à un code set dans un nouveau dessin par un glisser/déposer du code set. Le code set n'inclut cependant pas les styles de LCDT. Il inclut les styles de point/lien/forme ce qui est différent. Par la suite, j'ai bien créé tous mes styles de LCDT (qu'on pourra également glisser/déposer un par un dans au autre fichier si besoin).
Finalement j'ai bien pu obtenir les P3D correspondants à mes LCDT avec la commande "créer des LCDT à partir du projet 3D" puis en les explosant MAIS je dois à chaque fois aller chercher le calque dans lequel ira se placer la LCDT. A aucun moment le style de la LCDT n'entre en jeu, même si je le sélectionne lors de sa création:
La résolution de mon problème ne tient donc qu'à la création des calques qui accueilleront, à travers la commande ci-dessus, mes LCDT (puis par explosion mes PL3D).
Si seulement la LCDT pouvait directement se ranger dans le calque présent dans son style ou dans le style du code de point qui la compose!
Bonjour,
Reprenons votre explication :
"J'ai essayé les solutions dont vous parliez mais le seul avantage que j'ai trouvé
c'est de pouvoir créer facilement tous les calques liés à un code set dans un
nouveau dessin par un glisser/déposer du code set." [Super, c'est déjà ça]
"Le code set n'inclut cependant pas les styles de LCDT. Il inclut les styles de
point/lien/forme ce qui est différent. Par la suite, j'ai bien créé tous mes styles
de LCDT (qu'on pourra également glisser/déposer un par un dans au autre
fichier si besoin)."
[Le code Set lie, notamment, le code de point à la LCDT par l'intermédiaire de
son style. Normalement, grâce au glisser-déplacer du code set, l'ensemble des
styles qui y sont liés sont transférés. Si ce n'est pas le cas, vous pouvez toujours
importer, en une fois, les styles par le ruban "Gérer - Styles - Importer" ou via la
commande _ImportStylesAndSettings ]
"Finalement j'ai bien pu obtenir les P3D correspondants à mes LCDT avec la
commande "créer des LCDT à partir du projet 3D" puis en les explosant MAIS je
dois à chaque fois aller chercher le calque dans lequel ira se placer la LCDT.
A aucun moment le style de la LCDT n'entre en jeu, même si je le sélectionne
lors de sa création"
[C'est là malheureusement où il faut faire attention et que vous avez l'impression
de ne pas avoir le résultat attendu. Dans mon explication, j'ai bien signaler de
réaliser un export du fichier. C'est à cette condition que toutes vos LCDT seront
dans les bons layers. Si vous relisez mon explication, vous verrez que le résultat
que vous obtenez est conforme à une partie de mon explication puisque je suggère
de ne pas faire comme cela.]
Pourriez-vous réessayer afin de valider que cela fonctionne. Si ce n'est pas le cas,
pourriez-vous me fournir votre fichier afin que je vois ce qui ne va pas. Je vous
retournerais ensuite l'explication de ce non fonctionnement. Ce n'est peut-être
rien grand chose.
Bien à vous.
Domenico
Bonjour,
Je remarque que j'ai oublié de signaler que c'est l'ensemble du projet 3D
que vous devez exporter. Il ne faut donc pas extraire les LCDT du projet 3D.
Attention, avant de réaliser l'export, placez-vous en vue modèle afin que
Civil 3D génère les LCDT tel qu'il le devrait. Comme vous le savez certainement,
la vue en plan est un cas particulier de la vue modèle dans les styles et il est
traité à part. C'est comme en géométrie, le carré est un cas particulier du
rectangle.
Normalement, cela ne doit pas prendre plus d'une poignées de secondes pour
obtenir le résultat que vous désirez quel que soit la longueur et la complexité
de votre projet 3D.
Désolé pour cet oubli.
Bien à vous.
Domenico
Vous n'avez pas trouvé ce que vous recherchiez ? Posez une question à la communauté ou partagez vos connaissances.