Aller au contenu

Icone avec macro pour insérer des wbloc


Messages recommandés

Posté(e)

Bonjour,

il y a pas mal de temp j'avais fais des barres d'outil pour insérer des wbloc, de commande électrique, style interrupteur, contacteur etc...

J'ai donné le chemin dans le fichier support, mais j'ai du mal à me souvenir de la macro exact, j'ai essayé avec celle-ci et ça à l'air de marcher :

[ ^C^C-inserer inter \1 0 ] "Inter" étant le nom du fichier.

Est-ce exact ?

Y a-t-il une syntaxe pour inserer mon bloc pleine page, pour une feuille de présentation A4 avec cartouche et attribut par exemple ?

 

merci de vos lumières

 

[Edité le 16/10/2006 par FormaBois]

Studio Gfilm - Agence de communication par l'image

 

"Le matin tu peux rester couché pour poursuivre ton rêve, ou te lever pour le réaliser"

Posté(e)

Ma question est-elle sans intérêt maintenant qu'il y a "Design center" et la palette d'outil ...?!

Il me semble aussi rapide d'avoir des barres d'outil avec des icones nommés, que d'ouvrir la palette d'outils, de choisir l'onglet puis le bloc à insérer !?

Studio Gfilm - Agence de communication par l'image

 

"Le matin tu peux rester couché pour poursuivre ton rêve, ou te lever pour le réaliser"

Posté(e)
Bonjour,

il y a pas mal de temp j'avais fais des barres d'outil pour insérer des wbloc, de commande électrique, style interrupteur, contacteur etc...

J'ai donné le chemin dans le fichier support, mais j'ai du mal à me souvenir de la macro exact, j'ai essayé avec celle-ci et ça à l'air de marcher :

[ ^C^C-inserer inter \1 0 ] "Inter" étant le nom du fichier.

Est-ce exact ?

Y a-t-il une syntaxe pour inserer mon bloc pleine page, pour une feuille de présentation A4 avec cartouche et attribut par exemple ?

 

merci de vos lumières

 

[Edité le 16/10/2006 par FormaBois]

 

 

Bonjour je suis également intéressé par une explication sur la façon de faire pour insérer des blocs par l'intermédiare de boutons ou menu.

Est-il possible d'avoir une explication en indiquant si l'on doit par l'intermédiaire de l'interface "option" définir un répertoire où autocad pourra aller chercher les blocs que l'on souhaite inserer

 

Ou alors un exemple de type de macro à écrire.

 

Merci d'avance pour vos réponses.

Posté(e)

Ci-joint 2 exemples de macros pour insersion de blocs.

 

*^C^C-i;"C:/Alain/MesRoutines/MesBlocks/Barreoutil/Regard.dwg";\;1;0;

 

*^C^C-i;"C:/Alain/MesRoutines/MesBlocks/BarreOutil/FlécheGauche.dwg";\;1;?;

 

L'astérisque (*) en début de code permet la réitération de l'insertion

Le (?) dans le 2° code permet la rotation du bloc.

 

Posté(e)

 

Est-il possible d'avoir une explication en indiquant si l'on doit par l'intermédiaire de l'interface "option" définir un répertoire où autocad pourra aller chercher les blocs que l'on souhaite inserer

 

Merci d'avance pour vos réponses.

 

Tout a fait, tu dois définir le chemin ici : Outils>Options>Onglet Fichiers

rubrique : Chemin de recherche de fichiers support... et tu ajoute le chemin vers ce/ces fichiers

 

et dans ce cas là tu n'a pas besoin de mentionner le chemin dans la macro

 

[Edité le 16/10/2006 par FormaBois]

Studio Gfilm - Agence de communication par l'image

 

"Le matin tu peux rester couché pour poursuivre ton rêve, ou te lever pour le réaliser"

  • 3 semaines après...
Posté(e)

Salut,

Le copier+rotation existe de lui même sur 2006 :

quand tu fais une rotation, tu rentre l'option "C" quand il te le demande.

 

par contre, pour les wblocs, je me suis fait un petit lisp qui te récupère un bloc déjà insérer en le selectionnant : tu l'as ensuite au bout du curseur et tu n'as plus qu'à le ré-insérer où tu veux, en lui donnant une orientation. (l'echelle du bloc et la même). Cela revient à faire un copier/rotation de bloc...

 

Le lisp :

 (defun c:InsertBlocsel (/ bloc_sel)
 (princ "\nInsertion Bloc Sélectionné :")
 (while (= bloc_sel nil)
(setq bloc_sel (ssget "_:S:E" '((0 . "INSERT")))))
 (command "-inserer" (cdr (assoc 2 (entget (ssname bloc_sel 0)))) pause 1 1 pause)
 (princ)
)

 

[Edité le 9/11/2006 par Bred]

Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...

Posté(e)

Merci Bred,

effectivement la commande rotation a une option "copier" que je n'avais pas remarqué.

J'ai copier ton lisp et l'ai collé sur la ligne commande mais ça ne marche pas.

J'ai bien essayé avec APPLOAD, mais n'y suis pas plus arrivé.

C'est vrai que je connais mal ce domaine que j'aimerais pourtant bien exploiter.

 

Y a t-il des aides ou des tutaux sur le sujet ?

Studio Gfilm - Agence de communication par l'image

 

"Le matin tu peux rester couché pour poursuivre ton rêve, ou te lever pour le réaliser"

Posté(e)

Salut,

l'une de manière : (la + "simple" pour débuter)

 

Tu copies le code dans un bloc note que tu nommes et enregistre comme tu veux en mettant comme extension .lsp

 

Puis tu vas dans Autocad, tu va dans Outils / Charger une Application

Dans la boite de dialogue tu as une valise : tu delectionne "contenu"

 

... et là tu vas chercher le fichier .lsp que tu as enregistrer precedement.

 

Tu auras dorénavant une nouvelle commande dans autocad nommé "InsertBlocsel" (tape là au clavier)

 

Le lisp sera alors charger à chaque démarage. Il y a d'autre manières....

 

Pour info, si tu veux raccourcir le nom de la commande au clavier tu met ce que tu veux comme commande à la place de "InsertBlocsel" dans

(defun c:[b]InsertBlocsel[/b] (/ bloc_sel)...............

(laisse le c: )

 

 

 

 

Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...

Posté(e)

Salut,

voilà le résultat de mes manip...

 

Quand j'insère un bloc et le sélectionne à nouveau par le point d'insertion j'arrive à lui faire une rotation dans un premier temp puis des copies multiples ensuite

Voir ci-dessous :

 

** ETIRER **

Spécifiez le point d'étirement ou [point de Base/Copier/annUler/Quitter]: R

 

** ROTATION **

Spécifiez l'angle de rotation ou [point de

Base/Copier/annUler/rEférence/Quitter]: 45

 

Commande:

 

** ETIRER **

Spécifiez le point d'étirement ou [point de Base/Copier/annUler/Quitter]: C

 

** ETIRER (multiple) **

Spécifiez le point d'étirement ou [point de Base/Copier/annUler/Quitter]:

 

** ETIRER (multiple) **

Spécifiez le point d'étirement ou [point de Base/Copier/annUler/Quitter]:

 

** ETIRER (multiple) **

Spécifiez le point d'étirement ou [point de Base/Copier/annUler/Quitter]:

 

Mais cela AutoCad le fait sans l'aide du lisp je pense ?!

Quand je le charge comme tu m'a indiqué je ne vois pas ce qu'il y a de plus !

Ou je n'ai pas tout compris, ou ...

 

Voilà le message d'erreur : Commande:

Commande: InsertBlocsel

; erreur: type d'argument incorrect: FILE ""

 

A +

 

[Edité le 9/11/2006 par FormaBois]

Studio Gfilm - Agence de communication par l'image

 

"Le matin tu peux rester couché pour poursuivre ton rêve, ou te lever pour le réaliser"

Posté(e)

Désolé, un copier/coller/corrigé trop rapidement fait...

 

lisp corrigé :

 

 (defun c:InsertBlocsel (/ bloc_sel)
(princ "\nInsertion Bloc Sélectionné :")
(while (= bloc_sel nil)
(setq bloc_sel (ssget "_:S:E" '((0 . "INSERT")))))
(command "-inserer" (cdr (assoc 2 (entget (ssname bloc_sel 0)))) pause 1 1 pause)
(princ)
)

Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...

Posté(e)

Ça marche

merci Bred ;)

 

un point de la question du départ reste non résolu, celui-ci :

 

Y a-t-il une syntaxe pour insérer mon bloc pleine page, pour une feuille de présentation A4 avec cartouche et attribut par exemple ?

 

Je m'étais peut-être mal exprimé, mon bloc est une feuille de présentation A4 avec cartouche et attribut,

 

[Edité le 10/11/2006 par FormaBois]

Studio Gfilm - Agence de communication par l'image

 

"Le matin tu peux rester couché pour poursuivre ton rêve, ou te lever pour le réaliser"

Posté(e)

En me relisant je m'aperçois que je ne suis pas très clair ...

 

Donc à l'époque "épique" avec mes barres d'outils déroulantes pleines de symboles électrique il m'arrivais aussi d'insérer des cartouches Ft A4 qui était sur des barres d'icône.

je ne travaille plus dans cette boite...J'ai ré-essayé la manip mais n'y suis jamais arrivé car la macro était un peu compliqué vu que le format A4 s'insérait plein écran, c'est à dire adaptait le format de la page au Ft de l'écran. Me suis-je bien fais comprendre ?

Je désirerai retrouver la syntaxe de cette macro, voilà ... :)

Studio Gfilm - Agence de communication par l'image

 

"Le matin tu peux rester couché pour poursuivre ton rêve, ou te lever pour le réaliser"

Posté(e)

Salut,

le format A4 s'insérait plein écran, c'est à dire adaptait le format de la page au Ft de l'écran.

pour comprendre : tu veux qu'en inserant ton bloc "Cartouche A4" il se mette à l'echelle de ta fenêtre (dans l'espace présentation...) ?

 

... j'avoue que si c'est ça quelque chose m'échappe sur la logique de la chose ... :casstet:

 

[Edité le 10/11/2006 par Bred]

Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...

Posté(e)

Voilà, tout a fait,

que ce soit dans l'espace présentation ou l'espace objet le bloc "s'ouvrait" plein écran ou plus petit suivant la macro, sans que cela affecte l'échelle, c'était uniquement une histoire de zoom à l'écran...

C'était plutot dans l'espace Objet

 

 

[Edité le 10/11/2006 par FormaBois]

Studio Gfilm - Agence de communication par l'image

 

"Le matin tu peux rester couché pour poursuivre ton rêve, ou te lever pour le réaliser"

Posté(e)

Salut,

j'espère que c'est ça (fait rapidement) :

 

Insertion d'un bloc ("Mon_Bloc") à l'echelle 1 / 1 et rotation 0.

; Zoom objet sur bloc insérer
(defun c:ZBA4 ()
 (command "-inserer" "Mon_Bloc" pause 1 1 0
   "_zoom" "_o" (entlast) "")
 (princ)
 )

 

- change "Mon_Bloc" par le Nom de ton Bloc (ex : "Cartouche A4")

- Si tu n'as pas ce bloc dans la collection, ou que tes fichiers supports ne dirige pas vers tes blocs, il faut que tu rentre le nom en chemin complet (ex :"C:\\Mon rep\\blocs\\Cartouche A4.dwg")

 

-c'est un lisp, tu aurais peut-être préférer en diesel...

 

- tu n'as qu'à le copier à la suite du lisp que tu as enregistrer précedement (dans ton fichier .lsp), tu relance un nouveau dessin et tu lances la commande "ZBA4".

Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...

Posté(e)
-c'est un lisp, tu aurais peut-être préférer en diesel...

Salut Bred

Effectivement j'aurais souhaité une macro à associer à une icône, (je suppose que c'est du diesel !?) néanmoins je vais essayer ton lisp.

J'ai l'impression d'avoir fait un grand pas en avant grâce à toi, c'est génial, et merci d'avoir pris le temp avec moi.

 

Studio Gfilm - Agence de communication par l'image

 

"Le matin tu peux rester couché pour poursuivre ton rêve, ou te lever pour le réaliser"

Posté(e)

Salut,

j'aurais souhaité une macro à associer à une icône,

Tu peux rentrer comme macro-bouton : ^C^CZBA4;

Le lisp crée une commande, donc tu peux l'appeller par un bouton..

 

Si tu veux absolument une macro tel que j'ai l'impression que tu connais :

 

^C^C-inserer;Mon_Bloc;\1;1;0;_zoom;_ob;d;;

 

Je ne te garantie pas de la "propreté" du script. Certains dans ce forum pourront corrigé....

 

Tiens moi au courant si c'est ce que tu voulais... on pourrait peut-être l'améliorer si besoin !

 

[Edité le 21/12/2006 par Bred]

Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...

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é