Didier-AD
Membres-
Compteur de contenus
130 -
Inscription
-
Dernière visite
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par Didier-AD
-
Les Xdatas permettent de stocker des informations sur à peu près toute sorte d'objet (jusque 16 ko par entités) celà permet beaucoup beaucoup de choses... sur ce lien vous trouverez une bibliothèque de gestion des xdatas que je mets à la disposition de la communauté autocadienne ainsi qu'un petit exemple d'utilisation.
-
Bonjour, j'avais écrit il y a fort longtemps une routine permettant de tracer plusieurs types de talus ; si çà interesse quelqu'un, c'est téléchargeable ici
-
Merci beaucoup En plus, je l'avais vu il y a quelques temps en parcourant la liste des routines que tu proposes mais Elsheimer doit me guetter..... Merci encore
-
Merci pour ces routines mais il me manque l'essentiel je souhaite pouvoir afficher la liste des traceurs, dans une boite de dialogue DCL ou ODCL pour que que l'utilisateur choisisse l'un d'entre eux ensuite, je veux pouvoir créer une présentation qui soit prête pour ce traceur il me faut donc pouvoir imposer le traceur sur une présentation Merci
-
Bonjour, Je crois avoir compris comment récupérer la liste des traceurs possibles mais Comment fait on pour imposer un traceur précis pour une présentation; en effet les marges sont différentes pour un même format de papier il me faut donc récupérer la taille exacte de la zone imprimable ; l'idée est donc de choisir le traceur et de l'imposer avant de générer la mise en page. Merci. [Edité le 25/1/2007 par Didier-AD]
-
Je ne peux pas te rassurer, je sais simplement que passer du LISP à C# ou C++ ce n'est pas qu'un problème de langage ; c'est également un problème de temps de développement/déboguage (entre 3 à 4 fois plus élevé) Supprimer le LISP provoquerait un tolé général. alors soit les dirigeants d'autodesk sont lucides et continuent le développement de Vlisp où ils ne le sont pas et alors.... D'un autre coté, leur politique commerciale qui consiste à pousser les solutions verticales (REVIT, INVENTOR, ETC) n'est pas rassurante pour la pérénité d'AutoCAD.
-
_toolpalettes (Palettes d\'outils)
Didier-AD a répondu à un(e) sujet de stephan35 dans Pour aller plus loin en LISP
Je n'ai pas souvenance d'un quelconque utilisateur ayant regretté les menus écrans mais si tu tiens à des menus, il devrait te rester même dans la 2008 les menus déroulants... -
voici, sans utiliser (command .... ni (vla*** ;;---Début---------------------------------------------------AD-LstCalques------- ;; << liste des calques répondant à un masque donné >> ;; << >> ;; ;; créée le : jeudi 25 janvier 2007 à 00:08 ;; ;; Admet : ;; ======= ;; masque : Chaine = masque de recherche (exemple : RDC-*) ;; ;; Retourne : Liste = de nom de calque ;; ========== ;------------------------------------------------------------------------------- (Defun AD-LstCalques ( smasque / lcalq ocalq) (setq ocalq (TblNext "layer" T)) ; premier calque (while ocalq (If (WcMatch (cdr (assoc 2 ocalq)) smasque) (setq lcalq (cons (cdr (assoc 2 ocalq)) lcalq)) ) (setq ocalq (TblNext "layer")) ; calque suivant ) (reverse lcalq) ) ;;---fin-----------------------------------------------------AD-LstCalques------- ;;---Début---------------------------------------------------AD-OnOffCalque------- ;; << active ou désactive un calque >> ;; << >> ;; ;; créée le : jeudi 25 janvier 2007 à 00:16 ;; ;; Admet : ;; ======= ;; sNomCalq : Chaine = nom du calque ;; bEtat : Booléen = T si le calque doit être actif Nil si'il doit être inactif ;; ;; Retourne : Sans intérêt = ;; ========== ;------------------------------------------------------------------------------- (Defun AD-OnOffCalque ( sNomCalq bEtat / ocalq linfo iCouleur) (setq ocalq (TblObjName "layer" sNomCalq)) (setq linfo (EntGet ocalq)) (setq iCouleur (abs (cdr (assoc 62 linfo)))) (setq linfo (subst (cons 62 (* iCouleur (if bEtat 1 -1))) (assoc 62 linfo) linfo)) (EntMod linfo) ) ;;---fin-----------------------------------------------------AD-OnOffCalque------- ;;---Début---------------------------------------------------C:EssaiCalques------ ;; << active ou inactive une série de calques >> ;; << répondant à un masque >> ;; ;; créée le : jeudi 25 janvier 2007 à 00:21 ;; ;; Admet : ;; ======= ;; ;; Retourne : Sans intérêt = ;; ========== ;------------------------------------------------------------------------------- (Defun C:EssaiCalques ( / sMasq koiFaire) (setq sMasq (getstring "\ncalques à traiter")) (initget "Activer Inactiver") (setq koiFaire (getkword "\n[Activer/Désactiver] que faut il en faire ? ")) (mapcar '(lambda (sNom) (AD-OnOffCalque sNom (= koiFaire "Activer")) ) (AD-LstCalques sMasq) ) (princ) ) ;;---fin-----------------------------------------------------C:EssaiCalques------ bon courage
-
Chose promise....chose dûe ; je m'y mets çà m'apprendra à m'enthousiasmer trop vite en oubliant que j'ai déjà plein d'atres trucs à faire Je ferai passer les diffrentes versions au fur et à mesure.... quand à la supériorité de Vlisp sur VBA, qui en doute dans ce forum ?
-
Fabuleux ! Et moi qui croyais qu'il fallait obligatoirement passer par C++ Tramber a l'eau à la bouche, moi je suis plus gourmand : - as tu vu des possibilités d'écrire (et non pas lire) dans un dessin existant... ou même un dessin vierge - Est il possible dans ce cas d'ajouter un objet non bloc (ligne) moi si on me montre comment on écrit une ligne dans un dessin non ouvert, je veux bien écrire la bibliothèque qui permettra d'écrire les autres types d'objets et ensuite partager le tout dans la rubrique routines.
-
Tracé Plan de coffrage et ferraillage de fondation, ou semelle
Didier-AD a répondu à un(e) sujet de Fab62 dans Pour aller plus loin en LISP
Ce n'est pas bien le lieu pour parler d'une application commerciale ni si c'est ce que tu cherches mais il me semble avoir vu que l'application de ferraillage de la société PROGISCAD possède des fonctions simples de calcul et de dessin -
Encore une fois Merci Gile pour ta science elle m'a permis , en utilisant tes routines de composer la matrice de transformation correspondant à un miroir (selon un axe dans le plan XY) la voici (defun XYMirrorMatrix (pm1 pm2 / m1 m2 m3) (setq m1 (vlax-safearray->list (vlax-variant-value (ZrotateMatrix pm1 (* -1 (angle pm1 pm2))))) m2 (vlax-safearray->list (vlax-variant-value (XrotateMatrix pm1 pi))) m3 (vlax-safearray->list (vlax-variant-value (ZrotateMatrix pm1 (angle pm1 pm2)))) ) (vlax-tmatrix (mxm (mxm m3 m2) m1)) ) le principe est simple ; combiner 3 rotations la première pour amener la ligne miroir parallèle à l'axe des X (m1) la seconde pour effectuer une rotation de pi (miroir) autour de l'axe des X (m2) la troisième est une rotation inverse de la première. Merci encore pour m'avoir mis le pied à l'étrier.
-
Fonction arccosinus
Didier-AD a répondu à un(e) sujet de interpmanu dans Pour aller plus loin en LISP
Et bien, comme quoi on en apprend tous les jours... Sur les fonctions VL* je ne m'étonne pas d'en apprendre encore mais sur les fonctions qui datent du millénaire dernier ben çà alors vu qu'un jour où on a rien appris est un jour fichu, Merci Gile ! -
Fonction arccosinus
Didier-AD a répondu à un(e) sujet de interpmanu dans Pour aller plus loin en LISP
connaissant le cosinus, il est possible de calculer le sinus en effet sinus ²+ cosinus²= 1 en fait la fonction acos (x) s'écrit ainsi (defun acos (x) (if (= x 0) (/ pi 2) (atan (/ (sqrt (- 1 (* x x))) x)) ) ) de la même manière la fonction asin (x) s'écrit (defun asin (x) (cond ((= x 1) (/ pi 2)) ((= x -1) (/ pi -2)) (t (atan (/ x (sqrt (- 1 (* x x)))))) ) ) les résultats son en radians bien entendu ; reste juste une petite incertitude sur (acos 0) qui retourne (/ pi 2) mais le résultat peut être aussi bien (/ pi -2) -
Peut-être peut on voir çà comme un bug mais il faut peut-être aussi se souvenir que vla-sendcommand n'est pas une fonction LISP, c'est une utilisation détournée par le biais des ActiveX de la méthode VBA sendcommand et que cette méthode sert, si je traduis bien ce qu'en dit l'aide VBA Envoie une chaine sur la ligne de commande du document à partir d'une application VB ou VBA. En fait, ce n'est pas SendCommande qui bugue c'est juste l'exécution du LISP dans le document initial qui est arrêtée au moment du Vla-Open ; la preuve, çà fonctionne dès qu'on retourne dans le document d'origine
-
Une idée comme çà mais c'est un peu tiré par les cheveux dans AutoCAD.LSP tu peux avoir une ligne comme celle ci (if (findfile "mylisp.lsp") (load "mylisp.lsp") ) dans ton appli principale, - tu génères le fichier "mylisp.lsp" (il doit fermer le fichier à la fin) - tu lances tous les vla-open que tu veux - à la fin tu effaces le fichier "mylisp.lsp" c'est un peu tiré par les cheveux mais çà doit marcher
-
Tranformer ligne2d / a des points 3d
Didier-AD a répondu à un(e) sujet de lovecraft dans Débuter en LISP
Impossible avec la méthode proposée : une LWPOLYLINE est obligatoirement un objet 2D la seule chose qu'on puisse faire c'est modifier son altitude Il serait possible moyennant un plus gros effort de programmation de la placer dans un SCU particulier à condition que l'ensemble des points soient dans un même plan. -
Le comportement me semble tout à fait normal (setq des (vla-open doc "Un_Dessin")) ouvre le dessin "Un_dessin" qui, naturellement prend la main ; le dessin original n'a plus la main et donc la ligne suivante (vla-sendcommand des "(load \"Un_Lisp\") ") nest pas exécutée et reste en attente dans l'éditeur du dessin original quand tu reviens dans le dessin original le lisp se poursuit pour bien comprendre, tu peux essayer ceci tu ouvres deux dessins et tu les affiches en mozaique tu peux très bien commencer une ligne dans le premier dessin, cliquer dans le second, y tracer un cercle puis cliquer à nouveau dans le premier pour finir ta ligne. pour les lisp c'est pareil. je crois que le script est une bonne idée, effectivement il y a aussi le blackboard qui serait un espace commun à tous les dessins mais je n'ai pas pratiqué. bon courage
-
Je suis un peu perdu dans le fil de la discussion ; je ne sais plus lequel bosse avec la 2007 et lequel bosse en 2006 Je confirme, les images étaient effectivement stockées avec le fichier ODC dans la version d'ODCL qui fonctionnait avec la 2006. Avec la 2007, c'est un peu différent dans la mesure où les fichiers ODC sont maintenant en ASCII et j'ai cru comprendre (autant que mon anglais me le permet) que les images posent encore qq problèmes en 2007
-
D'après les forums, et mes essais, ObjectDCL2007 n'a pas encore l'air très stable. mais çà viendra. concernant les accrochages aux objets, ils sont souvent génants dans les routines LISP pour celà, AutoCAD prévoit une option intéressante Options-> préférence utilisateur ->priorité lors de la saisie des coordonnées. je te conseille de cocher Saisie clavier ; çà désactive les accrochages lorsque tu saisis au clavier une distance ou des coordonnées relatives. Les données fournies par les routines LISP sont considérées comme des saisies clavier ce qui désactive les accrochages.
-
Certains esprits grincheux (ou peut être jaloux) prétendent que LISP signifie [surligneur] L[/surligneur]ot of [surligneur] I[/surligneur]nutile ans [surligneur] S[/surligneur]tupid [surligneur] P[/surligneur]arenthesis. Je le pratique depuis la version 2.18 d'autoCAD (sur HP 150 écran monochrome 11 pouces) je prétends moi qu'il n'y a pas plus rapide pour développer sur autoCAD Certes, c'est un langage interprété, normalement moins rapide en exécution que le C mais s'il m'est arrivé de porter quelques routines critiques en temps en C++ (2 en fait) , les maquettes en LISP représentaient entre 5 et 10 fois moins de lignes de code. quand tu auras un peu d'expérience, tu tomberas à genoux devant la puissance de fonctions comme (MAPCAR Et puis les machines sont maintenant si performantes que la lenteur du code...... et le nouveau C# proné par autodesk est finalement un langage semi interprété. Certes, enfin, le code de Gilles utilise beaucoup les fonctions VLA et, je reconnais qu'en débutant... mais tu t' y feras, j'en suis sûr. quant à l'éditeur VLISP, il est INDISPENSABLE notamment pour débuguer et pour suivre une action. Bon courage
-
Désolé, je ne sais pas me servir de l'édition de message, j'ai perdu l'original en voulant corriger une "fôte" d'orthographe je disais qu'un bienfaîteur de la coMMunauté autoCADienne avait entrepris de modifier la structure des fichiers ODC pour les rendre compatibles avec le 2007 ; en fait en les sauvegardant sous forme ASCII il existe donc un nouvel éditeur et 2 ARX : un pour les 2004/5/6 et un pour la 2007 Le principe est de charger dans le nouvel éditeur les anciens fichiers ODC et de les sauvegarder dans le nouveau format. pour l'instant l'auteur avoue que c'est bourré de bugs et qu'il n'est pour l'instant capable que d'afficher une modale vide de tout contrôle . Mais c'est un grand espoir pour les fervents d'objectDCL plus d'infos sur http://sourceforge.net/projects/objectdcl/
-
Euh... CoMMunauté çà prend deux M désolé [Edité le 30/9/2006 par Didier-AD]
-
OK OK dans l'exemple, il y avait au début et à la fin |; en fait, c'est ;| au début et l'inverse à la fin j'étais même déçu parce que non seulement l'éditeur ne les reconnaissait pas mais seules les lignes de début et de fin n'étaient pas évaluées maintenant çà marce effectivement Comme quoi, on en apprend tous les jours....
-
OK mais l'éditeur Visual LISP ne les reconnais pas en tant que tels et ne les colore pas comme des commentaires par contre, ce même éditeur permet très rapidement de commenter /décommenter un bloc il suffit d'utiliser l'icone composé de 4 lignes (bleue rouge rouge bleue) les deux lignes rouges étant précédées d'un ; pour décommenter, c'est l'icone voisin
