stugeol Posté(e) le 26 février 2013 Posté(e) le 26 février 2013 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 : CMDECHO0SCUg-insererPTSALT489112.214,3974982.004,103.7611-98.9606645922564103.76SCUg-insererPTSALT489115.382,3974982.509,103.8311-98.9606645922564103.83CMDECHO1 Petit à petit on devient moins petit
Patrick_35 Posté(e) le 26 février 2013 Posté(e) le 26 février 2013 Salut Regarde la variable regenmode @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
stugeol Posté(e) le 26 février 2013 Auteur Posté(e) le 26 février 2013 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
Patrick_35 Posté(e) le 26 février 2013 Posté(e) le 26 février 2013 Je viens de comprendre.Tu ne veux pas voir le défilement des commandes dans la fenêtre de texte.Regarde la variable cmdecho @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
usegomme Posté(e) le 27 février 2013 Posté(e) le 27 février 2013 Bonjour Ne serait-ce pas UCSFOLLOW qui serait en cause ?
stugeol Posté(e) le 1 mars 2013 Auteur Posté(e) le 1 mars 2013 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
bryce Posté(e) le 1 mars 2013 Posté(e) le 1 mars 2013 Bonjour, Il faut écrire un programme en "vrai" Lisp, càd utiliser la fonction (entmake) ou (vla-InsertBlock), et non (command).Cette dernière serait effectivement tout aussi lente qu'un script. Brice, formateur AutoCAD - Inventor - SolidWorks - ZWCad - DraftSight - SketchUp indépendant
stugeol Posté(e) le 3 mars 2013 Auteur Posté(e) le 3 mars 2013 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
bryce Posté(e) le 3 mars 2013 Posté(e) le 3 mars 2013 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) ) Brice, formateur AutoCAD - Inventor - SolidWorks - ZWCad - DraftSight - SketchUp indépendant
stugeol Posté(e) le 4 mars 2013 Auteur Posté(e) le 4 mars 2013 Je te remercie Bryce,Peux tu m'expliquer à quoi servent (rtos z 2 2) dans la fonction vla-put-TextStringJe te remercie par avance.Cordialement. Petit à petit on devient moins petit
philsogood Posté(e) le 4 mars 2013 Posté(e) le 4 mars 2013 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 à convertirle 1er "2" le mode (1 Scientific2 Decimal3 Engineering4 Architectural5 Fractional )le 2ème 2, la précision (nombre de chiffre après la virgule) ++Phil Projeteur Revit Indépendant - traitement des eaux/CVC
bryce Posté(e) le 4 mars 2013 Posté(e) le 4 mars 2013 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. Brice, formateur AutoCAD - Inventor - SolidWorks - ZWCad - DraftSight - SketchUp indépendant
philsogood Posté(e) le 5 mars 2013 Posté(e) le 5 mars 2013 deviendrais-je un crack en lisp?OK, je sors Projeteur Revit Indépendant - traitement des eaux/CVC
stugeol Posté(e) le 6 mars 2013 Auteur Posté(e) le 6 mars 2013 Je vous remercie pour cette éclaircissement.... Petit à petit on devient moins petit
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant