Glead
Membres-
Compteur de contenus
21 -
Inscription
-
Dernière visite
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par Glead
-
[Résolu] Lisp modifications d'attributs et hachures
Glead a répondu à un(e) sujet de Glead dans Débuter en LISP
J'ai réussi a faire se que je voulais... merci de ton aide ! (defun newcalques (/ ) (if (not (tblsearch "layer" "Bien-fond")) (command "-calque" "n" "Bien-fond" "") (setvar "clayer" "Bien-fond") ) ) (defun BF1 (/ ) (setq ss (ssget "_X" '((0 . "LWPOLYLINE") (8 . "01611"))) ) (progn (command "pedit" "M" ss "" "LA" 0.2 "") ; Commande ok (command "_change" ss "" "p" "CA" "Bien-fond" "") (princ ss) (princ) ) ) (defun c:500 () (newcalques) (BF1) ) -
[Résolu] Lisp modifications d'attributs et hachures
Glead a répondu à un(e) sujet de Glead dans Débuter en LISP
Bonjour, je revient juste vous demander une info... Je comprend pas comment revenir chercher une sélection et soumettre une ligne de commande à cette sélection... ; 1 - Sélection des objet du calques 01611 OK ; 2 - Modification de l'épaisseur de polyligne à 0.2 au 1:500 ; 3 - Création du nouveau calque ; 4 - Déplacement des polylignes dans le nouveau calque (defun BF1 (/ ) (setq n 0) (if (setq Select (ssget "_X" '((0 . "LWPOLYLINE") (8 . "01611"))) ) (while (setq ent (ssname Select n)) (setq elst (entget ent) n (1+ n) ) ;_ Fin de setq (command "pedit" "LA" 0.2 "") ; Commande ok ) ) ) (defun c:500 () (BF1) ) -
[Résolu] Lisp modifications d'attributs et hachures
Glead a répondu à un(e) sujet de Glead dans Débuter en LISP
J'ai essayé mais les transitions ne se faisait pas correctement... Du coup j'ai préféré continuer sur un code que je comprends -
[Résolu] Lisp modifications d'attributs et hachures
Glead a répondu à un(e) sujet de Glead dans Débuter en LISP
Un GRAND merci à tous le monde !! J'ai exactement se que je recherchais ! Je vous donne le résultat (même si il doit pas être clean du tout à vos yeux...) (defun H1 () (setq n 0) (if (setq Select (ssget "_X" '((0 . "LWPOLYLINE") (8 . "01211")(70 . 1))) ) ;_ Fin de setq (while (setq ent (ssname Select n)) (setq elst (entget ent) n (1+ n) ) ;_ Fin de setq (if (not (tblsearch "layer" "01211_Hach")) (command "-calque" "n" "01211_Hach" "") (setvar "clayer" "01211_Hach") ) ;_ Fin de if (command "_-hatch" "P" "SOLID" "s" ent "" "") ) ;_ Fin de while ) ;_ Fin de if (princ Select) (princ) ) (defun H2 () (setq n 0) (if (setq Select (ssget "_X" '((0 . "LWPOLYLINE") (8 . "01321")(70 . 1))) ) ;_ Fin de setq (while (setq ent (ssname Select n)) (setq elst (entget ent) n (1+ n) ) ;_ Fin de setq (if (not (tblsearch "layer" "01321_Hach")) (command "-calque" "n" "01321_Hach" "") (setvar "clayer" "01321_Hach") ) ;_ Fin de if (command "_-hatch" "P" "SOLID" "s" ent "" "") ) ;_ Fin de while ) ;_ Fin de if (princ Select) (princ) ) (defun H3 () (setq n 0) (if (setq Select (ssget "_X" '((0 . "LWPOLYLINE") (8 . "01251")(70 . 1))) ) ;_ Fin de setq (while (setq ent (ssname Select n)) (setq elst (entget ent) n (1+ n) ) ;_ Fin de setq (if (not (tblsearch "layer" "01251_Hach")) (command "-calque" "n" "01251_Hach" "") (setvar "clayer" "01251_Hach") ) ;_ Fin de if (command "_-hatch" "P" "DOTS" 1.2 0 "s" ent "" "") ) ;_ Fin de while ) ;_ Fin de if (princ Select) (princ) ) (defun H4 () (setq n 0) (if (setq Select (ssget "_X" '((0 . "LWPOLYLINE") (8 . "01252")(70 . 1))) ) ;_ Fin de setq (while (setq ent (ssname Select n)) (setq elst (entget ent) n (1+ n) ) ;_ Fin de setq (if (not (tblsearch "layer" "01252_Hach")) (command "-calque" "n" "01252_Hach" "") (setvar "clayer" "01252_Hach") ) ;_ Fin de if (command "_-hatch" "P" "DOTS" 2.2 0 "s" ent "" "") ) ;_ Fin de while ) ;_ Fin de if (princ Select) (princ) ) (defun H5 () (setq n 0) (if (setq Select (ssget "_X" '((0 . "LWPOLYLINE") (8 . "01232")(70 . 1))) ) ;_ Fin de setq (while (setq ent (ssname Select n)) (setq elst (entget ent) n (1+ n) ) ;_ Fin de setq (if (not (tblsearch "layer" "01232_Hach")) (command "-calque" "n" "01232_Hach" "") (setvar "clayer" "01232_Hach") ) ;_ Fin de if (command "_-hatch" "P" "VIGNE" 0.5 0 "s" ent "" "") ) ;_ Fin de while ) ;_ Fin de if (princ Select) (princ) ) (defun T1 (/ Select ent n elst) (if (setq Select (ssget "_X" '((0 . "TEXT")(8 . "01219"))) ;_ Fin de ssget ) ;_ Fin de setq (progn (princ Select) (setq n 0) (while (setq ent (ssname Select n)) (setq elst (entget ent) n (1+ n) ) ;_ Fin de setq (setq elst (subst (cons 51 0.314159265) (assoc 51 elst) elst)) (entmod elst) ) ;_ Fin de while ) ;_ Fin de progn (princ ent) ) ;_ Fin de if ) ;_ Fin de defun (defun T2 (/ Select ent n elst) (if (setq Select (ssget "_X" '((0 . "TEXT")(8 . "01139"))) ;_ Fin de ssget ) ;_ Fin de setq (progn (princ Select) (setq n 0) (while (setq ent (ssname Select n)) (setq elst (entget ent) n (1+ n) ) ;_ Fin de setq (setq elst (subst (cons 51 0.314159265) (assoc 51 elst) elst)) (entmod elst) ) ;_ Fin de while ) ;_ Fin de progn (princ ent) ) ;_ Fin de if ) ;_ Fin de defun (defun c:HACH500 () (h1) (h2) (h3) (h4) (h5) (t1) (t2) ) Par contre j'ai pas compris pourquoi je devais rentrer la valeur de 20g en radian pour obtenir une inclinaison de 380g... Merci spécial à DenisH :D -
[Résolu] Lisp modifications d'attributs et hachures
Glead a répondu à un(e) sujet de Glead dans Débuter en LISP
Super nouvelle !! Merci à toi ! Dernière question : (defun c:HACH500 () (command "h1" "h2" "h3" "h4" "h5") ) H1.h2,h3,h4,h5 correspondent à mon defun c: pour chaque calques... Il y aurait pas un moyen de lancer une ligne de commande contenant des fonctions crée dans le même fichier lisp ? -
[Résolu] Lisp modifications d'attributs et hachures
Glead a répondu à un(e) sujet de Glead dans Débuter en LISP
Pourquoi ne pas passer par une sélection globale des textes et forcer la valeur d'inclinaison à 0 ? Par contre pour donner la valeur d'inclinaison c'est bien une valeur en radian ? (* pi (/ x 180.0)) -
[Résolu] Lisp modifications d'attributs et hachures
Glead a répondu à un(e) sujet de Glead dans Débuter en LISP
Voilà se que me dit le programme : Commande: testtext _-style Entrez le nom du style de texte ou [?] <Standard>: StyleDeTexte Nouveau style. Spécifiez le nom de police complet ou le nom de fichier de polices (TTF ou SHX) <txt>: PoliceTTFouSHX Police non disponible. Commande: TESTTEXT Commande inconnue "TESTTEXT". Appuyez sur F1 pour obtenir de l'aide. Commande: TESTTEXT Commande inconnue "TESTTEXT". Appuyez sur F1 pour obtenir de l'aide. ... Il y aurait pas un moyen de changer la valeur (51 . 380) sans editer le style de texte ? Je pense donc que le Lisp que tu as proposé part dans la bonne direction. Après faut-il savoir pourquoi in ne marche pas... Merci encore pour ton aide ! -
[Résolu] Lisp modifications d'attributs et hachures
Glead a répondu à un(e) sujet de Glead dans Débuter en LISP
(defun c:Testtext () (setq n 0) (if (setq Select (ssget "_X" '((0 . "text") (8 . "NOMDUCALQUE"))) ) ;_ Fin de setq (while (setq ent (ssname Select n)) (setq elst (entget ent) n (1+ n) ) ;_ Fin de setq (command "_-style" "" "" "" "" "380" "non" "non") ) ;_ Fin de while ) ;_ Fin de if (princ Select) (princ) ) Je pensais a un truc comme ça mais la commande style affecte seulement le style standard et du coup ne modifie rien... -
[Résolu] Lisp modifications d'attributs et hachures
Glead a répondu à un(e) sujet de Glead dans Débuter en LISP
C'est super c'est tout bon pour ces hachures ! Mes collègues sont super content :D Me reste juste le problème des textes. Comment es-ce que je peux agir sur l'inclinaison ? Un bit spécifique ? -
[Résolu] Lisp modifications d'attributs et hachures
Glead a répondu à un(e) sujet de Glead dans Débuter en LISP
Voilà se que je voulais faire pour incrémenter plusieurs calques : (defun c:HACH500 () (setq n 0) (if (setq Select (ssget "_X" '((0 . "LWPOLYLINE") (8 . "01211")(70 . 1))) ) ;_ Fin de setq (while (setq ent (ssname Select n)) (setq elst (entget ent) n (1+ n) ) ;_ Fin de setq (if (not (tblsearch "layer" "01211_Hach")) (command "-calque" "n" "01211_Hach" "") (setvar "clayer" "01211_Hach") ) ;_ Fin de if (command "_-hatch" "P" "SOLID" "s" ent "" "") ) ;_ Fin de while ) ;_ Fin de if (princ Select) (princ) ) (setq n 0) (if (setq Select (ssget "_X" '((0 . "LWPOLYLINE") (8 . "01321")(70 . 1))) ) ;_ Fin de setq (while (setq ent (ssname Select n)) (setq elst (entget ent) n (1+ m) ) ;_ Fin de setq (if (not (tblsearch "layer" "01321_Hach")) (command "-calque" "n" "01321_Hach" "") (setvar "clayer" "01321_Hach") ) ;_ Fin de if (command "_-hatch" "P" "SOLID" "s" ent "" "") ) ;_ Fin de while ) ;_ Fin de if (princ Select) (princ) ) Mais malheureusement il refuse de lire la deuxième partie... Il génère les hachures du calque 01211 et s'arrête sur un message qui ressemble à ça : <Selection set: 276a> Désolé de vous embêter... -
[Résolu] Lisp modifications d'attributs et hachures
Glead a répondu à un(e) sujet de Glead dans Débuter en LISP
Wouaw, je parle à des passionnés ici ! Beau boulot Bonuscad, par contre c'est très vite trop compliqué pour moi... Je vais rester sur des fonctions les plus basiques possible pour pouvoir éditer le code selon mes besoins et apprendre au passage. Je touilles toutes vos réponses et je posterais mon LISP final pour se qui en aurait besoin et si vous avez des remarques. -
[Résolu] Lisp modifications d'attributs et hachures
Glead a répondu à un(e) sujet de Glead dans Débuter en LISP
Il me reste à apprendre... Je teste ça de suite ! -
[Résolu] Lisp modifications d'attributs et hachures
Glead a répondu à un(e) sujet de Glead dans Débuter en LISP
Merci à toi ! Il y a quand même un problème avec ton Lisp pour mon application, j'ai pas les mêmes paramètres de hachures dans tout les calques et comme j'ai pu comprendre ici il reprend la même commande hachure pour les différents calques. Par contre ton approches est très intéressante ! En tout cas vos réponses mon bien motivé a approfondir le sujet :D -
[Résolu] Lisp modifications d'attributs et hachures
Glead a répondu à un(e) sujet de Glead dans Débuter en LISP
Merci pour vos réponses ! Pour la fonction foreach le principe c'est bien de crée une liste générale (dans mon cas la sélection de toutes les ploylignes de tout les calques à éditer) puis avant de lancer chacune des fonctions de création de hachures filtrer la liste général ? Ne peut-on pas lancer les sélections et la création des hachures pour chaque calque les un après les autres dans le même fichier ? -
[Résolu] Lisp modifications d'attributs et hachures
Glead a répondu à un(e) sujet de Glead dans Débuter en LISP
Wouaw !! Sa marche parfaitement ! Merci beaucoup !! (command "_-hatch" "P" "VIGNE" "1" "0" "s" ent "" "") Voilà la variante pour choisir le motif de la hachure Je m'attaque au foreach maintenant -
[Résolu] Lisp modifications d'attributs et hachures
Glead a répondu à un(e) sujet de Glead dans Débuter en LISP
Bug... Désolé -
[Résolu] Lisp modifications d'attributs et hachures
Glead a répondu à un(e) sujet de Glead dans Débuter en LISP
Les hachures doivent si possible rester dans le même calque que les polylignes, au besoin on peut en crée un nouveau ! Les polylignes existent déjà dans le calque, mais même si elles sont recrées et qu'elles viennent dessus la hachure c'est exactement se qu'il me faut. Les hachures sont soit le motif "SOLID" soit des motifs de l'onglet "personnalisées" Merci de ton aide :) -
[Résolu] Lisp modifications d'attributs et hachures
Glead a répondu à un(e) sujet de Glead dans Débuter en LISP
Rebonjour, Je viens juste chercher quelques précisions pour pas trop me perdre dans l'écriture de mon code... Pour crée les hachures des polylignes du calques 01323 par exemple : 1 Isolement du calque 01323 2 Sélection des polylignes 3 Lancer l'outil hachure (par contre comment faire pour paramétrer les variables de l'outil pour ne pas devoir tout redéfinir à chaque utilisation ?) 4 Application des hachures aux polylignes 5 Libérer le calque 01323 Si quelqu'un peut m'éclairer ? Cordialement -
C'est bien ça, je me suis inscrit vendredi et comme je ne pouvais rien poster j'ai fouillé un peu... If faut donc redemander le mail de validation de compte
-
[Résolu] Lisp modifications d'attributs et hachures
Glead a répondu à un(e) sujet de Glead dans Débuter en LISP
En faite je dois mettre en forme un export de plan de cadastre pour qu'il soit aux normes et comme c'est quelque chose que je dois faire quotidiennement pour plusieurs fichiers j'aurais aimé automatiser cette routine. J'ai donc deux calques nommés 01139 et 01219 qui contiennent uniquement du texte que je dois incliner à 380g J'ai 5 calques nommés 01232, 01321, 01211, 01251, 01252 composé uniquement de polylignes fermées auquel je dois intégrer des hachures qui sont différentes pour chaque calque Manuellement se n'est pas compliqué mais ça prend vite du temps Est-ce que c'est un peu plus clair ? Merci de ton aide EDIT : Par contre j'ai vu personne faire le même type de transformation de mise en page avec du Lisp, je me demande donc si c'est bien de ça dont j'ai besoin ? (setq sel1 (ssget '((-4 . "<OR")(8 . "01139")(8 . "01219")(-4 . "OR>")))) -
Bonjour, je viens vous demander un peu d'aide, j'ai pas mal cherché sur le net et sur le forum la réponse a mes questions mais j'ai rien trouvé de concluent... J'ai aussi lu quelques documents pour débuter en Lisp mais c'est loin d'être suffisant pour pouvoir commencer a taper mon code. J'aimerais crée un code qui 1 - Isoler un calque (contenant uniquement des textes) 1.1 - Règle l'inclinaison automatiquement des textes avec une valeur donnée (380g) 2 - Isoler un calque (contenant uniquement des polylignes fermées) 2.1 - Sélectionner tout les objets du calque 2.2 - Affecter une hachures donnée à chaque polyligne J'ai trouvé se bout de Lisp sur le site de Gile qui permet une sélection par calque ;; Sélection par calque (defun c:ssl (/ ss ent) (and (or (and (setq ss (cadr (ssgetfirst))) (= 1 (sslength ss)) (setq ent (ssname ss 0)) ) (and (sssetfirst nil nil) (setq ent (car (entsel))) ) ) (sssetfirst nil (ssget "_X" (list (assoc 8 (entget ent))))) ) (princ) ) C'est bien le ssname qui correspond au nom du claque voulu ? Merci d'avance pour votre aide ! Je reste très proche du sujet, si vous avez besoin de précision n'hésitez pas!
