-
Compteur de contenus
1 489 -
Inscription
-
Dernière visite
-
Jours gagnés
19
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par zebulon_
-
Je ne suis jamais pressé pour installer des nouvelles versions. Et je suis bien d'accord avec Tramber quand il dit qu'une version par an, c'est des bêtises. Je suis passé de la 12 à la 14, puis la 2004 puis la 2007. Tous les 3 à 4 ans, ça me va bien. Mais bon, comme on l'a déjà dit ici ou là, Autodesk veut nous faire payer une taxe autocad tous les ans et que, pour justifier commercialement cette taxe, il faut qu'ils nous envoient une boiboîte tous les ans. Je me suis dit que c'est moins cher de payer 3x1an plutôt que une fois tous les 3 ans, c'est pour ça que j'ai voulu prendre la souscription. Sauf que moi, j'ai payé la taxe et je n'ai jamais reçu la boiboîte... Amicalement Zebulon_ PS : A l'heure ou tout le monde parle de développement durable, on peut dire qu'éditer une version tous les ans, c'est du gaspillage. Feraient mieux d'éditer une version tous les 3 ans, mais une sans trop de bugs.
-
Bonjour, Les ponts à poutrelles enrobées (une spécialité SNCF, ou RFF maintenant), ce n'est pas trop compliqué en matière de charpente métallique. C'est simplement des poutrelles HEA ou HEB dont on assure le parallélisme avec des entretoises et dans lesquelles on vient enfiler transversalement, grâce à des perçages prévus à cet effet, des fers à béton. On pose des coffrages perdus sur les ailes inférieures et on enrobe le tout de béton. D'où le nom... Envoie moi ton adresse par un message privé, je te ferai parvenir un exemple. Amicalement Vincent
-
Salut Tramber, Ecoute, si tu as des licences autocad sur les bras et que tu ne sais pas quoi en faire, on organise un vide grenier ce week end dans mon patelin.... Trêve de plaisanterie. Pour moi, il ne s'agit pas de OCI, mais pour une société située encore plus au nord de notre agglomération. A Rohrwiller, pour être précis. Je ne veux pas leur faire de la mauvaise pub puisque ce n'est peut être vraiment pas de leur faute !? Mais, je crois qu'Arcasdk a trouvé le mot de la fin et qu'on doit se rendre à l'évidence que c'est partout pareil... Alors, tant qu'à faire, on essaie de prendre le moins cher... Au moins, on en a pour son argent. Amicalement Vincent
-
Bonjour, laissez moi vos conter mon aventure. Je me suis porté acquéreur d'une version Autodesk Autocad 2007 monoposte fin juillet 2006 pour la modique somme de 3599,00€ HT. Et, pour bien faire, j'ai aussi pris une souscription d'un an, qui elle m'est revenue à 379,00€ HT. Jusque là, rien de bien étonnant. Lorsque la version 2008 est sortie, je n'ai rien vu arriver chez moi. J'ai donc appelé mon revendeur qui m'a assuré que cela ne saurait tarder. Bon soit, soyons patient, je ne suis pas le seul client d'Autodesk. J'attends jusqu'en juillet 2007, toujours rien. Je rappelle mon revendeur et lui demande de vérifier où en est ma mise à jour et l'informe que je n'ai pas eu de relance pour une nouvelle souscription. Cela fait 15 fois que je le rappelle depuis et entre temps, il m'a expliqué qu'il avait bien encaissé le montant de la souscription, mais que Autodesk ne l'a pas enregistrée et ne lui a pas refacturé. Donc officiellement, pour Autodesk, je n'ai pas de souscription. J'en ai eu la confirmation, puisque je les ai appelé en Suisse, où se situe le service souscription en Europe. Autodesk me dit que c'est la faute du revendeur et le revendeur me dit que c'est la faute d'Autodesk et moi je suis au milieu et je n'ai que mes yeux pour pleurer mes 379,00€ HT, disparus dans les arcanes d'un système d'inscription défectueux. Mon revendeur m'a promis d'arranger la chose en me proposant une mise à jour 2007->2009 avec souscription, au prix d'une souscription. Mais, pour l'instant, la proposition n'est qu'orale et je constate qu'une fois de plus il traine les pieds (normal, ça va lui coûter du pognon de sa poche ...). Alors, on va passer en contentieux, je ne vois plus que cette solution. Lettre recommandée + mise en demeure, pour commencer et + si pas affinités... à suivre Amicalement Vincent
-
Dieu est de ne pas exister, parce qu\'un tel monstre
zebulon_ a répondu à un(e) sujet de usegomme dans Pause café
Bonjour, Un peu de philosophie dans ce monde de brute. Moi chuis sûr que c'est la poule qui fit le zeuf. Mais je peux me tromper... Amicalement Vincent -
Bonjour à tous, Un petit mot de celui qui passe du temps à dessiner des ponts et sous lesquels, parait-il, passe le temps... pour vous dire qu'il ne faut pas être triste. Vous tirez des gueules d'enterrement. Ce n'est pas la fin du monde, ni la fin de CadXP, puisque Patrick a décidé de passer la main à un repreneur. Je te remercie, cher Patrick, pour avoir créé bénévolement cet écrin qu'est CADxp, écrin qui a été largement enrichi par la participation, bénévole également, de quelques pointures en CAD. Tiens, est-ce un hasard ? Les pointures dont je parle ont toutes répondu à ce sujet ! Mais un écrin, même le plus beau, n'a de valeur que par les objets précieux qu'on y dispose et CADxp appartient aussi, un peu, aux pointures dont je parlais plus haut. Aussi, ce serait normal de les associer d'une manière ou d'une autre à la cession de CADxp à un tiers contre quelques milliers d'euros. Je suggère (mais sans doute est-ce déjà prévu ?), que compte tenu du caractère bénévole de toute cette entreprise, il serait bien de remettre au moins une partie de cet argent à une association reconnue d'utilité publique. Personnellement, je milite depuis près de 20 ans à l' UNAPEI. Par exemple, mais ce n'est qu'une suggestion. Bonne route et quand tu passes sur un pont, pense au temps qui passe. Amicalement Vincent
-
bonjour, la fonction atoms-family peut nous aider. (defun c:nbjs (/ ctr lst sym) (setq ctr 0) (setq lst (atoms-family 1)) (foreach sym lst (if (= (type (eval (read sym))) 'PICKSET) (progn (setq ctr (1+ ctr)) ;; éventuellement, mettre la variable de jeu de sélection à nil pour la fermer ;; (eval (read (strcat "(setq " sym " nil)"))) (princ (strcat "\nJeu de sélection (" (itoa ctr) "): " sym)) ) ) ) ;; éventuellement, nettoyer la mémoire afin de libérer les noeuds inutilisés. ;; (gc) (princ) ) A priori, si je comprend bien l'aide de ma version 2007, la limite de 128 est toujours d'actualité (j'ai aussi regardé dans l'aide de la version 12, c'était déjà identique). Pourquoi ? c'est une autre question. Comme de nos jours on a plein de mémoire embarquée sur les ordinateurs, je ne vois pas la raison de cette limite. Amicalement Zebulon_ [Edité le 28/2/2008 par zebulon_]
-
Bonjour, on a déjà parlé de ce sujet ici et la solution de la hachure me parait la bonne. C'est trop de bricolage ce genre de type de ligne... Enfin, c'est mon avis. Amicalement Zebulon_
-
Bonjour, je pense qu'il s'agit d'un problème d'origine. Si la hachure est réalisée très loin de l'origine du scu, qui est en général aussi l'origine de la hachure, les erreurs d'approximation font que les triangles ne sont plus des triangles. La solution consiste soit : - à changer le scu pour que son origine soit plus proche de la zone à hachurer - soit de faire en sorte que l'origine de la hachure ne soit plus au même endroit que l'origine de scu. (voir la boîte de dialogue de la commande FHACH, en bas à gauche "origine des hachures"). J'ai choisi de cocher la case "Origine spécifiée" + "Utiliser par défaut l'étendue des contours" + "en bas à gauche" et je n'ai plus ce genre de soucis, puisque l'origine de la hachure est indépendante de l'origine du scu et elle est, par nature, très proche de la zone à hachurer. Amicalement Zebulon_
-
Bonjour, On est bien d'accord sur ce point, surtout quand on a l'habitude de manipuler des objets aussi souples que les listes. Mais comme la routine de tri par casier ne fonctionne qu'avec des entiers, je ne pouvais de toute façon pas faire autre chose qu'un tableau d'entier. Et je voulais profiter du fait qu'un tableau est indexé. Une question aux spécialistes du Benchmark : au sujet du tri par casier, lorsqu'il est utilisable, est-il efficace ? Autre question au sujet des safearray : lorsqu'on fait ceci (setq STBL2 (vlax-make-safearray vlax-vbInteger (cons 0 LONGUEUR2))) cela crée le tableau, mais je crois aussi que cela initialise le tableau avec une valeur 0 dans chaque cellule, donc ;; initialisation du tableau intermédiaire (setq I 0) (while (<= I LONGUEUR2) (vlax-safearray-put-element STBL2 I 0) (setq I (+ I 1)) ) deviendrait superflu ? Merci Zebulon_
-
Bonjour, Je me suis amusé un peu avec la méthode de tri par casier. (defun tricasier (TBL / LONGUEUR STBL MINI MAXI I LONGUEUR2 STBL2 POST2 VALT2 COMPTEUR) (setq LONGUEUR (- (length TBL) 1)) ;; définition du tableau (setq STBL (vlax-make-safearray vlax-vbInteger (cons 0 LONGUEUR))) (setq STBL (vlax-safearray-fill STBL TBL)) ;; recherche des valeurs MIN et MAX (setq MINI (vlax-safearray-get-element STBL 0)) (setq MAXI MINI) (setq I 1) (while (<= I LONGUEUR) (setq ELEM (vlax-safearray-get-element STBL I)) (if (< ELEM MINI) (setq MINI ELEM)) (if (> ELEM MAXI) (setq MAXI ELEM)) (setq I (+ I 1)) ) ;; construction du tableau intermédiaire (setq LONGUEUR2 (- MAXI MINI)) (setq STBL2 (vlax-make-safearray vlax-vbInteger (cons 0 LONGUEUR2))) ;; initialisation du tableau intermédiaire (setq I 0) (while (<= I LONGUEUR2) (vlax-safearray-put-element STBL2 I 0) (setq I (+ I 1)) ) ;; comptabilisation du nombre d'occurences (setq I 0) (while (<= I LONGUEUR) (setq POST2 (- (vlax-safearray-get-element STBL I) MINI)) (setq VALT2 (+ (vlax-safearray-get-element STBL2 POST2) 1)) (vlax-safearray-put-element STBL2 POST2 VALT2) (setq I (+ I 1)) ) ;; restitution de la liste initiale (setq TBL nil) (setq COMPTEUR MINI) (setq I 0) (while (<= I LONGUEUR2) (setq VALT2 (vlax-safearray-get-element STBL2 I)) (repeat VALT2 (setq TBL (append TBL (list COMPTEUR))) ) (setq I (+ I 1)) (setq COMPTEUR (+ COMPTEUR 1)) ) TBL ) (defun c:tri () (setq TBL '(4 0 -1 2 0 0 2 5 -1 2 0 4 2)) (tricasier TBL) ) En même temps, j'ai révisé les safearray ;) Amicalement Zebulon_
-
Pardon, je n'avais pas tout lu en détail. Mais je trouve que le nom (massoc ...) est plus facile à retenir pour de vieux lispeurs, élevés à coup de (assoc ...) Amicalement Zebulon_
-
Bonjour, J'aime bien la commande (assoc key aliste) qui recherche key comme élément clé dans la liste d'association et retourne l'entrée de aliste. Aussi, il me semblait opportun de faire une fonction équivalente pour le cas ou la liste ne comporterait pas un article clé, mais plusieurs. Donc une fonction (massoc key aliste), par exemple. Le m pour "multiple", vous vous en êtes douté. Cela pourrait ressembler à quelque chose comme ça (defun massoc (key alist / x nlist) (setq nlist nil) (foreach x alist (if (eq key (car x)) (setq nlist (cons (cdr x) nlist)) ) ) (reverse nlist) ) Avec la possibilité de paramétrer la clé. Amicalement Zebulon_
-
Bonjour, pour corser un peu, on pourrait faire une fonction qui récupère aussi le "bulge" de chaque élément de polyligne, pour pouvoir ensuite faire une fonction qui donne, lorsque le segment est une courbe, le centre du cercle, la valeur du rayon, l'angle de départ et d'arrivée et la longueur de la corde etc... Pour mes besoins personnels en la matière, je me suis largement inspiré de ceci et, depuis, je suis moins ignorant question "bulge" Amicalement Zebulon_
-
Didier Duhem met ces fonctions à notre disposition ici Cela aide bien pour gérer les xdatas. Amicalement Zebulon_
-
Bonjour, je confirme ce que dit Krynn. DWGToPDF.pc3 est quelque chose d'inqualifiable sans être vulgaire. Par contre, si tu optes pour le dwf à la place du pdf, soit avec DWF6 ePlot.pc3, soit avec la commande Publier, les fichiers produits sont de loin biens meilleurs. Le plus difficile est de démocratiser le DwfReader ou Design Review . Amicalement Zebulon_
-
_move;_all;;0,0,0;0,0,1e99;_move;_p;;0,0,0;0,0,-1e99; ou en lisp...Mais comme il s'agit d'une LT, ce qui est ci-dessus est plus adapté. ; Super-simple little routine to force ; all z-coordinants in a drawing to zero ; (with thanks to Randy Richardson and ; the Autodesk NG's). ; ; From Tee Square Graphics - 01/28/2000 (defun C:SMASH ( ) (command "_.move" "_all" "" '(0 0 1e99) "" "_.move" "_p" "" '(0 0 -1e99) "") (princ) ) Amicalement Zebulon_
-
en vlisp, il y a bien la fonction (vla-get-mspace AcDoc), mais celle ci renvoie une erreur quand on est en espace objet. Donc, le (getvar "CVPORT") est encore ce qu'il y a de mieux, à ma connaissance. Amicalement Zebulon_
-
Bonjour, J'ai vu ici ou là des exemples qui déterminent l'espace avec la fonction vla-get-ActiveSpace (if (zerop (vla-get-ActiveSpace AcDoc)) (setq SPACE (vla-get-PaperSpace AcDoc)) (setq SPACE (vla-get-ModelSpace AcDoc)) ) Il faut préférer : (if (= (getvar "CVPORT") 1) (setq SPACE (vla-get-PaperSpace AcDoc)) (setq SPACE (vla-get-ModelSpace AcDoc)) ) pour prendre en compte les cas où on a fait un _mspace dans l'espace papier. Car, dans ce cas, vla-get-ActiveSpace renvoie toujours 0 (comme tilemode d'ailleurs) alors qu'on est localement en espace objet. Amicalement Zebulon_
-
Activer ou Désactiver un fichier lisps
zebulon_ a répondu à un(e) sujet de JUJUZAZA dans Pour aller plus loin en LISP
Si c'est simple, ça ne tiendra pas la route longtemps Amicalement Zebulon_ -
et souvent, ils ne savent pas bien eux même... C'est vrai, mais ce sont d'anciens collègues quand même... Non, puisque la mission de maîtrise d'oeuvre est soumise à un marché public. Mais, je viens de terminer l'exécution d'un pont rail dont la maîtrise d'oeuvre était assurée par la SNCF et, sans vouloir les fâcher, j'ai trouvé les plans d'avant projet assez désolants. Cela ne les a pas dérangé , par exemple, d'implanter les poteaux caténaires dans l'impact du gabarit transversal sur ouvrage, et j'en passe... Et après, ce sont les même qui sont censé contrôler les études d'exécution ! Enfin, comme on dit : "Quand je me regarde, je me désole. Quand je regarde les autres, je me console.." Amicalement Zebulon_ [Edité le 11/10/2007 par zebulon_]
-
Activer ou Désactiver un fichier lisps
zebulon_ a répondu à un(e) sujet de JUJUZAZA dans Pour aller plus loin en LISP
c'est purement et simplement du vol... Je fais un peu ce que propose Bred, sauf que je récupère le numéro de licence Autocad avec (getvar "_PKSER"), avec lequel je fais une bidouille "xor" (voir la commande boole) avec une clé et un mot de passe. Si le mot de passe correspond à la clé ET au numéro de licence, j'inscris le bon mot de passe dans le registre de la machine (voir vl-registry-read et vl-registry-write) et le lisp peut fonctionner sur la machine et ne me demande plus de mot de passe. Il faudra générer autant de mot de passe que de postes. Récupérer le numéro de licence est très simple. On doit pouvoir le trafiquer plus facilement qu'une information de type MAC ADRESSE. Tout est une question de niveau de sécurité à obtenir. Tu comprendras qu'on ne te donne pas plus de détails concernant ce sujet délicat. Amicalement Zebulon_ -
Alors là, je suis sur le cul. Par ma foi ! il y a plus de quarante ans que je dis de la prose sans que j'en susse rien, et je vous suis le plus obligé du monde de m'avoir appris cela. Pour Noël, je vais me faire offrir un bouquin de maths. Niveau Terminale, ça suffira ou bien il faut taper dans du plus costaud ? Amicalement Zebulon_
-
Je disais plus haut que j'avais séché les cours de maths quand il était question des produits vectoriels. Heureusement, quand il était question de trigo, j'étais présent ;) Amicalement Zebulon_
-
Bonjour, J'ai regardé du côté de la rotation 2D et j'ai fait une fonction où l'on donne le point PT à transformer, PTC le centre de rotation (l'origine du scu local fictif) et A l'angle qui donne le sens des X positifs du scu local fictif. (defun rot2d (pt ptc a) ;; pt point à tourner ;; ptc centre de rotation ;; a angle de rotation en radian (setq x (+ (* (- (car pt) (car ptc)) (cos a)) (* (- (cadr pt) (cadr ptc)) (sin a)) ) ) (setq y (- (* (- (cadr pt) (cadr ptc)) (cos a)) (* (- (car pt) (car ptc)) (sin a)) ) ) (list x y) ) exemple : ;; un point dont on veut les coordonnées locales Commande: (setq pt (getpoint)) (1.0 2.0 0.0) ;; l'origine du nouveau scu Commande: (setq ptc (getpoint)) (1.0 1.0 0.0) ;; un point dans le sens positif des x Commande: (setq ptx (getpoint)) (2.0 2.0 0.0) ;; je calcule l'angle entre ptc et ptx Commande: (setq a (angle ptc ptx)) 0.785398 ;; et j'utilise ma fonction rot2d en lui introduisant les données ci-dessus Commande: (setq pt1 (rot2d pt ptc a)) (0.707107 0.707107) ;; ou encore Commande: (setq pt2 (rot2d '(4 8) ptc a)) (7.07107 2.82843) Ce qui est amusant, c'est qu'on peut faire l'opération inverse avec la même fonction. ;; je détermine les coordonnées de '(0 0) dans le scu fictif Commande: (setq ptcg (rot2d '(0 0) ptc a)) (-1.41421 -1.11022e-016) ;;(On note quand même des petits soucis de précision...) ;; et je fais l'opération inverse avec pt2 Commande: (rot2d pt2 ptcg (* a -1)) (4.0 8.0) ;; puis avec pt1 Commande: (rot2d pt1 ptcg (* a -1)) (1.0 2.0) ;; ou encore Commande: (rot2d pt1 ptcg (- (* 2 pi) a)) (1.0 2.0) Inutile, peut-être, mais instructif ;) Amicalement Zebulon_ [Edité le 9/10/2007 par zebulon_][Edité le 9/10/2007 par zebulon_] [Edité le 10/10/2007 par zebulon_]
