Aller au contenu

Messages recommandés

Posté(e)

Bonjour,

 

Existe t'il en lisp une commande qui permet d'inserer des blocs existants autrement que par la commande autocad (command "-inserer" ...... ???

 

merci d'avance

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

Posté(e)

Tu peux créer tes insertions via (entmake (liste des composants dxf))

 

(liste des composants dxf) est similaire à liste que tu pourrais obtenir en faisant un (entget (car (entsel))) sur un bloc inseré dans ton dessin.

 

Si ton bloc comporte des attributs tu devras aussi les créer de la même façon.

 

Pour t'aider dans ce cas fais une boucle avec (entget (entnext)) jusqu'a rencontrer une entité de type "ENDBLOCK".

 

Les entités complexes commes les blocs ou les polylignes (anciennes) sont assez fastidieuses à créer avec (entmake).

 

L'équivalent de la commande INSERER vas te prendre enormément de lignes de code. L'avantage par contre est que; (si la liste fournie est valide) ton insertion de bloc sera effectué dans toutes les conditions. Tu n'as pas besoin de te préoccuper des variables, de l'état des calques (vérrouillé, gelé...) etc...

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

Posté(e)

merci...

je le pressentais qu'avec enmake c'était possible... mais vu que pour l'instant je n'arrive qu'à faire un rond rouge avec entmake (via l'aide vlisp), je me suis mis sur ma reserve concernant son utilisation...

Je m'étais demandé si entre autre de entmake, il n'y avait pas des fonction "vl-..." qui proposais un raccourci efficace...

merci encore

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

Posté(e)

Salut

Si, si, ça existe en vl

 

(vla-InsertBlock (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object))) (vlax-3d-point '(0.0 0.0 0.0)) "Mon_Bloc")) 1 1 1 0))

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Posté(e)

Merci Patrick_35, mais je n'arrive pas à le faire fonctionner...

Cela doit être un souci de parenthèse, mais je n'arrive pas à le résoudre...

(pour info j'ai bien changé "Mon_Bloc" par un nom de bloc perso)...

 

De plus, pourrais-tu m'expliquer rapidement la logique de ces différentes commandes (l'aide vl est un peu.... laborieuse sur ce coup là...)

 

Merci encore

 

 

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

Posté(e)

Salut,

 

il y a effectivement un problème de paranthèses dans le code donné par Patrick_35

 

(vla-InsertBlock (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object))) (vlax-3d-point '(0.0 0.0 0.0)) "Mon_Bloc" 1 1 1 0) 

 

En français :

 

(vla-InsertBlock ... Insérer un bloc...

 

(vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object))) dans l'espace objet, du document actif, de l'application AutoCAD

 

(vlax-3d-point '(0.0 0.0 0.0)) transforme le point d'insertion sous forme de liste en variant

 

"Mon_Bloc" 1 1 1 0) puis le nom du bloc, les échelles en X, Y et Z, et la rotation.

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Merci à tous, je m'y pencherais après être un peu sorti voir le soleil...

 

Bon dimanche.

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

Posté(e)

J'étais en train d'écrire que ça ne fonctionnait pas, quand j'ai eu une petite lumière et que j'ai testé un truc : j'ai d'abord inserer le bloc "manuellemnt" dans le dessin, puis j'ai lancé le lisp, et là sa fonctionne...

 

Donc PROBLEME ....

 

Je n'ai pas forcémént le blocs déjà insérer dans le plan, (mais j'ai bien les fichiers supports configurer pour aller dans ma bibliothèque), je voudrais donc insérer un bloc qui ne se trouve pas forcément déjà inserer...

 

Merci.

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

Posté(e)

Je suis désolé mais je ne comprend pas et ça ne fonctionne toujours pas...

même si je rentre le chemin total du fichier de recherche (avec les \\... ou avec /...)

 

Confirmez moi que sa fonctionne et je continuerais à chercher où je fais une erreur...

 

merci encore...

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

Posté(e)

(vla-InsertBlock (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object))) (vlax-3d-point '(0.0 0.0 0.0)) "c:/../../../MonBloc.dwg" 1 1 1 0)

Ca fonctionne

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Posté(e)

Ok merci ça marche....

 

Juste pour info, je suis quand même obligé de changé les ../.. du chemin de fichier par des ...\\...

 

Merci encore.

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é