Aller au contenu

Renseigner un champ OD


Cadiste

Messages recommandés

Bonjour,

 

Depuis Autocad Map 2016, je dois renseigner des champs d'objets sans les faire un par un.

 

Pour cela, j'utilise la dll ODSelect qui me permet de sélectionner selon une valeur de champ ( ici un champ texte).

 

Voici ma démarche,

> sélection depuis autocad, ici des blocs RACCORD avec une table d'objets nommée RACCORD => 48 objets sélectionnés

 

> je lance cette commande pour sélectionner la valeur nulle (ou nil) du champ [PRECISION] de la table RACCORD

 

(setq sel (car (SelParODValLsp "RACCORD" "PRECISION" "" )))

=> 13 objects selected with data<Selection set: 9705>

ok

 

> je lance cette commande pour renseigner ma sélection des 13 objets (renseigne C pour les valeurs nulles)

(ade_odsetfield ent "RACCORD" "PRECISION" "C")

=> nil

 

ça ne fonctionne pas ..

 

Je pense que la valeur "ent" est prévu pour un champ numérique et pas texte..

 

Que puis je renseigner à la place?

Lien vers le commentaire
Partager sur d’autres sites

Hello

 

SVP tu nous fais un Transfert (Download Free ou WE-Transert ou Equivalent) avec :

- Ton DWG ou un extrait par un WBLOC ou on a TES Polylignes ou TES Blocs ou XXXXXX avec les Tables et Champs OD

- Ta Fonction/Routine SelParODValLsp

 

Merci, Bye, lecrabe

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

Re,

 

la commande est inconnue...; :angry: :angry: :angry:

 

C'est spécifique à Cad 2018??

 

 

C'est une ".dll" développé par Olivier, on retrouve le lien depuis la page que tu pointes toi même => https://georezo.net/forum/viewtopic.php?id=61525&p=2

Civil 3D 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

(ade_odsetfield ent "RACCORD" "PRECISION" "C") n'est pas correct!

 

(ade_odsetfield ent "RACCORD" "PRECISION" 0 "C") est correct.

 

ent est la variable du nom de ton entité à traitée. 0 est l'indice du numéro d'enregistrement. (si différent de zéro tu empile tes données, autrement tu écrase la donnée)

 

depuis

(setq sel (car (SelParODValLsp "RACCORD" "PRECISION" "" )))

il faut te faire une boucle pour traiter les entités contenu dans ton jeu de séléction

cela pourrait être

(cond
 (sel
   (repeat (setq n (sslength sel))
     (setq ent (ssname sel (setq n (1- n))))
     (ade_odsetfield ent "RACCORD" "PRECISION" 0 "C")
   )
  )
)

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Lien vers le commentaire
Partager sur d’autres sites

Hello Le Savoyard "qui patauge dans les Eaux"

 

1) SVP tu vas utiliser la DLL "dernier cri" de Olivier !

Le fichier sera accessible à l'adresse suivante: http://dl.free.fr/vqwr2mcPn

 

2) Alors as tu bien les commandes: MapShowOD , MQSelect , MAPBATI3D ???

Sur mon AutoCAD MAP 2015 x64 : TOUT Fonctionne !

Y compris: (setq sel (car (SelParODValLsp "RACCORD" "PRECISION" "" )))

 

3) Tes Noms de Champs OD sont SYMPAs !

MAIS MAIS il ne faut pas oublier que lors d'un MAPEXPORT au Format SHP

ce CRETIN de AutoCAD MAP 201X va TOUT tronquer au niveau des Noms OD (Tables + surtout Champs) a 10 (DIX) caracteres !!!

4) Si tes Neurones de l'Ete sont deconnectes !?

RAPPEL: Chargement par NETLOAD

Bye, lecrabe

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

Hello Le Savoyard "qui patauge dans les Eaux"

 

1) SVP tu vas utiliser la DLL "dernier cri" de Olivier !

Le fichier sera accessible à l'adresse suivante: http://dl.free.fr/vqwr2mcPn

 

2) Alors as tu bien les commandes: MapShowOD , MQSelect , MAPBATI3D ???

Sur mon AutoCAD MAP 2015 x64 : TOUT Fonctionne !

Y compris: (setq sel (car (SelParODValLsp "RACCORD" "PRECISION" "" )))

 

3) Tes Noms de Champs OD sont SYMPAs !

MAIS MAIS il ne faut pas oublier que lors d'un MAPEXPORT au Format SHP

ce CRETIN de AutoCAD MAP 201X va TOUT tronquer au niveau des Noms OD (Tables + surtout Champs) a 10 (DIX) caracteres !!!

4) Si tes Neurones de l'Ete sont deconnectes !?

RAPPEL: Chargement par NETLOAD <Entree>

Bye, lecrabe

 

Merci le crabe ... :)

 

C'est parfait !!!! ça fonctionne très bien avec la DLL "dernier cri"

 

1)ça fonctionne nickel merci

 

2)les commandes tournent très bien.... je vais même étudier MAPBATI3D .. elle a l'air sympathique..

 

3)merci ... ^_^ oui j'ai remarqué que le nom est tronqué, ce n'est pas contraignant le rendu est sous autocad

 

4)merci ;-)

 

 

Un grand merci à vous tous pour cette aide... ça répond exactement à ce que j'attendais.. et même en mieux..

 

@Bonuscad, merci beaucoup, je vais essayé avec ta méthode aussi, je vais préparer dans des bloc notes avec les lignes de commande prédéfinies.

 

Merci à tous

Lien vers le commentaire
Partager sur d’autres sites

Hello Mr Lost Water 73

 

MAPBATI3D récupére un champ OD numérique sur les 2D Plines et exécute une commande 3D d'Extrusion...

 

Ainsi on obtient des vrais 3DSOLIDs !

 

C TOP pour les Bâtiments...

 

Merci Olivier, Bye, l'écran

  • Upvote 1

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • 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é