Aller au contenu

Points sur blocs


Messages recommandés

Posté(e)

Ca ne marche pas si tu remplaces :

(cons 0 "CIRCLE")

par :

(cons 0 "INSERT")

?

 

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Posté(e)

Salut,

un petit truc rapide :

 (defun c:ptb (/ Q sel x ent_b)

  (initget 0 "T")
  (setq Q (getkword "\n Tous les Blocs < T > ou < Sélec >: "))
  (if (= Q nil)     
    (setq sel (ssget '((0 . "INSERT" ))))
    (setq sel (ssget "_X" '((0 . "INSERT" ))))
    )
(setq x 0)
(if sel (progn
(repeat (sslength sel)
(setq ent_b (ssname sel x))
(command "_point" (trans (cdr (assoc 10 (entget ent_b))) 0 1))
(setq x (+ x 1))
)
)
)
(princ)
)

 

... attention, les points ne sont insérer qu'à l'insert des blocs imbriqués, pas à tout les point d'insert des blocs dans le bloc imbriqué !...

 

Si ça te va comme ça, tant mieux (parceque le coup des blocs imbriqués, (gile) m'a épuisé (amicalement) avec !!! et je n'en suis toujour pas revenu !)

 

-------------

j'édite

grillé par Tramber ! je suis encore trop lent !

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

 

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

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

Posté(e)

:laugh: Exactly ce que je voulais faire

Les deux soluces fonctionnent nickel ....

 

Respect Bred & Tramber

 

Encore merci.

 

Faudrait que je prenne quelques cours de lisp car ya pas photos çà aide!!!

Et j'ai hate de pouvoir rendre la monnaie en aidant un autre ACADIEN... :yltype:

 

 

Posté(e)

Re'

Par respect pour ceux qui m'ont appris ici à "lisper", j'ai éditer le lisp en réponse 2 afin que les points s'insert quelque soit le SCU (la fonction "trans").

 

J'ai rajouté aussi la possibilité de faire un choix entre tout les blocs (T) de la collection ou faire une sélection....

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

Posté(e)

Salut Bred,

 

Juste une petite remarque, le point d'insertion d'une référence de bloc n'est pas défini dans le SCG, mais dans le SCO.

Je pense qu'il vaut mieux faire :

 

(command "_point" (trans (cdr (assoc 10 (entget ent_b))) ent_b 1)) 

 

Tu peux voir ce sujet.

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

Posté(e)

Raaaaa... je suis allé encore trop vite....

C'est la logique même que le point d'insertion dans l'entité d'un bloc soit dans le SCO.....

encore une fois merci, (gile)....

 

La réponse 2 avec correction proposé par (gile) :

 

 (defun c:ptb (/ Q sel x ent_b)

(initget 0 "T")
(setq Q (getkword "\n Tous les Blocs < T > ou < Sélec >: "))
(if (= Q nil)
(setq sel (ssget '((0 . "INSERT" ))))
(setq sel (ssget "_X" '((0 . "INSERT" ))))
)
(setq x 0)
(if sel (progn
(repeat (sslength sel)
(setq ent_b (ssname sel x))
(command "_point" (trans (cdr (assoc 10 (entget ent_b)))[b]  ent_b 1[/b] ))
(setq x (+ x 1))
)
)
)
(princ)
)

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é