Arcasdk
Membres-
Compteur de contenus
279 -
Inscription
-
Dernière visite
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par Arcasdk
-
Création de rondelle pour cd
Arcasdk a répondu à un(e) sujet de Arcasdk dans Pour aller plus loin en LISP
Pour ce qui est du style de texte faut en créer un dans ton environnement Autocad. Et ensuite dans la ligne de code (command "texte" "j" "md" "_non" pins "1" "" lst) Tu rajoutes... (command "texte" [surligneur]"s" "nom du style"[/surligneur] "j" "md" "_non" pins "1" "" lst) Voilà Concernant l'accrochage aux objets, on peut rajouter un (setvar "osmode" 0) en début de programme ou comme tu l'as écrit Zébulon_ (Méthode que je ne connaissais pas d'ailleurs). Moi j'utilisais un dessin vierge donc pas de souci de ce côté. -
Création de rondelle pour cd
Arcasdk a répondu à un(e) sujet de Arcasdk dans Pour aller plus loin en LISP
Effectivement, quand on lance une commande "cercle", Autocad demande un rayon.....Et moi je lui donne le diamètre. Le plus rapide sera donc d'imprimer en 0.5xp. Je vais regarder pour l'avoir en echelle 1:1!! Merci à vous deux. "Quelques minutes plus tard..." Voilà c'est corrigé. (defun c:jacquette (/ f pins n y x lst) (if (equal fic nil) (setq fic "c:/") ) (setq fic (getfiled "fichier portant les noms de fichier à écrire :" fic "txt" 8) f (open fic "r") pins (list 0 0 0) n 0 y 55) (command "cercle" pins 59 ) (command "cercle" pins 21 ) (while (setq lst (read-line f)) (setq n (+ n 1)) ) (if (< n 101) (progn (setq n 0 f (open fic "r")) (while (setq lst (read-line f)) (if (= n 56) (progn (setq y 45))) (if (>= n 56) (progn (setq x (sqrt (abs(- (expt y 2)(expt 58 2))))) (setq pins (list x y 0)) (command "texte" "j" "md" pins "1" "" lst) (setq n (+ n 1) y (- y 2)) )) (if (<= n 55) (progn (setq x (sqrt (abs(- (expt y 2)(expt 58 2)))) x (- 0 x)) (setq pins (list x y 0)) (command "texte" "j" "mg" pins "1" "" lst) (setq n (+ n 1) y (- y 2)) ) ) ) ) (Alert "Le fichier contient plus de 100 lignes de titre. Veuillez en enlever!!") ) ) [Edité le 21/5/2008 par Arcasdk] -
Création de rondelle pour cd
Arcasdk a répondu à un(e) sujet de Arcasdk dans Pour aller plus loin en LISP
J'ai trouvé d'où venait le problème Dans les lignes de commande (command "texte" "j" "mg" pins "2" "" lst [surligneur]""[/surligneur]) Il y a des guillemets en trop. Voili Voilou.. ;-) -
Création de rondelle pour cd
Arcasdk a répondu à un(e) sujet de Arcasdk dans Pour aller plus loin en LISP
Coucou, bien écoute je ne vois pas d'où ça vient. Le principale c'est que celà fonctionne. Les 118 UD correspondent bien aux 120mm de diamètre d'un cd avec 1mm de retrait pour les limites d'impression de mon imprimante. Que penses-tu de la taille du texte? Plus petit ? -
Bonjour à tous, Je vous propose aujourd'hui une petite routine que j'ai réalisé de une parceque j'aime avoir de beaux cds bien rangés dans leur pochette et de deux parce que j'aime le lisp et me casser la tête sur des trucs du genre. Alors bien sûr il n'est pas parfait mais il tourne. Si les champions de lisp veulent l'améliorer, le critiquer j'accepte toutes crititques. Certainement qu'il existe un logiciel qui fais la même chose (en mieux) mais "la ché mi qui l'a fait ;-)" Voila un ptit screenshot. http://keepi.free.fr/12113498761.jpeg Bon comme je ne suis pas encore un "Kador" il y a des restrictions, mon programme s'arrête si le nombre de titre dépasse les cent. Il faut juste avant de lancer la routine, faire un petit fichier texte (que vous lancez avec un dir>toto.txt dans une invite MS-DOS par exemple) et qui donnera ligne par ligne le titre des dossiers ou des fichiers. Effectivement je pourrai peut être lancer un .bat directement d'autocad pour que le fichier texte se fasse tout seul mais si il y a des choses qui changent de temps en temps je serai plus embêté qu'autre chose. Une dernière petite chose concerne certain caractère. les "^" par exemple ne sont pas reconnus. Donc une dernière vérif avant de l'imprimer et c'est good. Bon je vous laisse en compagnie de mes lignes de code et j'éspère que celà donnera des idées à d'autre. Merci à bientôt. (defun c:jacquette (/ f pins n y x lst) (if (equal fic nil) (setq fic "c:/") ) (setq fic (getfiled "fichier portant les noms de fichier à écrire :" fic "txt" 8) f (open fic "r") pins (list 0 0 0) n 0 y 110) (command "cercle" pins 118 ) (command "cercle" pins 42 ) (while (setq lst (read-line f)) (setq n (+ n 1)) ) (if (< n 101) (progn (setq n 0 f (open fic "r")) (while (setq lst (read-line f)) (if (= n 56) (progn (setq y 90))) (if (>= n 56) (progn (setq x (sqrt (abs(- (expt y 2)(expt 115 2))))) (setq pins (list x y 0)) (command "texte" "j" "md" pins "2" "" lst "") (setq n (+ n 1) y (- y 4)) )) (if (<= n 55) (progn (setq x (sqrt (abs(- (expt y 2)(expt 115 2)))) x (- 0 x)) (setq pins (list x y 0)) (command "texte" "j" "mg" pins "2" "" lst "") (setq n (+ n 1) y (- y 4)) ) ) ) ) (Alert "Le fichier contient plus de 100 lignes de titre. Veuillez en enlever!!") ) ) Fred [Edité le 21/5/2008 par Arcasdk]
-
Coucou, de mon côté j'utilise PDF995 qui fonctionne trés bien aussi. Il est gratuit à condition d'accepter la pub qu'ils nous mettent pendant l'impression. Mais si ce n'est que ça... ;-)
-
Stopper / arrêter une routine aprés condition
Arcasdk a répondu à un(e) sujet de Arcasdk dans Débuter en LISP
Merci bien, J'ai donc choisi la méthode la plus propre. J'ai construit ma condition de façon à avoir "si non" juste à la fin du programme. -
Bonjour bonjour, Depuis un ptit moment déjà je m'étais dit de faire un ptit post pour me présenter....Ben voilà. Donc Arcasdk de son prénom Frédéric, Vit à Dunkerque depuis 26 ans (Juste à côté de bergues pour ceux qui ont vu le film ;-) ). J'ai suivi une formation BTS MAI (Mécanique et Automatisme Indus) puis une licence et maîtrise CAO DAO (Option Mécanique) à l'IUP de CALAIS. J'ai mis les mains sur Autocad pour la première fois donc pendant mon BTS. J'ai approfondi tout ça en IUP. Maintenant je travail Chez Ateim, un BE du nord. J'y suis depuis 3 ans et j'utilise principalement Autocad mais aussi PDMS un logiciel 3D trés puissant. (Plant Design Management System) Je travaille donc un peu dans tous les corps de métier (Charpente, Méca, Tyauterie, Elec, GC...) J'adore la programmation, et depuis mon inscription sur CadXP je progresse pas mal en LISP. Merci à tous.
-
Bonjour, Je cherche à arrêter une routine si une condition n'est pas vérifiée... Comment celà s'écrit SVP Merci Fred
-
Il me semble que c'est a cause du (vl-load-com). Il faut que tu rajoute ca pour spécifié à autocad que ton programme utilise du Vlisp voila voila Fred
-
Les images n\'apparaissent pas dans les PLT
Arcasdk a répondu à un(e) sujet de salvanorigatore dans AutoCAD 2007
Bonjour Il me semble que les images n'apparaisse pas... Il faudra réaliser le logo en Hachure. Mais attendons d'autres commentaires avant de vous lancer dans la réalisation du logo en hachure car il y a peut être une autre solution. Au plaisir ;-) -
Ben il faut tout d'abord avoir un objectif. SI tu n'as pas de motivation tu ne t'amuseras pas. Essai de te donner des ptits défits et essai de réaliser un ptit lisp. Nous, nous serons là pour te donner les commandes et l'aide necéssaire pour le faire. Bon courage
-
Ok mais quand on te dis: Qu'est ce que tu fais dans la vie ou tu travailes dans quoi? Tu réponds je fais de la dao ou je travailles dans la dao..... Dilem......
-
<acronym class=dict title=....ben ouais mais j'ai toujours pas ton avis :cool:
-
Celà dépent de ce que tu souhaites faire sur ces attributs? Avec BATTMAN tu peux faire pas mal de chose!! Tu choisi celui que tu veux et tu l'édites....non???
-
:casstet: Alors une question me frappa de plein fouet ce matin.... D'aprés vous pourquoi nous parlons de [surligneur]LA[/surligneur] DAO alors que dessin c'est masculin.... [surligneur]Le[/surligneur] Dessin Assisté par Ordinateur. Ma réponse était que nous devons certainement parler de LA PRATIQUE du dessin assisté par ordinateur....mais est ce la bonne réponse, ou suis je le maillon faible?? Votre avis........ [Edité le 30/4/2008 par Arcasdk]
-
:( Je connaissais BATMAN mais BATTMAN jamais entendu. Mais alors qu'est ce que c'est super!!!!!! Moi je me casser le ... la tête à refaire tous le bloc...pfffff On en apprend tous les jours dites donc. Au moins si tu n'as pas aidé Kem08 tu m'as aidé moi. Merci Giles ;-) [Edité le 30/4/2008 par Arcasdk]
-
C'est bon à savoir ça. F1 lors d'une commande. :P
-
Bah biensur.... Il est là pour ca. mais si je peux me permettre, je te conseille de prendre un code qui existe déjà. et que tu peux trouver ici (scr v2.00) ou ici (Scriptor V1.02).(la page principale est là) c'est notre cher Patrick qui est à l'honneur la dessus. J'espère qu'il ne m'en voudra pas de faire un peu de pub!! Bon j'ai du boulot, le object dbx m'attend. @+ [Edité le 30/4/2008 par Arcasdk]
-
Merci bcp patrick. J'ai modifié mon programme qui en effet ne fonctionnait pas puisqu'il rester toujours sur le dessin courant et non le dessin ouvert. j'ai eu un peu de mal à intégrer tes lignes mais en réfléchissant on y arrive. Cependant ta partie concernant le dirbox reste flou. Je ne sais où l'intégrer et je n'arrive même pas à le lancer seul. peut tu m'éclairer un peu Donc pour mon programme le voici (pour aider les curieux) Donc c'est une routine qui ouvre tous les plans .dwg d'un dossier pour lister le nom de toutes les présentations. Utile lorsque vous lancez un script d'impression et que le nom des présentations n'est pas le même partout ou lorsqu'il y en a plusieurs. http://keepi.free.fr/12095371499.jpeg (defun c:toto (/ lst n fic str lay o) (vl-load-com) (if (equal dir nil) (progn (setq dir "c:/") ) ) (setq str "\nDébut de liste\n") (if (setq dir (getfiled "Impression de plusieurs Fichiers - Sélectionnez un fichier cible" dir "dwg" 4)) (progn (setq lst (acad_strlsort (vl-directory-files (vl-filename-directory dir) "*.dwg" 1)) n 0) (while (nth n lst) (setq fic (strcat (vl-filename-directory dir) "\\" (nth n lst))) (setq o (vla-open (vla-get-documents (vlax-get-acad-object)) fic) str (strcat str (nth n lst) " --> ")) (vlax-for lay (vla-get-layouts o) (setq str (strcat str (vla-get-name lay) " ")) ) (vla-close o) (setq n (+ n 1)) (setq str (strcat str "\n")) ) ) ) (alert str) (princ str) (princ) ) et pour le dirbox , est ce qu'il s'agit bien de ça???? (defun DirBox(Message Chemin Drapeau / rep sh) ; Valeur du Drapeau ; 0 = Valeur par défaut ; 1 = BIF_RETURNONLYFSDIRS = Seulement les fichiers système ; 2 = BIF_DONTGOBELOWDOMAIN = Interdit d'explorer en dehors du domaine ; 4 = BIF_STATUSTEXT = Inclure un secteur de statut. La fonction de rappel de service peut placer le texte de statut en envoyant des messages à la zone de dialogue. Ce drapeau n'est pas soutenu quand BIF_NEWDIALOGSTYLE est indiqué. ; 8 = BIF_RETURNFSANCESTORS = Seulement les sous Dossiers ; 16 = BIF_EDITBOX = Inclure une commande d'édition dans la zone de dialogue ; 32 = BIF_VALIDATE = Verifie si l'utilisateur dactylographie un nom inadmissible dans la boîte d'édition ; 512 = BIF_NONEWFOLDERBUTTON = Ne pas inclure le bouton Créer un nouveau dossier ; 4096 = BIF_BROWSEFORCOMPUTER = Autorise à parcourir le réseau ; 8192 = BIF_BROWSEFORPRINTER = Seulement le choix d'une imprimante ; 16384 = BIF_BROWSEINCLUDEFILES = Montre tout ; = BIF_BROWSEINCLUDEURLS = Montrer les raccourcis, Les drapeaux BIF_USENEWUI et de BIF_BROWSEINCLUDEFILES doivent également être placés ; = BIF_NEWDIALOGSTYLE = Employer la nouvelle interface utilisateur ; = BIF_NOTRANSLATETARGETS = Quand l'article choisi est un raccourci, renvoyer le PIDL du raccourci lui-même plutôt que sa cible. ; = BIF_SHAREABLE = Peut montrer les ressources en commun sur les systèmes à distance. Le drapeau de BIF_NEWDIALOGSTYLE doit également être placé. ; = BIF_UAHINT = Une fois combiné avec BIF_NEWDIALOGSTYLE, ajoute un conseil d'utilisation à la zone de dialogue au lieu de la boîte d'édition. BIF_EDITBOX dépasse ce drapeau. ; = BIF_USENEWUI = Employer la nouvelle interface utilisateur, y compris une boîte d'édition (setq sh (vlax-create-object "Shell.Application")) (if (setq rep (vlax-invoke sh 'browseforfolder 0 Message Drapeau Chemin)) (setq rep (vlax-get-property (vlax-get-property rep 'self) 'path)) (setq rep nil) ) (vlax-release-object sh) rep ) Merci à tous[Edité le 29/4/2008 par Arcasdk] [Edité le 30/4/2008 par Arcasdk]
-
Le ventre bien rempli ;) , j'ai suivi ce que tu me proposais et je t'annonce que tout fonctionne à merveille. Je te remercie. Tu as el' Bonjour deuch 'Nord. ;-)
-
Remarque sur un vla-open pendant un pas à pas détaillé
Arcasdk a répondu à un(e) sujet de Arcasdk dans Débuter en LISP
coucou j'ai changé le open en toto et celà ne change rien Je précise en fonctionnement normale y a pas de souci. En revanche en mode pas à pas ca coince.... :casstet: -
Comme tu le voir si tu lis un peu c'est écrit C'est tout simplement parce que CadXP c'est tellement bien qu'il y a trop d'utilisateurs et donc ca sature un peu. Mais si tu force un peu en rafraichissant plusieurs fois ca passe.... ;-) [Edité le 29/4/2008 par Arcasdk]
-
Remarque sur un vla-open pendant un pas à pas détaillé
Arcasdk a posté un sujet dans Débuter en LISP
Une drôle de fenêtre apparait lors du lancement d'une routine en pas à pas détaillé lorsqu'il exécute la ligne (vla-open (vla-get-documents (vlax-get-acad-object)) fichier). Ce qu'il fait qu'il n'exécute pas la suite de mon programme.... Celà se désactive??? Merci [Edité le 29/4/2008 par Arcasdk] -
Oki oki, Encore une petite question, mon programme fonctionnait à merveille mais je me suis aperçu qu'il ne refermer pas mes fichiers. et pour courronner le tout il me fait un beau plantage avec une phrase du style.... Utilitaires de menu AutoCAD chargés. DWG Autodesk. Ce fichier est un fichier DWG approuvé dont le dernier enregistrement a été effectué dans une application Autodesk ou dans une application sous licence Autodesk. et je ne peux plus ouvrir aucun fichier à moins de rebooter la machine.... :casstet: Est ce que ce serait du au fait qu'on ouvre un fichier avec vla-open et que moi je veuille le refermer avec (command "_close" o)...? (vl-load-com) (defun c:open (/ lst n fichier str) (if (equal dir nil) (progn (setq dir "c:/") ) ) (setq str "\nDébut de liste\n") (if (setq dir (getfiled "Impression de plusieurs Fichiers - Sélectionnez un fichier cible" dir "dwg" 4)) (progn (setq lst (acad_strlsort (vl-directory-files (vl-filename-directory dir) "*.dwg" 1)) n 0) (while (nth n lst) (setq fichier (strcat (vl-filename-directory dir) "\\" (nth n lst))) [surligneur](vla-open (vla-get-documents (vlax-get-acad-object)) fichier)[/surligneur] (setq lay (layoutlist) nb (length lay) x 0 str (strcat str (nth n lst) " --> ")) (while (/= x nb) (setq str (strcat str (nth x lay)) x (+ x 1)) ) (setq str (strcat str "\n")) [surligneur](command "_close" o)[/surligneur] (setq n (+ n 1)) ) ) ) (alert str) (princ str) (princ) )
