Aller au contenu

bonuscad

Membres
  • Compteur de contenus

    5 029
  • Inscription

  • Dernière visite

  • Jours gagnés

    56

Tout ce qui a été posté par bonuscad

  1. bonuscad

    Tout va bien !

    Et ce texte paru le 1er juillet ! Ils peuvent dénoncer l'emploi de la force armée en Syrie, ils se préparent à faire de même... Tous ces textes me conforte dans mon choix du NON pour le référendum de la constitution Européenne de 2005. Il y était clairement stipulé que les Etats feraient tout pour maintenir la stabilité de la bourse quitte à engendrer des guerres civiles (je résume grossièrement, je n'ai pas retrouvé les termes exactes) L'avenir du peuple ou celui du CAC40 ? La réponse est claire...
  2. bonuscad

    Confiscation de terre

    Disons que c'est important de faire connaitre. Par contre l'utilité des pétitions, permet moi d'en douter. Quand je tombe sur ce genre d'info (pas en relation directe avec ton sujet) ou encore ceci: Somalie. 300 tonnes d'aide humanitaire pillées Malgré les appels à la mobilisation, ça te dégoute de voir le résultat. Même si tu pense aider, ça se retourne contre eux car ça devient un outil de pression politique qui fait que l'aide est complétement détournée de sa vocation première. Comment agir efficacement?
  3. Bonjour, Aujourd'hui je devais renseigner une cinquantaine de présentations (comportant une seule fenêtre) avec le nom de la présentation et l'échelle de la fenêtre. Il va s'en dire que je n'avais pas envie de me palucher 50 onglet en répétitif. Je me suis donc écris une procédure à l'arrache pour effectuer cela. C'est du brute de pomme, adapté à mon besoin, mais cela reste (je pense) facilement modifiable si vous voulez réaliser quelque de similaire. Je donne le code de base pour ceux qui seraient intéressé. (defun make_field (obj / pt nw_obj) (setq pt (list 2.15031 103.032 0.0) nw_obj (vla-addMtext Space (vlax-3d-point pt) 0.0 (strcat "{\\fArial|b0|i0|c0|p34;" "%<\\AcVar ctab>%" " - Echelle 1/" "%<\\AcExpr (1000/" "%<\\AcObjProp Object(%<\\_ObjId " (itoa (vla-get-ObjectID (vlax-ename->vla-object obj))) ">%).CustomScale \\f \"%lu2%qf2816\">%" ") \\f \"%lu2%pr0\">%" ) ) ) (mapcar '(lambda (pr val) (vlax-put nw_obj pr val) ) (list 'AttachmentPoint 'Height 'DrawingDirection 'InsertionPoint 'StyleName 'Layer 'Rotation 'BackgroundFill) (list 1 3.5 5 pt "Standard" "0" 0.0 -1) ) ) (defun c:Field_Layout_Scale ( / AcDoc Space js) (vl-load-com) (foreach n (layoutlist) (setvar "CTAB" n) (setq AcDoc (vla-get-ActiveDocument (vlax-get-acad-object)) Space (vla-get-PaperSpace AcDoc) ) (setq js (ssget "_X" (list '(0 . "VIEWPORT") '(67 . 1) (cons 410 n) ) ) ) (make_field (ssname js 0)) ) (prin1) ) NB: Le masque du Mtext est ici actif, le style en Arial fixé en interne, justification HG et de largeur 0.0. La variable pt du point d'insertion (ici fixe pour chaque présentation) L'unité pour l'échelle est le mètre: "%<\\AcExpr (1000/" Bonne adaptation.
  4. Occasion de regarder la commande RTEXT (nécessite que les ExpressTools soient installés) Faire F1à l'utilisation pour l'aide et regarder la syntaxe Diesel à utiliser. Pour la fonction lisp proposée, on peut faire une opération booléenne sur le bit 70 pour avoir par exemple que les Xrefs seulement chargés ((lambda ( / next dxf_tbl_blk) (setq next T) (while (setq dxf_tbl_blk (tblnext "BLOCK" next)) (cond ((eq (boole 1 4 (cdr (assoc 70 dxf_tbl_blk))) 4) (if (eq (boole 1 32 (cdr (assoc 70 dxf_tbl_blk))) 32) (print (cdr (assoc 1 dxf_tbl_blk))) ) ) ) (setq next nil) ) (prin1) )) [Edité le 9/8/2011 par bonuscad]
  5. Ne connaissant pas la suite de ce que tu veux faire... j'ai construit le code en exemple. Mais je me demande en fait si une sélection filtrée ne suffirait pas, du style: (ssget '((0 . "INSERT"))) avec celui-ci tu ne sort pas du mode de sélection même si tu clique à coté. après suivant ce que tu veut faire, il faut utiliser (sslength) (ssname indicé) pour récupérer les infos des objet sélectionnés.
  6. Une boucle dont on peut sortir avec Espace, Entrée ou Clic-droit. ((lambda ( / key ent) (princ "\nChoix d'un objet: ") (while (and (not (member (setq key (grread T 4 2)) '((2 13) (2 32)))) (/= (car key) 25)) (if (eq (car key) 3) (if (setq ent (nentselp (cadr key))) (print (entget (car ent))) ) ) ) (prin1) ))
  7. bonuscad

    Tout va bien !

    Bonjour, Tout va bien, c'est l'été, nos dirigeant veulent nous faire croire qu'ils sont capable de maintenir le cap du bateau en perdition à grand coup d'annonces et d'injections de milliards d'euros par-ci par-là. Un texte de loi publié le 29 juillet 2011 (en catimini, bien sûr) tend à prouver le contraire. Ils prennent les devants pour faire face à des événements majeurs. La rentrée en septembre va être chaude... Vous croyez encore leurs propos rassurants dans les merdias officiel ? :casstet:
  8. Bonjour, Un truc que j'avais fais il y a plusieurs années. Si ça peut être d'une inspiration pour toi...
  9. Beaucoup pense à un blaireau qui aurait mal tourné J'espère que c'est pas Cricri, la bestiole d'Alsace ! :thumbup:
  10. Bonjour, Tout est dans le titre, mais là ce n'est pas une légende, puisque photographie à l'appui... Mystérieux animal
  11. bonuscad

    textmult

    Bonjour, Au cas ou tu veuille écrire sur une une succession de courbes, et non seulement un arc comme peut le faire l'outil proposé des express. Je te propose text_curv.lsp Cela écrit avec le style courant le long d'un objet curviligne tel que Spline, Polyligne Lisséee/Splinée/Normale, Ellipse. Utilise des groupes nommés automatiquement (Ctrl+H)
  12. bonuscad

    pb de xref non visibles

    J'ai eu un problème identique récemment. Avec un visualiseur de DWG je voyais bien tout mon dessin (reçu de l'extérieur) au complet, mais en le chargeant sous autocad, il était incomplet. En fait c'est simplement que des Xrefs étaient chargés partiellement. (chose que je n'utilise pas, donc je n'avais pas cherché dans cette voie) Donc regarde dans le chargement partiel pour voir si ce n'est pas le cas.
  13. Tu n'es vraiment pas clair, tu multiplies les envois sur le même sujet et on perd le fil. Bref... :mad: Pour le peu que j'ai suivi à droite et à gauche, essayes de comprendre ce qui suit: Je suis peut être à coté, mais vu la clarté de tes propos (setq val_meter (getreal "\nValeur en mètre?: ")) (setq val_centimeter (* 100 val_meter)) ;convertir val_centimeter avec arrondi supérieur en RESTANT un réel (setq val_conv_centimeter (float (read (rtos val_centimeter 2 0)))) (print val_conv_centimeter)
  14. Salut, Merci, c'est ce que je vais essayer de retenir de ton intervention, faire systématiquement une opération booléenne sur ce bit si j'ai besoin d'identifier la nature de la spline. Un (boole 4 32 bit_spline) ou un (rem bit_spline 32) dans les conditions d'égalité des bit sera indispensable pour traiter les splines concernées sans en omettre. Mais c'est pas demain que je vais intervenir directement sur des splines en toute sérénité, ces entités sont vraiment complexes. Je me contenterai de pouvoir les filtrer à la sélection. Merci de ton aide ;)
  15. bonuscad

    Lisp TALUS

    Reprendre le fichier donné en lien à la réponse n°3, je pense avoir corrigé le problème (+ un autre) NB: Pensez à nettoyer le cache de votre navigateur si vous avez déjà visité la page du lien, autrement vous allez obtenir toujours l'ancien code non corrigé. [Edité le 29/7/2011 par bonuscad]
  16. Bonjour, Ton erreur vient bien d'où tu la suspecte. Le problème est que tu fais (setq Niv_inf (- Niv_sup long_delta_arase)) mais long_delta_arase est une distance entre 2 point (pt08 et pt01), donc une valeur réelle. En conséquence ton Niv_inf EST une valeur réelle et tu demande à autocad de convertir un entier en alphanumérique (itoa) !?!? soit tu fais (itoa (fix Niv_inf)) , soit (rtos Niv_inf 2 0), sachant que la 2ème proposition arrondi au supérieur.
  17. A moins que sa deudeuche l'ai abandonné en cours de route... :P Il est à Salbris
  18. Bonjour, Abandonner QSELECT et utiliser [surligneur]'[/surligneur]FILTER à la place? Tu lance la commande _FIND et au message choix des objets en ligne de commande tu tapes 'FILTER (ne pas oublier l'apostrophe) et tu paramètres ton filtre. Filter est même plus puissant (mais peut être plus compliqué au 1er abord) que Qselect car tu peut utiliser des filtres plus fin et des opérateurs logiques.
  19. Comme Japocame, je suggère -PAN Si c'est répétitif, tu peux même te faire une macro dans un bouton. Par exemple pour un déplacement de 100 en X: ^C^C_.-pan;_none;(getvar"VIEWCTR");_none;@100,0;^Z [Edité le 27/7/2011 par bonuscad]
  20. A tes risques et périls... Dans la fonction defun acet-overkill-ui-cmd , met en bloc de remarque ce qui suit avec ;| en début et |; en fin Extrait: ;| (while ans (acet-overkill-print-modes) (initget "Ignore Fuzz Plines parTial Endtoend") ;; force non-negative entry 4+128 (setq ans (getkword "\nEnter an option to change [ignore/Fuzz/Plines/parTial/Endtoend] : ")) (cond ((= ans "Ignore") (acet-overkill-ui-cmd-ignore)) ((= ans "Fuzz") (acet-overkill-ui-cmd-fuz)) ((= ans "Plines") (acet-overkill-ui-cmd-plines)) ((= ans "parTial") (acet-overkill-ui-cmd-partial)) ((= ans "Endtoend") (acet-overkill-ui-cmd-endtoend)) );cond close )|;;while
  21. Merci te ta réponse, Je suis comme toi, pas très familier avec ces splines. Merci de m'avoir souligné la possibilité des splines à 2 sommets auquel je n'avais pas pensé (ça peut m'aider) Je continu à fouiller le net, voir si un code ne pourrait pas m'aider à la compréhension de ce foutu code de groupe 70, pas trouvé grand chose de concluant pour le moment. celui qui suit (le seul que j'ai trouvé avec entmake) ne m'éclaire guère... http://marine.bagneris.free.fr/wiki/data/pedago/representationFormesComplexes/infographie/3dpline2Spline.lsp pour la sélection je vais faire simplement avec les opérateurs... (ssget "_+.:E:S" (list (cons -4 " (cons -4 " (cons 0 "*POLYLINE,LINE,ARC,CIRCLE,ELLIPSE") (cons -4 " (cons -4 "&") (cons 70 112) (cons -4 "NOT>") (cons -4 "AND>") (cons -4 " (cons 0 "SPLINE") (cons -4 "AND>") (cons -4 "OR>") (cons 67 (if (eq (getvar "CVPORT") 2) 0 1)) (cons 410 (if (eq (getvar "CVPORT") 2) "Model" (getvar "CTAB"))) ) ) [Edité le 28/7/2011 par bonuscad]
  22. bonuscad

    Outils pour map

    En faisant des recherches, je suis tombé par hasard sur un site Allemand. Celui ci propose des outils GeoTools (payants) pour Autocad Map et Briscad Il y a aussi un FreeStuff (gratuit) avec quelques outils (sans trop d'intérêt, mais sait on jamais!) Voilà c'est juste pour faire connaitre au cas où quelqu'un serait intéressé.
  23. Bonjour, Je désire faire une sélection unique filtrée d'objets curvilignes avec par exemple ceci; (ssget "_+.:E:S" (list (cons 0 "*POLYLINE,LINE,ARC,CIRCLE,ELLIPSE,SPLINE") (cons 67 (if (eq (getvar "CVPORT") 2) 0 1)) (cons 410 (if (eq (getvar "CVPORT") 2) "Model" (getvar "CTAB"))) (cons -4 " (cons -4 "&") (cons 70 112) (cons -4 "NOT>") ) ) Pour écarter les maillages (concernant les polylignes, j'ai fixé le bit 70 à 112 (+ 64 32 16) Les splines ont aussi un code de groupe à 70, et dans l'aide il est donné ceci: (la somme de ces bits étant de 31), je pensait que mon filtre fixé à 112 ne poserais pas de problème pour celle-ci. Malheureusement en faisant des tests je vient de m'apercevoir que certaines splines pouvaient me retourner un bit à 32 ou 40 :casstet: Je comprends pas comment de telles valeurs peuvent m'être retournées et je comprends pas bien le bit 16 bit de spline plane également défini , où vont t-il le pécher la valeur de ce bit? Du coup je ne sais pas comment monter mon filtre simplement pour inclure ces splines qui se retrouve actuellement écartées. Si vous avez des éclaircissements...
  24. bonuscad

    Lisp TALUS

    J'ai réussi à reproduire le problème, donc c'est bien un bug de mon code. Je vais essayé de corriger cela le plus rapidement possible... :casstet: Merci du retour, mais il va te falloir patienter... :(
  25. bonuscad

    Dessiner une parabole

    Un code trouvé sur le net il y a pas mal de temps, j'ai juste traduit les messages. ; PARABEL.LSP Copyright (c) 1988, 1999 by Martin Vogel ; ; Zeichnet eine quadratische Parabel ; ; Wahlweise kann die Parabel durch drei Punkte bestimmt werden oder durch ; die Angabe von zwei Punkten und der Tangente im Startpunkt. ; Die Parabelgleichung wird im Textfenster von AutoCAD ausgegeben. (Defun C:Parabole (/ p0 p02 p1 p12 pm xm ym pm2 t0 w a b c d n x dx tuwas) (SetVAR "CmdEcho" 0) (Initget 7) (Setq p0 (getpoint "\nPoint de départ: ")) (SetQ x (Car p0)) (Setq p1 (getpoint "\nPoint de fin: ")) (Initget 7 "Tangente Hauteur _TAngent THickness") (Setq pm (getpoint "\nDéfinition par la [Tangente/Hauteur] ordinale ")) (IF (eq pm "TAngent") (PROGN (Setq t0 (/ (sin (setq w (getangle p0 "\nDirection de la Tangente: "))) (cos w))) (setq c (- (car p1) x)) (setq a (/ (- (cadr p1) (* t0 c) (cadr p0)) (* c c))) (setq b (- t0 (* 2 a x))) (setq c (+ (cadr p0) (* a x x) (- (* t0 x))))) (PROGN (IF (eq pm "THickness") (setq pm (list (/ (+ x (car p1)) 2) (+ (/ (+ (cadr p0) (cadr p1)) 2) (getdist "Hauteur: "))))) (setq p02 (* x x)) (setq pm2 (* (car pm) (car pm))) (setq p12 (* (car p1) (car p1))) (setq D (- (+ (* p02 (car pm)) (* x p12) (* pm2 (car p1))) (+ (* p12 (car pm)) (* (car p1) p02) (* pm2 x)))) (setq a (/ (- (+ (* (cadr p0) (car pm)) (* x (cadr p1)) (* (cadr pm) (car p1))) (+ (* (cadr p1) (car pm)) (* (car p1) (cadr p0)) (* (cadr pm) x))) D)) (setq b (/ (- (+ (* p02 (cadr pm)) (* (cadr p0) p12) (* pm2 (cadr p1))) (+ (* p12 (cadr pm)) (* (cadr p1) p02) (* pm2 (cadr p0)))) D)) (setq c (/ (- (+ (* p02 (car pm) (cadr p1)) (* (car p0) (cadr pm) p12) (* (cadr p0) pm2 (car p1))) (+ (* p12 (car pm) (cadr p0)) (* (car p1) (cadr pm) p02) (* (cadr p1) pm2 (car p0)))) D)))) (Write-Line (StrCat "\nEquation de la Parabole: " (rtos a 2) "*x^2 + " (rtos b 2) "*x + " (rtos c 2))) (InitGet 7) (Setq n (GetInt "\nNombre de segments: ")) (setq dx (/ (- (car p1) x) n)) (Setq tuwas '(Command "_.PLINE" p0)) (Repeat n (SetQ tuwas (Append Tuwas (List(List 'Quote (List (SetQ x (+ x dx)) (+ (* a x x) (* b x) c))))))) (SetQ Tuwas (Append Tuwas '(""))) (Eval Tuwas) (Command "_.PEDIT" "_Last" "_Fit" "_exit") (princ) )
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité