Aller au contenu

Rafraichissement hachure


bseb67

Messages recommandés

Salut à tous!

 

Là je coince sur un petit truc qui me gène.

J'ai un bloc dynamique http://bseb67.free.fr/cadxp/hachure/VOLET-VF.dwg avec deux propriétés: hauteur et largeur.

 

Si je modifie une des propriétés par le panneau des propriétés de l'objet, le bloc se met bien à jour : càd les hachures s'ajustent bien.

 

Mais comme j'ai fait un lisp, car il y a des dimensions standard, je fait donc un vla-put-Value sur les propriétés.

Mais les hachures ne suivent pas.

 

Je suis obligé de faire un regenall, ce qui est très long

 

Est-ce que l'on de vous à une idée pour ca?

 

merci.

Tous pour lisp, Lisp pour tous!

Avec Revit, cela ne vas trop vite...

Lien vers le commentaire
Partager sur d’autres sites

Salut

 

J'ai testé suivant deux méthodes et ça a l'air de fonctionner.

 

(setq bl (vlax-ename->vla-object (car (entsel)))
     pr (vlax-invoke bl 'getdynamicblockproperties)
     la (nth 0 pr)
     ht (nth 2 pr)
)

 

Méthode 1

(vla-put-value la 100.0)
(vla-put-value ht 100.0)

 

Méthode 2

(vlax-put la 'value 200.0)
(vlax-put ht 'value 300.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

Lien vers le commentaire
Partager sur d’autres sites

Salut patrick :)

 

Ce matin en ouvrant ce post, je me dit chouette on va essayer.

Et bien non, ca ne marche pas :( .

 

Je viens de faire un essai est voilà ce que cela fait (c'est la même chose que pour mon lisp):

http://bseb67.free.fr/cadxp/hachure/resize_bloc_hachure.PNG

 

Un regen est aussi nécessaire

Tous pour lisp, Lisp pour tous!

Avec Revit, cela ne vas trop vite...

Lien vers le commentaire
Partager sur d’autres sites

Re,

 

J'ai essayé sur ma 2010: et bien ca marche aussi.

 

Dans mon lisp je lance ma dcl pour choisir les dimensions,

puis je la ferme et lance une fonction pour la mise à jour des paramètres.

 

Et donc là, ca ne marche pas. Mais si je relance juste la fonction de mise à jour

des paramètres directement dans la console (avec les mêmes valeurs), et bien là ca

marche.

 

alors je me suis, bon, on fait un simple repeat 2 dans le lisp. Et bien non :mad:

marche pas non plus. je pensais que cela venait de la dcl, mais je ne crois pas;

car avec ceci:

 

(defun c:ttt()
(setq bl (vlax-ename->vla-object (car (entsel)))
     pr (vlax-invoke bl 'getdynamicblockproperties)
     la (nth 0 pr)
     ht (nth 2 pr)
)

(vlax-put la 'value 600.0)
(vlax-put ht 'value 600.0)
 )

si je lance 2 fois ttt => l'affichage est correct.

 

Mais avec ceci:

(defun tttt( bl)
(setq pr (vlax-invoke bl 'getdynamicblockproperties)
      la (nth 0 pr)
      ht (nth 2 pr)
)

(vlax-put la 'value 600.0)
(vlax-put ht 'value 600.0)
 )

(defun c:pop()
 (setq bl (vlax-ename->vla-object (car (entsel))))
 (tttt bl)
 (tttt bl)
)

en lancant pop => ca ne marche pas

 

 

Bon, je vais chercher s'il y a une variable pour ca.

 

Tous pour lisp, Lisp pour tous!

Avec Revit, cela ne vas trop vite...

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...

J'ai laissé tombé pour mes lisps.

 

J'ai refait mes blocs dynamiques et y mettant des paramètres de consultations.

Ainsi l'utilisateur n'a accès qu'aux dimensions autorisées et les hachures suivent correctement

sur la 2007 et 2008.

 

De plus, je n'aurai pas droit au : "le lisp a planté"

 

 

Seul point négatif: la saisie des valeurs pour les tableaux de consultation.

 

merci encore patrick pour ton temps, si tu passes en alsace, préviens à temps ;)

Tous pour lisp, Lisp pour tous!

Avec Revit, cela ne vas trop vite...

Lien vers le commentaire
Partager sur d’autres sites

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é