grand_sapin Posté(e) le 4 janvier 2011 Partager Posté(e) le 4 janvier 2011 Bonjour à tous Je cherche à me mettre sérieusement au script combiné avec SuperAutoScript. Mais je bloque et je n'ai pas trouvé de doc sur le Net (peut-être pas cherché assez, ou mal) l'opération que je cherche à faire est à ouvrir un dessin, supprimer les hachures qu'il contient, l'enregistrer et le fermer d'où les questions : 1- Quelqu'un peut-il me filer un rapide coup de main sur cette manip' précisément ? 2- Existe-t-il un guide (PDF, page internet, etc.) qui apprendrait les rudiments du script ? Même si je connais le principe de succession d'actions de base d'Acad, je n'arrive pas à mettre en application. Merci Sapin Lien vers le commentaire Partager sur d’autres sites More sharing options...
bonuscad Posté(e) le 4 janvier 2011 Partager Posté(e) le 4 janvier 2011 Bonjour, supprimer les hachures qu'il contient En script, le problème est là !Il faut savoir qu'un script (contrairement à une macro) ne permet pas de pause pour une saisie utilisateur (à moins que ce soit la dernière action de celui-ci). Donc sur une version LT, impossible à réaliser (Qselect, pour un filtrage, ouvrant une boite de dialogue qui te fera avorter le script).Sur une version pleine, il reste la possibilité d'introduire une ligne lisp du genre (ssget "_X" '((0 . "HATCH"))) pour pouvoir faire la sélection filtrée, ou utiliser une boucle (while) avec la variable "CMDACTIVE" pour une sélection utilisateur. les rudiments du script ? Un script n'est qu'une exécution enchainée de commandes et ses options comme tu pourrais le faire manuellement au clavier dans ton dessin sans possibilité de faire de sélection d'objet ou de saisie de valeur (sauf en introduisant des expressions lisp ou parfois aussi diesel). Alors version pleine ou LT ? Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius Lien vers le commentaire Partager sur d’autres sites More sharing options...
grand_sapin Posté(e) le 4 janvier 2011 Auteur Partager Posté(e) le 4 janvier 2011 Bonjour Bonuscad Je suis en version 2008 pleine Lien vers le commentaire Partager sur d’autres sites More sharing options...
grand_sapin Posté(e) le 4 janvier 2011 Auteur Partager Posté(e) le 4 janvier 2011 J'ai repris le code de (gile) sse - sélection spéciale d'entités et l'ai adapté pour faire ça : ;; Sélection par type d'entité (defun c:ssh (/ ss) (and (or (and (setq ss (cadr (ssgetfirst))) (= 1 (sslength ss)) (setq ent (ssname ss 0)) ) (and (sssetfirst nil nil) [surligneur](ssget "_X" '((0 . "HATCH"))) [/surligneur] ) ) (sssetfirst nil (ssget "_X" (list (assoc 0 (entget ent))))) ) (princ) ) ca convient? ensuite, vaut-il mieux intégrer la commande effacer dans le lisp ou bien dans un script ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
speedy Posté(e) le 4 janvier 2011 Partager Posté(e) le 4 janvier 2011 Bonjour à toutes te à tous en ligne de command depuis un bouton......(command "_erase" (ssget "x" '((0 . "HATCH"))) "") @+ Michel a Lien vers le commentaire Partager sur d’autres sites More sharing options...
grand_sapin Posté(e) le 4 janvier 2011 Auteur Partager Posté(e) le 4 janvier 2011 Bonjour Speedy ce n'est pas tant le nombre de hachures que j'ai à traiter que je veux éviter, mais le nombre de DWG concernés ! et j'ai l'impression qu'avec ta méthode, il faut quand même ouvrir les fichiers un par un, non ? Sapin Lien vers le commentaire Partager sur d’autres sites More sharing options...
bonuscad Posté(e) le 4 janvier 2011 Partager Posté(e) le 4 janvier 2011 En supposant qu'il n'y a pas de calques verrouillés, un exemple de script effaçant dans l'espace courant: _.open[surligneur]"C:\\Chemin de ton fichier\\nom du dessin.dwg"[/surligneur] _.erase(ssget "_X" (list '(0 . "HATCH") (cons 410 (getvar "CTAB"))))[surligneur]ligne vierge[/surligneur] _.close_yes NB: la ligne vierge / vide correspond à une "Entrée" pour sortir de la boucle "Choix des objets:" lors de la sélection.(enlever "ligne vierge" bien sûr...) ;) Après pour faire un traitement par lot avec autoscript, je te laisse adapter.Pour ma part j'avais donner des exemples pour un traitement par dossier (faire une recherche dans le forum avec "make_script") Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius Lien vers le commentaire Partager sur d’autres sites More sharing options...
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