Aller au contenu

Messages recommandés

Posté(e)

Bonjours à tous

 

J'ai une cinquantaine de requètes à lancer lors de l'importation d'un fichier dwg (issu d'un dgn). J'aurai aimé qu'on m'indique la démarche à suivre pour en exécuter une, je me débrouille avec les 49 autres... Mon but est de faire un LiSP pour lancer toutes les requètes en un clique...

 

Une requète est en pièce jointe.

 

Merci à tous et bon week-end à tous...

 

Denis...

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Posté(e)

Hello

 

Je ne suis pas sur de tout comprendre !?

 

Si tu sais faire des requetes sur le groupe de dessins de MAP, OU est le probleme ?

Ta capture ecran montre en plus une requete en mode "Modifier/Alterer" les objets ...

donc j'ai l'impression que tu maitrises !?

 

Je te conseille d'enregistrer ta requete en fichier externe .QRY - c un fichier texte

et ainsi tu auras la syntaxe des requetes de MAP - C du Lisp du module ADE de MAP ...

 

Tu peux enchainer N requetes .QRY en les fusionnnant dans un "gros" fichier .QRY

et tu lances par la commande MAP : ADERUNXQUERY ...

 

Voir le ZIP ci-joint qui est en fait une fusion de 4 fichiers .QRY

 

En esperant t'avoir aide un peu !?

 

Bon WE, lecrabe

 

PS: les requetes MAP sont separees par des _REDRAW pour une lecture plus facile ...

 

Autodesk Expert Elite Team

Posté(e)

Bonsoir The Décapode,

 

Mon Pb est que les fichiers n'ont jamais le même nom comme :

(setq dwg_id(ade_dsattach "BOURG:\\D.DWG"))
(setq dwg_id(ade_dsattach "BOURG:\\H.DWG"))
(setq dwg_id(ade_dsattach "BOURG:\\I.DWG"))
(setq dwg_id(ade_dsattach "BOURG:\\J.DWG"))

Car je n'ai jamais le même client mais mes fichiers sont déjà tous associés...

 

C'est là ou j'aimerais ne pas avoir à intervenir requète par requète...

 

Je pensais à une routine VBA mais je penchais plus pour une VLisp

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Posté(e)

Hello Denis

 

NON il te suffit d'attacher les bons fichiers au debut du GROS fichier .QRY !

donc tu laisses le 1er groupe de DS_ATTACH ...

et tu peux supprimer TOUS les autres ADE_DSATTACH du fichier .QRY

si bien sur tu travailles sur les memes fichiers , ca marche parfaitement !

 

lecrabe

 

PS: cette requete travaille sur les DWGs de section cadastrale

- Parcelles sur le calque PLIM

Elle ne traite que les parcelles > 1000 m2

--> Largeur globale des Polylignes forcee = 1

--> Generation d'un Hachurage APlat Couleur = 31 sur un calque precis

--> Generation d'un Texte de la surface avec ZERO decimale sur un calque precis

Autodesk Expert Elite Team

Posté(e)

Hello

 

NON NON je raconte des betises , il faut a priori remettre les DS_ATTACH

au debut de chaque Requete dans le gros fichier .QRY !

 

SORRY, lecrabe

 

PS: avec le BON fichier .QRY et les 4 requetes dans le BON ordre !

 

Autodesk Expert Elite Team

Posté(e)

Hello,

 

1. je n'ai pas fait ces requètes et celui qui les a faites n'est plus là, ce qui explique que j'ai du mal à comprendre à quoi elles servent exactement.

2. Comment les lancer, en faisant un defun ?

3. si mon dwg est déjà associé, ça fonctionnerait ?

'redraw
(setq ade_cmddia_before_qry (getvar "cmddia"))
(setvar "cmddia" 0)
(ade_qryclear)
(ade_qrysettype "draw")
(ade_qrydefine '("" "" "NOT" "Property" ("objtype" "=" "INSERT")""))
(ade_qrydefine '("AND" "" "" "Property" ("layer" "=" "5")""))
(ade_qrydefine '("AND" "" "NOT" "Property" ("objtype" "=" "TEXT")""))
(ade_qrysetaltprop T)
(ade_altpclear)
(ade_altpdefine "Layer" "Escalier")
(ade_qryexecute)
(setvar "cmddia" ade_cmddia_before_qry)
'redraw
(setq ade_cmddia_before_qry (getvar "cmddia"))
(setvar "cmddia" 0)
(ade_qryclear)
(ade_qrysettype "draw")
(ade_qrydefine '("" "" "" "Property" ("blockname" "=" "ACCES,ACCES1")""))
(ade_qryexecute)
(setvar "cmddia" ade_cmddia_before_qry)
'redraw
(setq ade_cmddia_before_qry (getvar "cmddia"))
(setvar "cmddia" 0)
(ade_qryclear)
(ade_qrysettype "draw")
(ade_qrydefine '("" "" "NOT" "Property" ("objtype" "=" "INSERT")""))
(ade_qrydefine '("AND" "" "" "Property" ("layer" "=" "57")""))
(ade_qrysetaltprop T)
(ade_altpclear)
(ade_altpdefine "Layer" "BATI")
(ade_qryexecute)
(setvar "cmddia" ade_cmddia_before_qry)

 

Merci,

 

Denis...

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Posté(e)

Hello

 

Tu as vu mon MP ?

 

En principe ta requete multiple .QRY , signifie (analyse rapide) :

 

- Pour TOUS les objets qui ne sont pas des Blocs (INSERT) NI des Textes (TEXT) et qui sont sur le calque 5

on va alterer/modifier les proprietes des objets DESSINES de la facon suivante ...

... on va les dessiner sur le calque "Escalier"

 

puis

 

- Pour TOUS les objets qui sont des Blocs nommes : ACCES, ACCES1

... on va les dessiner ( sur leur calque "normal" )

 

puis

 

- Pour TOUS les objets qui ne sont pas des Blocs (INSERT) et qui sont sur le calque 57

on va alterer/modifier les proprietes des objets DESSINES de la facon suivante ...

... on va les dessiner sur le calque "Bati"

 

Cela a t-il un sens pour toi ?

 

Bonne Journee, lecrabe

Autodesk Expert Elite Team

Posté(e)

Salut à tous

 

J'ai bien compris, après ton MP, le principe de requète.

 

Je n'ai pas encore eu l'occasion d'en faire d'autres.

 

J'ai enregistré les requètes dans un fichier (qui est effectivement un LiSP) et je les ai concatené en un seul...

 

Ca marche nickel...

 

Merci encore,

 

Denis...

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

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é