Bonjour,
Je souhaites créer un jeu de propriété pour les points de coordonnées (points COGO) dans Autocad Civil 3d 2021.
Dans ce jeu de propriété je souhaites faire intervenir l'altitude (coordonnée z) du point.
Je n'ai cependant pas réussi jusqu'à maintenant à extraire l'altitude du point.
Je suppose qu'il faut utiliser une formule en vba dans le jeu de propriété, mais ne sachant pas coder je ne vois pas trop comment faire.
Est ce que quelqu'un aurait une idée de la formule pour extraire l'altidude ?
Merci d'avance
Cordialement
Résolu ! Accéder à la solution.
Résolu par lfesslerBDUQ2. Accéder à la solution.
Bonjour @lfesslerBDUQ2 ,
Et si on y allait avec Dynamo plutôt que le VBA...
😉
Bravo Guillaume !
Tu dégaines du Dynamo plus vite que ton ombre 🙂
Vivement le meeting GUBI du 25 mars...
Pour suivre le prochain meeting du Groupe Utilisateurs BIM Infra de jeudi 25 mars qui traitera de Dynamo pour Civil 3D vous pouvez rejoindre le groupe sur LinkedIn : https://www.linkedin.com/groups/9039212/
Bonjour,
Merci pour le dynamo cela a fonctionné.
En réalité je pensais utiliser le vba directement dans le jeu de propriété pour que ce soit automatique, là il faut qu'à chaque fois que je rajoute des points refaire tourner le dynamo. Je souhaites trouver la formule vba dans le jeu de propriété, comme ça dès qu'un point est crée, l'altitude est inscrite dans le jeu de propriété sans faire tourner de script.
Bonjour,
Merci pour le dynamo cela a fonctionné.
En réalité je pensais utiliser le vba directement dans le jeu de propriété pour que ce soit automatique, là il faut qu'à chaque fois que je rajoute des points refaire tourner le dynamo. Je souhaites trouver la formule vba dans le jeu de propriété, comme ça dès qu'un point est crée, l'altitude est inscrite dans le jeu de propriété sans faire tourner de script.
Bonjour @lfesslerBDUQ2
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 APPROUVER LA SOLUTION en bas de la réponse qui apporte une solution?
Merci de ne pas accepter comme solution le message que vous êtes en train de lire.
Bonjour @patrick.emin
Non le problème n'est pas résolu. Pour ce cas précis je souhaiterais utlisé une formule en vba directement dans le jeu de propriété et non faire tourner le script dynamo à chaque fois que je rajoute un point.
Si quelqu'un a une idée je suis toujours preneur.
Ou alors, y aurait-il un moyen de faire tourner constamment le script dynamo en tâche de fond pour ajouter la hauteur du point dans le jeu de propriété dès qu'il est crée ?
Bonsoir @lfesslerBDUQ2 ,
Alors pour le VBA, j’ai jamais creusé le sujet plus que sur le post que je joins ici https://forums.autodesk.com/t5/civil-3d-et-infraworks-francais/jeu-de-proprietes-d-une-surface-trian... pour @alexandre.victor (peut-être a-t-il été plus loin?)
Si ça peut aider...
Bonjour,
en toute franchise Guillaume, quand j'ai vu ta réponse je me suis dit "bon, Guillaume a compris le problème, je le laisse faire" 🙂
De mon côté je n'ai pas saisi l'objectif
J'ai essayé (pour la cause) de récupérer le Z d'un point COGO en jeu de propriété mais sans succès (je ne suis vraiment pas doué avec ça 😕 )
@lfesslerBDUQ2, ce que je ne comprends pas c'est que le Z est déjà une propriété du point COGO. Du coup, pourquoi vouloir la retrouver en jeu de propriété ?
Une fois que la hauteur du point est dans le jeu de propriété je peux la modifier.
Le soucis est que sur nos plans nous avons des altitudes de plans à 3 chiffres avant la virgule, disons 283,65 m.
Si il y a peu de points sur le plan, pas de problèmes, mais dès que nous avons plus de points cela devient vite illisible.
C'est pourquoi nous voulons afficher sur l'étiquette du point, l'altitude sans les 2 premiers chiffres:
Altitude réel= 283.65 m
Altitude affichée sur le plan= 3.65
J'ai essayé ça pour l'instant:
RESULT="--"
On Error Resume Next
Set oApp=GetObject(, "AutoCAD.Application")
Set oCivilApp=oApp.GetInterfaceObject("AeccXUiLand.AeccApplication.13.3")
Set obj=oCivilApp.ActiveDocument.ObjectIDToObject([ObjectID])
RESULT= GetUserDefinedPropertyValue.elevation
Mais ça ne marche, et vu que je ne m'y connais pas en vba, je ne sais pas ce qui est faux
Moi non plus c’est ça le truc, j’ai essayé ce matin de ce côté, je n’ai pas réussi à trouver le paramètre à interroger pour l’élévation...
Il y a bien cette page pour les Points COGO, mais je n'arrive pas à m'en servir
@Vincent_Fredon , peut-être une connexion possible avec Jowenn LUA qui avait fait cette classe AU sur le sujet (et qui a rejoint Autodesk depuis...)
Bonjour @lfesslerBDUQ2
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 APPROUVER LA SOLUTION en bas de la réponse qui apporte une solution?
Merci de ne pas accepter comme solution le message que vous êtes en train de lire.
Bonjour @lfesslerBDUQ2
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 APPROUVER LA SOLUTION en bas de la réponse qui apporte une solution?
Merci de ne pas accepter comme solution le message que vous êtes en train de lire.
Bonjour à tous,
Après plusieurs essais, la solution la plus simple pour ne pas afficher tous les chiffres avant la virgule de l'altitude d'un point CoGo (par ex: 285.66m => 5.66m) afin d'avoir plus de place et de lisibilité sur le plan, est d'utlisé la fonction Expressions dans le style d'étiquette du point.
Les expressions dans civl 3D permettent d'appliquer une fonction mathématique à une propriété d'un objet civil (Point CoGo, Profil en long, etc...) puis d'insérer le résultat dans une étiquette:
1. Pour définir une expression il faut se rendre dans la palette Fenêtre d'outils, onglet paramètres et choisir type d'objet civil auquel on veut appliquer l'expression:
2. Créer une expression:
Ne pas oublié d'appliquer la formule à la propriété souhaitée, sinon elle n'apparaitra pas au bon endroit dans le style d'étiquette, ici à l'altitude (Höhe)
3. Insérer l'expression dans l'étiquette du style du point:
Désolé pour les images en allemand, mais je n'ai que civil 3D Allemand.
Petite traduction pour aider:
Ausdruck = Expression
Punkthöhe = Altitude du point
Beschriftungsstil = style d'étiquette
Ci-dessous quelques liens vers l'aide de Civil 3D pour les expressions et les styles d'étiquettes:
Vous n'avez pas trouvé ce que vous recherchiez ? Posez une question à la communauté ou partagez vos connaissances.