Communauté
AutoCAD – tous produits - Français
Bienvenue sur les forums AutoCAD d’Autodesk. Partagez vos connaissances, posez des questions, et explorez les sujets AutoCAD populaires.
annuler
Affichage des résultats de 
Afficher  uniquement  | Rechercher plutôt 
Vouliez-vous dire : 

AutoCAD : Script d'insertion de bloc

8 RÉPONSES 8
RÉSOLU
Répondre
Message 1 sur 9
Anonymous
2143 Visites, 8 Réponses

AutoCAD : Script d'insertion de bloc

Bonjour,
Je désir faire un script qui insert un bloc en remplissant les attributs.
l'espace me permet de faire les ENTER
mais pour entrer les séparateur entre les valeurs d'attributs l'espace le ;
sont pris comme des caractères dans le champs

-INSERER D:\HB4\1 1 0,0 ATTRIBUT1 ATTRIBUT2 ATTRIBUT3

dans ce cas je veux:
insérer -INSERER
le bloc D:\HB4\1
echelle 1
point d'insertion 0,0
Attribut 1 ATTRIBUT1
Attribut 2 ATTRIBUT2

Qui a une idée


Le titre du sujet a été modifié par un modérateur pour faciliter la recherche. Titre original:
Script d'insertion de bloc

8 RÉPONSES 8
Message 2 sur 9
Anonymous
en réponse à: Anonymous

Bonjour,
Et ceci
-INSERER
D:\HB4\1
1 0,0

ATTRIBUT1
ATTRIBUT2
ATTRIBUT3

Donc sur plusieurs lignes.
A+
--
Bernard Flavignard
www.guidonchalettois.fr
"Nicolas" < a écrit dans le message de news:
5638454@discussion.autodesk.com...
Bonjour,
Je désir faire un script qui insert un bloc en remplissant les attributs.
l'espace me permet de faire les ENTER
mais pour entrer les séparateur entre les valeurs d'attributs l'espace le ;
sont pris comme des caractères dans le champs

-INSERER D:\HB4\1 1 0,0 ATTRIBUT1 ATTRIBUT2 ATTRIBUT3

dans ce cas je veux:
insérer -INSERER
le bloc D:\HB4\1
echelle 1
point d'insertion 0,0
Attribut 1 ATTRIBUT1
Attribut 2 ATTRIBUT2

Qui a une idée
Message 3 sur 9
Anonymous
en réponse à: Anonymous

Ca marche.
J'avais pensé au espace ; mais pas le ENTER.

Ce sera jute un peu plus difficile pour reprendre des données depuis excel
réparties sur plusieures lignes.

Mais 4a me va bien, Un grand merci

"Bernard Flavignard" a écrit dans le message de
news: 5638464@discussion.autodesk.com...
Bonjour,
Et ceci
-INSERER
D:\HB4\1
1 0,0

ATTRIBUT1
ATTRIBUT2
ATTRIBUT3

Donc sur plusieurs lignes.
A+
--
Bernard Flavignard
www.guidonchalettois.fr
"Nicolas" < a écrit dans le message de news:
5638454@discussion.autodesk.com...
Bonjour,
Je désir faire un script qui insert un bloc en remplissant les attributs.
l'espace me permet de faire les ENTER
mais pour entrer les séparateur entre les valeurs d'attributs l'espace le ;
sont pris comme des caractères dans le champs

-INSERER D:\HB4\1 1 0,0 ATTRIBUT1 ATTRIBUT2 ATTRIBUT3

dans ce cas je veux:
insérer -INSERER
le bloc D:\HB4\1
echelle 1
point d'insertion 0,0
Attribut 1 ATTRIBUT1
Attribut 2 ATTRIBUT2

Qui a une idée
Message 4 sur 9
gricatti
en réponse à: Anonymous

Bonjour, j'ai essayé ce script mais j'ai un petit souci:

Le bloc s'insere, avec les parametre de position, echelle, rotation... Mais je n'arrive pas a éditer dans la foulée mes attributs. VOus auriez une idée?

Message 5 sur 9
patrick.emin
en réponse à: gricatti

Bonjour @gricatti  la discussion date de 2007, il est improbable que l'auteur de cette époque puisse vous répondre. Par contre d'autres utilisateurs pourront éventuellement avoir une idée.


Patrick Emin animateur de la communauté francophone


Vous avez trouvé un message utile? Alors donnez un "J'aime" à ce message!
Votre question a eu une réponse satisfaisante? Voulez vous avoir l'amabilité de cliquer sur le bouton
 APPROUVER LA SOLUTION  en bas de la réponse qui apporte une solution?
Signez notre Livre d'Or
Message 6 sur 9
didier_lourdelle
en réponse à: Anonymous

;;;

;;; Principe permettant d'insérer des blocs avec un script Autocad.
;;; Utilisation possible sur Autocad LT aussi à partir de la version 2024.
;;;
;;; Créé vos blocs avec pour chaque attribut une valeur par défaut qui sera unique dans le bloc est le dessin au moment de l'insertion dans dessin.
;;;
;;; le gros avantage de cette technique d'utilisation des instructions Autolisp dans un script la relecture est plus rapide, pas de problème d'espace en trop...
;;;
;;
;;
(VL-LOAD-COM)
;;
;; Utilise les valeurs par défaut de tous les attributs.
;;
(setvar "ATTREQ" 0)
;;
;; Pour l'insertion d'un bloc
;;
;; Exemple avec un bloc ayant 3 Attributs
(command-s "_-insert" "NomBloc1" "50,50" 1 0)
;;
;; Utilisation de la commande ATTEDIT pour faire un 'rechercher remplacer' dans le dessin
;;
(command-s "attedit" "n" "n" "" "" "" "ValeurParDefautAtt1" "NouvelleValeurAtt1")
(command-s "attedit" "n" "n" "" "" "" "ValeurParDefautAtt2" "NouvelleValeurAtt2")
(command-s "attedit" "n" "n" "" "" "" "ValeurParDefautAtt3" "NouvelleValeurAtt3")
;;
;; Exemple avec un bloc ayant 6 Attributs
;;
(command-s "_-insert" "NomBloc2" "50,50" 1 0 )
;;
;; Utilisation de la commande ATTEDIT pour faire un 'rechercher remplacer' dans le dessin
;;
(command-s "attedit" "n" "n" "" "" "" "ValeurParDefautAtt1" "NouvelleValeurAtt1")
(command-s "attedit" "n" "n" "" "" "" "ValeurParDefautAtt2" "NouvelleValeurAtt2")
(command-s "attedit" "n" "n" "" "" "" "ValeurParDefautAtt3" "NouvelleValeurAtt3")
(command-s "attedit" "n" "n" "" "" "" "ValeurParDefautAtt4" "NouvelleValeurAtt4")
(command-s "attedit" "n" "n" "" "" "" "ValeurParDefautAtt5" "NouvelleValeurAtt5")
(command-s "attedit" "n" "n" "" "" "" "ValeurParDefautAtt6" "NouvelleValeurAtt6")
;;
;; Active les invites ou la boîte de dialogue pour les valeurs d'attributs, comme indiqué par ATTDIA.
;;
(setvar "ATTREQ" 1)
;; Fin

EESignature

Didier Lourdelle Consultant, Formateur & Développeur CAO/DAO
Expertises : AutoCAD, AutoCAD LT, AutoCAD Electrical
Langages : VB.NET, Visual LISP, VBA, Diesel (Direct Interpretively Evaluated String Expression Language)
Base de données relationnelle : Microsoft Access, SQL Server, MySQL
Environnements de développement : Microsoft Visual Studio, Visual Studio Code, Editeur Visual LISP
Utilisations :AutoCAD MAP, Civil 3D, AutoCAD Architecture, AutoCAD MEP, Plant 3D, Civil 3D, RasterDesign, VehicleTracking, Autodesk Recap, Fusion 360, NavisWorks, Revit

Message 7 sur 9
Y.AUBRY
en réponse à: gricatti

Bonjour @gricatti ,

 

Pour que cela fonctionne au niveau de tes attributs il faut préparer tes variables systèmes pour la gestion en SCRIPT

 

FILEDIA : gestion des boites de dialogues fichier
CMMDIA : gestion des boites de dialogues commandes

ATTDIA : Gestion des boites de dialogues attributs

ATTREQ : gestion de la demande de saisie des attributs ou de l'utilisation des valeurs par défaut

 

Personnellement je mets toujours

au début du script :

 

FILEDIA
0
CMDDIA
0
ATTDIA
0
ATTREQ
1

 

 

et à la fin du script :

 

FILEDIA
1
CMDDIA
1
ATTDIA
1
ATTREQ
0

 

 

Ensuite ton script pourra fonctionner

 

Pour la migration d'un ligne de commande type Excel de type horizontale vers vertical tu peux utiliser NotePad++

 

Exemple :

Copie de la ligne "-INSERER D:\HB4\1 1 0,0 ATTRIBUT1 ATTRIBUT2 ATTRIBUT3" dans NotePad++

YAUBRY_0-1682425167408.png

 

Faire une recherche (soit Ctrl+F soit Menu "Recherche" puis "Recherche...")

 

Ensuite dans l'onglet Remplacer (1)

- Tape " " (espace) dans la partie recherche (2)

- Tape \n (correspond à un retour chariot = touche entrée) (3)

- Coche la case "Mode étendu" (4)

Puis remplacer tout (5)

YAUBRY_2-1682425343211.png

 

Tu obtiens le résultat suivant

 

YAUBRY_3-1682425362957.png

 

A+ Yoan

Yoan AUBRY

EESignature

Message 8 sur 9

un complément à mon message ce poste de 2020

Quand on dispose des fonctions Udf adaptées pour exécuter des séquences de dessin.

Ça devient un jeu d'enfant Excel et Autocad pour les scripts avec des copier coller.

surtout avec Autocad LT 2024 qui a le LISP

L'idéal restant un vrai programme Autolisp, VBA, VB .net, C#... 


EESignature

Didier Lourdelle Consultant, Formateur & Développeur CAO/DAO
Expertises : AutoCAD, AutoCAD LT, AutoCAD Electrical
Langages : VB.NET, Visual LISP, VBA, Diesel (Direct Interpretively Evaluated String Expression Language)
Base de données relationnelle : Microsoft Access, SQL Server, MySQL
Environnements de développement : Microsoft Visual Studio, Visual Studio Code, Editeur Visual LISP
Utilisations :AutoCAD MAP, Civil 3D, AutoCAD Architecture, AutoCAD MEP, Plant 3D, Civil 3D, RasterDesign, VehicleTracking, Autodesk Recap, Fusion 360, NavisWorks, Revit

Message 9 sur 9
gricatti
en réponse à: didier_lourdelle

Parfait! cela a très bien fonctionné. MERCI!

 

Je profites de ce post pour continuer dans la démarche, savez vous comment passer les "espaces" pour qu'ils soient bien interprétés dans le champ de texte final? En mettant entre guillemets toute l'expression cela permet de les passer dans l'expression, mais les guillemets apparaissent aussi!

Vous n'avez pas trouvé ce que vous recherchiez ? Posez une question à la communauté ou partagez vos connaissances.

Publier dans les forums  

Autodesk Design & Make Report