Aller au contenu

Geler l'affichage lors de l'exécution d'une routines.


Messages recommandés

Posté(e)

Bonjour à toutes et tous,

Je viens de créer un générateur de script sous excel qui me permet d'implanter des blocs selon l'orientation d'un segment.

Je voudrais geler l'affichage de la fenêtre dessin avant l'insertion des blocs, puis le degeler et regenere l'affichage après l'insertions des blocs.

Celà est-il possible?

Coment peut-on faire.

Un exemple pour l'ilantation de deux bloc :

 

CMDECHO

0

SCU

g

-inserer

PTSALT

489112.214,3974982.004,103.76

1

1

-98.9606645922564

103.76

SCU

g

-inserer

PTSALT

489115.382,3974982.509,103.83

1

1

-98.9606645922564

103.83

CMDECHO

1

Petit à petit on devient moins petit

Posté(e)

je viens de tester la variables REGENMODE, mais elle ne gèle pas l'affichage de la fenêtre dessin lors de l'exècution du script

Petit à petit on devient moins petit

Posté(e)

Bonjour,

Autrement savez vous comment acélérer le processus d'insertion des bloc.

Je vous explique, a partir d'un logicielle de conception VRD j'obtient un tableaux excel avec les coordonnées de mes points projets.

Le but est d'implanter un bloc PTS avec un attribut altitude par exemple.

 

Je viens de tester le script générer avec l'implantation de 5 000 et c'est trés long.

Je penssait donc passer par un lisp.

A partir du fichier Excel, je peut créer un fichier texte avec les coordonnées x,y,z de mes points.

Je peut lire ce fichier points et récuperer les coordonnées x,y,z en lisp et les retourner à :

(command "_insert" PTS (x y z) "" "" angle z)

mais cela serais-t-il plus rapide? Car en lisp je vais utiliser la commande -inserer, tout comme le script

 

 

Petit à petit on devient moins petit

Posté(e)

Bonjour Bryce

 

aurais tu un exemple d'utilisation de la fonction Entmake pour inserer un block de nom Bname au point de coordonnées x,y,z d'orientation alpha, et ayant un attribut Aname auquel on veut affecter la valeur z

 

Je te remercie par avance.

Cordialment.

Petit à petit on devient moins petit

Posté(e)

Bonjour,

 

Pour un bloc avec attribut(s), je pense que c'est nettement plus simple en VL.

Ça donnerait quelque chose comme:

(setq ms (vla-get-ModelSpace (vla-get-ActiveDocument (vlax-get-acad-object))))
(setq bloc (vla-InsertBlock ms (vlax-3D-point x y z) Bname 1.0 1.0 1.0 alpha)
(mapcar
 '(lambda (att)
   (if (= (vla-get-TagString att) Aname)
     (vla-put-TextString att (rtos z 2 2))
   )
 )
 (vlax-invoke bloc 'GetAttributes)
)

Posté(e)

Je te remercie Bryce,

Peux tu m'expliquer à quoi servent (rtos z 2 2) dans la fonction vla-put-TextString

Je te remercie par avance.

Cordialement.

Petit à petit on devient moins petit

Posté(e)

Hello stugeol,

Ca je peux te répondre!!

rtos : real to string : tranforme la coordonnées Z en un string (chaine de caractère si je ne m'abuse!)

z est le chiffre à convertir

le 1er "2" le mode

(1 Scientific

2 Decimal

3 Engineering

4 Architectural

5 Fractional )

le 2ème 2, la précision (nombre de chiffre après la virgule)

 

++

Phil

Projeteur Revit Indépendant - traitement des eaux/CVC

Posté(e)

C'est bien ça: la coordonnée z est un nombre réel (real), mais les valeurs d'attributs sont des chaînes de caractères (string).

Il faut donc convertir le nombre réel en chaîne: Real TO String -> rtos, en choisissant la notation (2 = décimale) et la précision d'arrondi (2 chiffres après la virgule). ;)

Sinon, tu obtiendras une erreur.

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é