-
Compteur de contenus
12 247 -
Inscription
-
Dernière visite
-
Jours gagnés
209
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par (gile)
-
Sauvegarde d\'une constante dans DWG
(gile) a répondu à un(e) sujet de DenisHen dans Débuter en LISP
Je parlais juste d'exportation de données vers Excel, et des possibilités offertes par AutoCAD sans forcement de programmation. -
Tramber, Je ne vois pas les images. culnuteurdebase, Ce que tu dis pour la commande _sweep marche bien avec un profil rond, mais avec un autre profil le soilde sera forcément "vrillé" et pas "débillardé". http://img343.imageshack.us/img343/8044/sweep4zb.png Si tu décales 2 segments jontifs d'une poly 3D chacun suivant sa normale dans son plan vertical, ils n'ont pas forcément de points d'intersection. D'où la vrille générée par _sweep. La méthode de Tramber devrait générer une arrête débillardée. Peut-être que si le concombre_masqué passait par là, il pourrait nous en dire plus, il est très "balaise" en descro ... [Edité le 16/6/2006 par (gile)]
-
Si tu copies la poly -> point de base 0,0,0 -> deuxième point 0,0,hauteur_de_décalage_vertical çà ne suffit pas ? Théoriquement une main courante est "débillardée" de cette façon.
-
Si avec la fonction eTransmit (Menu Fichier) tu envoies en une seule fois ton dessin et tons les fichiers qui lui sont liés
-
Salut et bienvenue, Par le menu insertion, tu peux insérer une image raster dans ton dessin mais cela restera une référence au fichier d'origine dont le lien restera valable tant que le chemin de l'image sera valide. Cette image suivra ton dessin si tu l'envoies avec eTransmit. Et tu peux très bien la manipuler dans ton dessin comme un autre objet graphique Déplacer, Rotation, Echelle, Réseau ... (mais pas Etirer, les proportions du cadre sont conservées). Tu pourras aussi utiliser les accrobj sur le cadre de l'image comme sur un rectangle. Au fait, tu n'as pas posté dans le bon forum, ici c'est AutoCAD 2006. [Edité le 16/6/2006 par (gile)]
-
Je ne connais pas de routine qui fait çà, mais personnellement, çà me pose un problème de géométrie. En 2D, la référence, c'est le plan dans lequel est l'objet, on peut donc décaler cet objet dans ce plan d'un côté ou de l'autre par rapport à lui même. En 3D, je vois bien ce que pourrait être le décalage d'un plan ou d'une surface (ouverte ou fermée) par rapport à elle même. Mais avec une polyligne il me semble qu'il manque une contrainte, une référence. Mais je me trompe peut-être, si tu pouvais un peu préciser ce que tu veux faire exactement.
-
Hatchmaker marche, en effet, plutôt bien. Mais la version de Cadalyst ets faite pour les version AutoCAD anglaise uniquement (encore une fois !). Il y a une version traduite (français pour les invites, internationnal pour les commandes) ici. Mais ce lisp ne marche pas avec des blocs, uniquement avec des lignes et des points, dans un carré de 1 par 1 et avec accrochage à une grille de résolution 0.01 par 0.01. Pas de souci le LISP automatise l'environnement du dessin pour la création du motif de hachures. Quelques explications dans le lien qui figure à la fin du message donné dans le lien ci dessus.
-
Pour Pieroka, Je pense qu'il s'agit du Menu Edition quand un (ou des) objet(s) est (sont) sélectionné(s), sinon c'est le Meu par défaut (ce sont les mêmes).[Edité le 16/6/2006 par (gile)] [Edité le 16/6/2006 par (gile)]
-
Pour faire comme dans les images ci dessus le SCUD n'a rien à voir, le SCUD c'est pour desiner en 2D sur les faces d'un solide3D http://img78.imageshack.us/img78/7279/xxx10fd.png http://img139.imageshack.us/img139/1396/xxx26cd.png
-
Oui, j'ai essayé, j'ai même réussi : http://img159.imageshack.us/img159/9032/menu6ar.png Je trouve qui si l'interface CUI a des côtes detestables (faire une icone, par exemple), pour les menus et menus contextuels c'est plutôt pratique, une fois la commande définie, il sffit de faire un cliquer glisser.
-
Sauvegarde d\'une constante dans DWG
(gile) a répondu à un(e) sujet de DenisHen dans Débuter en LISP
Tu dois pouvoir le faire d'ores et déjà avec l'extraction d'attributs. -
C'est pas GRAVE, mais si tu tapes xPhTexte à la ligne de commande, comme le permet le (defun c: ...), tu auras le message d'errreur suivant ; erreur: nombre d'arguments insuffisants
-
Sauvegarde d\'une constante dans DWG
(gile) a répondu à un(e) sujet de DenisHen dans Débuter en LISP
Absolument, les types d'éléments reconnus en LISP sont : les chaines, les entiers, les réels, les symboles (variables, fonctions) et les listes constituées d'éléments de ces types. -
pas tout à fait ;) Si tu fais (defun C:xPhEch ....), tu peux mettre directement dans ta macro ^C^CxPhEch; ou taper au clavier xPhEch, le C: sert à céfinir un nom de commande utilisable comme les commandes AutoCAD prédéfinies. Si tu fais (defun PhEch ...), tu mets dans ta macro ^C^C(PhEch); ou tu tapes la même chose au clavier (PhEch) [Edité le 16/6/2006 par (gile)]
-
fenetre superposé sans transparence possible???
(gile) a répondu à un(e) sujet de Moon_LS dans AutoCAD 2006
Tu peux faire une fenêtre polygonale avec des côtés confondus pour ménager une (ou plusieurs) fenêtres : http://img240.imageshack.us/img240/1638/fentre9yt.png en mettant la fenêtre polygonale sur un calque option "ne pas tracer" : http://img227.imageshack.us/img227/6439/fentre28ri.png -
Avec des images c'est plus facile, Est-ce que ce que tu voudrais faire ressemble à çà ? http://img155.imageshack.us/img155/7803/linez15iw.png http://img65.imageshack.us/img65/7259/linez27qc.png
-
Je ne suis pas sûr de comprendre la question, mais s'il s'agit de dessiner un ligne sur l'axe Z, par exemple, le repérage polaire (F10) ou le mode ortho (F8) doivent être actifs. [Edité le 16/6/2006 par (gile)]
-
Salut, Tu peux mettre dans un bouton, ou un raccourci clavier cette maco (commande tranparente): 'SELECTIONPREVIEW $M=$(if,$(getvar,SELECTIONPREVIEW),0,2); J'ai mis 0 et 2 donc inactif ou actif lorsqu'une commande invite à sélectionner un objet, tu peux remplacer 2 par 1 ou 3, à toi de voir... Doublé par Rebcao ;) On ne propose pas tout à fait la même chose. [Edité le 16/6/2006 par (gile)]
-
Salut, Comme nous te l'avons déjà expliqué, bonuscad et moi si je me souviens bien, on utilise (defun c:MaFonction ... ) quand on veut créer une commande qu'on appelle en tapant directement MaFonction sur la ligne de commande. Si ce n'est pas le cas, et dans ton cas çà ne semble pas l'être puisque tu fais une macro avec la fonction pincipale et ses arguments et que les sous-routines sont appelées par celle-ci, il est plus simple de faire (defun MaFonction ...) et çà nous éviterait tous ces smilies qui polluent ton message. Ceci dit, pour le changement de SCU (comme pour les changements de variables système dans un LISP), la restauration de l'environnement initial se fait par la redéfinition de la fonction *error* Exemple de fonction de gestion des erreurs: (defun PhTexte_err (msg) (if (/= msg "Fonction annulée") (princ (strcat "\nErreur: " msg)) ) (command "_ucs" "_restore" "scu_init") (command "_ucs" "_del" "scu_init") (setq *error* m:err m:err nil ) (princ) ) Il faut ensuite ajouter dans le LISP au début de la fonction principale : (setq m:err *error* ;_ on stocke la fonction *error* initiale *error* PhTexte_err) ;_ on la remplace par la fonction PhTexte_err (command "_ucs" "_save" "scu_init") ;_ on sauvegarde le SCU initial dans un SCU nommé à la fin de la fonction principale (c'est la même chose qu'à la fin de PhTexte_err) : (command "_ucs" "_restore" "scu_init") (command "_ucs" "_del" "scu_init") (setq *error* m:err m:err nil ) PS : pour le texte, je ne suis pas sûr de bien comprendre ce que tu veux faire, mais si tu veux que l'utilisateur voit le texte et l'insère à l'écran, tu peux faire un bloc nommé "PhTexte" avec ton texte (point d'insertion au "MilieuCentre" du texte) et faire : (command "_.-insert" "PhTexte" pause "" "" "") et tu peux, si tu veux, à la suite décomposer et purger le bloc : (command "_.explode" (entlast)) (command "_.-purge" "_blocks" "PhTexte" "" "_yes") [Edité le 16/6/2006 par (gile)]
-
Non ce n'est pas normal si tu as entré quelque chose dans la case "Ep:" Oui c'est normal si tu n'as rien entré, telle quelle la boite de dialogue permet de faire OK même si les cases (edit_box) sont vides, pour palier à çà tu peux attribuer une valeur par défaut à chaque case, en donnant une valeur à chaque variable dans le lisp ou en specifiant une "value" pour chaque case dans le DCL, dans ce cas il faut récupérer les valeurs à la fin, dans le (action_tile "accept") comme dans le premier exemple ci-dessus. Tu peux aussi laisser les case vide et "griser" OK (mode_tile "accept" 1) et dans les (action_tile ...) de chaque edit_box tester les valeurs des variables et "dégriser" OK si elle ont toutes une valeur : (if (and eppl lapl lopl) (mode_tile "accept" 0)) Sinon, en ce qui concerne la forme globale des LISP avec boite de dialogue, le plus souvent, je fais un (defun c: ...) qui ne fais qu'ouvrir la boite de dialogue, et récupérer les données pour les transmettre à une (ou des) autre fonction (defun ...) qui traite les données récupérées. Exemple : (defun C:Vasy (/ dcl_id eppl) (setq dcl_id (load_dialog "Attache.dcl")) (if (not (new_dialog "Info_Attache" dcl_id)) (exit) ) (setq eppl "2.0" lapl "30.0" lopl "250.0" ) (set_tile "Epais" eppl) (set_tile "Larg" lapl) (set_tile "Long" lopl) (action_tile "Epais" "(setq eppl $value)") (action_tile "Larg" "(setq lapl $value)") (action_tile "Long" "(setq lopl $value)") (action_tile "accept" "(progn (MaFonction eppl lapl lopl) (done_dialog))" ) (start_dialog) (unload_dialog dcl_id) (princ) ) (defun Mafonction (ep la lo) (princ (strcat "\nEpaisseur : " ep "\nLargeur : " la "\nLongueur : " lo ) ) (textscr) )
-
Dominique est un garçon passionné et passionnant, en plus, c'est mon fournisseur AutoCAD.
-
Au temps pour moi, je n'avais pas vu le bouton OK :calim: Pour me faire pardonner ;) (defun C:Vasy( / dcl_id ) (setq dcl_id (load_dialog "Attache.dcl")) (if (not (new_dialog "Info_Attache" dcl_id)) (exit) ) (mode_tile "Epais" 0) (action_tile "accept" (strcat "(progn" "(setq eppl (get_tile \"Epais\"))" "(princ \"eppl =\")" "(princ eppl)" "(done_dialog))" ) ) (start_dialog) (unload_dialog dcl_id) (princ) ) Ou encore : (defun C:Vasy (/ dcl_id) (setq dcl_id (load_dialog "Attache.dcl")) (if (not (new_dialog "Info_Attache" dcl_id)) (exit) ) (mode_tile "Epais" 0) (action_tile "Epais" "(setq eppl $value)") (action_tile "accept" (strcat "(progn" "(princ \"eppl =\")" "(princ eppl)" "(done_dialog))" ) ) (start_dialog) (unload_dialog dcl_id) (princ) ) [Edité le 15/6/2006 par (gile)]
-
Juste en jetant un oeil, il manque un OK_Cancel à la fin du DCL Il manque aussi un done_dialog à la fin du LISP, à faire avant (start_dialog) et (unload_dialog dcl_id) exemple ("accept" est la clé par défaut de OK) : (action_tile "accept" (strcat "(progn" "(setq epll (get_tile \"epais\"))" "(princ \"eppl =\")" "(princ eppl)" "(done_dialog))" ) ) (start_dialog) (unload_dialog dcl_id) Tu trouveras des exemples de petites boites de dialogues ici (princ) [Edité le 15/6/2006 par (gile)]
-
Extrait de l'aide pour vlax-invoke-method : C'est la même chose pour vlax-get-property et vlax-put-property, peut-être une survivance d'avant l'introduction de variant et safearray dans le VisualLISP ?
-
Salut et bienvenue, Peut-être devrait-tu préciser dans ta demande, les réponses n'en seront que moins vagues. Tu peux récupérer les données acquises par une boite de dialogue : avec get_tile : (setq x (get_tile "cle")) ou avec mode_tile (mode_tile "cle" "(setq x $value)")
