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. Tu peux utiliser ce petit utilitaire gratuit pour obtenir des points de référence convertis. Après je pense que les commande traditionnelles (déplacer rotation) d'Autocad doivent suffirent. A moins qu'une déformation existe entre les 2 systèmes (à vérifier, car je n'en sais strictement rien, je travaille essentiellement en Lambert)
  2. bonuscad

    découper une polyligne

    En effet cela ne fonctionne pas si les segments successifs sont colinéaires. Et puis la solution d'ajuster supprimait les segment ajustés, je ne crois pas que cela faisait l'affaire. La solution de boris est la plus simple a metter en oeuvre, surtout que la sélection après la décomposition dans ce cas est facile à faire (par fenêtre) à moins que d'autre éléments de petite taille soit inclus dans cette séléction manuelle si le dessin est chargé. Autrement un truc de ce style (attention à la variable "PEDITACCEPT" je n'ai pas fait de contrôle, adapter la commande pedit en conséquence) ((lambda ( / borne js en n ent) (command "_.point" "*0.0,0.0,0.0") (setq borne (entlast) js (ssadd)) (command "_.explode" (ssget "_:S" '((0 . "*POLYLINE")))) (setq en (entnext borne)) (while en (setq js (ssadd en js)) (setq en (entnext en)) ) (cond (js (setq n -1) (repeat (sslength js) (setq ent (ssname js (setq n (1+ n)))) (command "_.pedit" ent "_yes" "") ) ) ) (entdel borne) (prin1) ))
  3. bonuscad

    probleme avec booleens

    Bien d'accord, mais: Ce que j'ai compris: s'ils ne sont pas concentriques, c'est que l'axe passant du centre du 1er cercle au 2ème ne sera pas parrallèlle aux arrêtes du cube. Donc le cône est incliné. L'intersection d'un cône, dans ce cas, avec la surface du cube donnera des ellipses. Donc son raisonnement de partir de 2 cercles me semble erroné. Où alors il cherche à avoir un cone élliptique, je ne sais pas.... Il nous dira bien ce qu'il en est NB: Une simple remarque à propos de tes images "concombre masqué", essayes de les faire d'une taille un peu plus raisonnable, il faut utiliser les ascenseurs horizontaux pour pouvoir lire les autres posts redimensionnés par rapport à l'image ;)
  4. bonuscad

    Toiture en tuiles, La tuile !

    J'ai bien un toit chez moi qui est réalisé comme ceci. Les tuiles sont anciennes (je crois qu'on dit Romaine ou Romane, je ne sais plus), c'est des tuiles classiques que l'on trouve beaucoup dans le Sud de la France (d'ailleurs je crois qu'elles sont beaucoup recherchées par les puriste et elles se revendent bien d'occasion). J'ai un pan de toiture plus incliné que l'autre, et les tuiles ont tendance à glisser, on m'a conseillé de brosser la partie bombée de mes plaques (elles sont déjà anciennes et plein de mousse ainsi que mes tuiles) et de mettre simplement une noix de sicaflex lors de la repose pour fixer celle-ci. Vu le boulot, ben je l'ai pas encore fait :casstet: Voilà pour l'anedocte!
  5. bonuscad

    probleme avec booleens

    Une démarche possible pour réaliser ce que tu souhaites, enfin je pense. Une fois tes 2 cercles placés sur les face oppossées, rejoins chaque centre par une ligne3D (axe de ton cône). Fais un SCU 3points (1er centre - 2ème centre - valide le 3ème par défaut) Bascule ton SCU suivant l'axe des Y de 90° Là retrace ton cercle de vrai rayon (car en fait tes premier cercles auraient dut être élliptiques) Déplace l'origine de ton SCU sur l'autre extémité de axe et fait de même pour le second cercle. Trace une ligne3D de quadrant à quadrant. Cette ligne, tu en modifie la longueur en dynamique pour que tu sois sûr qu'elle dépasse de ton cube en solide. Ceci de part et d'autre. Puis de chaque extrémitées de cette nouvelle ligne du trace une ligne "PERPENDICULAIRE" à ton axe3D Tu exécutes "Pedit" pour joindre ces 3 segments, puis clore. A partir de la tu fais une révolution de cette polyligne de 360° autour de ton axe3D Il ne reste plus qu'à soustraitre ce cône au cube. Bien sûr l'empreinte sur le cube sera elliptique, mais le rayon exact!
  6. Sympa cette version, je préfère ;) Il n'y en a pas, du moins je n'en ais pas trouvé... Ce que je voulais dire: Lorsque tu utilise la commande prolonger "classique" et que la sélection se situe sur la partie opposée, Autocad te dit qu'il n'y a pas de seuil dans cette direction. Hors ta routine, elle, déplace le sommet opposé et tu obtiens la ligne "complémentaire". Voilà c'est tout, ce n'est pas génant, mais ça ne respecte pas la logique dont on a l'habitude. :exclam:
  7. Les deux réponses conviennent pour ce que tu veux faire. La seule nuance et que dans la fonction erreur des exemples on te renvoyait sur la procédure "appelante", mais en modifiant le code tu peux renvoyer sur toute autre procédure.?!..?!! pour mon exemple: ((eq ch "Fonction annulée") (princ "\nRecommencez") (c:test) ) deviendrait par exemple: ((eq ch "Fonction annulée") (princ "\nProcédure d'annulation en cours, patientez.....") (doscopy ....) (....) (restore variables) )
  8. Je ne sais pas si j'ai bien compris la question. Pour contourner l'appui de la touche "Echapp" en lisp, j'utiliserais la fonction *errror* Un exemple vaut mieux qu'un discours, (defun c:test (/) (defun mon_err (ch) (cond ((eq ch "Fonction annulée") (princ "\nRecommencez") (c:test) ) (T (princ ch)) ) ) (setq olderr *error* *error* mon_err) (initget 1) (setq p1 (getpoint "\n1er point: ")) (initget 1) (setq p2 (getpoint "\n2ème point: ")) (command "_.line" p1 p2 "") (setq *error* olderr) (prin1) ) Ceci empêchera l'abandon de la fonction/commande TEST, si l'utilisateur "break" lors de l'entrée des données, il devra recommencer au début.
  9. bonuscad

    type de ligne complexe

    Il y a un sujet qui parlait d'un bug sur les définitions dans AcadISO.lin et pas dans AutoCAD.lin, et ceci sur plusieurs versions d'Autocad. Bien que ce ne soit pas ton problème, c'est pour dire que même si la définition est exact, il peut y avoir quelque d'autre qui "coince". Vérifie: * que tu n'as pas d'espace en fin de ligne de la définition (après le dernier élément) * que par inavertance tu ais mis une virgule à la place d'un point décimal. * dernière hypothèse (peu probable pour toi, mais que je soupconne pour le bug connu mentionné ci dessus) un caractère nul ou non valide pour nos page code qui n'est pas visible dans un éditeur normal comme le bloc-note. Des fois plus l'erreur est grossière moins elle est visible malgré de multiples relectures :casstet: *EAU_CHAUDE,Eau chaude ---- EC ---- EC ---- EC ---- A,12.7,-5.08,["EC",STANDARD,S=2.54,R=0.0,X=-2.54,Y=-1.27],-5.08 Sait-on jamais!!!
  10. bonuscad

    découper une polyligne

    Ha ben tiens, j'en apprends une là :P Merci pour l'astuce que je connaissais pas!
  11. Je vais être généraliste dans ma réponse: Tout simplement, qu'avec le nombre de participants, on trouve "chaussure à son pied" dans le dommaine qui nous interesse (ou passionne). Vous avez deviné le mien je suppose... Donc bien sûr, dans ce cas les échanges sont fructueux et on progresse énormément. Toi tu sais, moi je sais, nous savons tous. Résultats; CadXp sait beaucoup de choses et devient notre bible. Amen :P
  12. Une autre façon de faire, ta version a l'avantage de ne pas utiliser de (command) Je suis cependant pas persuadé sur le fait d'utiliser (entsel) pour le point de sélection, mais c'est une affaire de goût ;) J'ai observé des déplacements de sommets qui me semble pas logique dans l'esprit prolonger/ajuster ou alors des erreurs dans tes conditions.... NB: Il y a une paranthèse fermante supplémentaire dans ton code, je l'ai située juste avant la sélection de la ligne, si je n'ais pas fait d'erreur....
  13. Et tu peux regarder ce SUJET pour l'écrou....
  14. Je savais bien que j'avais un lisp (pas de moi) dans ma collection qui faisait ce genre de chose. Je viens de le retrouver, je te le livre tel que je l'ai trouvé (hormis peut être l'internationalisation des commande employée) POST MODIFIE Je supprime le code déjà présent sur CadXp (pas la peine d'avoir des doublons) voir le lien donné en réponse N°5 par (gile) qui en plus propose la version traduite en Français. [Edité le 29/3/2006 par bonuscad]
  15. bonuscad

    CLAVIER US, au secour !

    Ludwig, Cela ne fonctionne que dans une fenêtre DOS, et les combinaisons sont: Ctrl + Alt + F1 = qwerty Ctrl + Alt + F2 = azerty [Edité le 28/3/2006 par bonuscad]
  16. Si vous avez besoin de prolonger/ajuster une ligne en 3D sur une face de solide ou tout autre plan de coupe défini par 3 points, essayez ceci : (defun c:int_3d ( / js nw_ucs dxf_ent dxf_10 dxf_11 p10_2d p11_2d p_int) (princ "\nSélectionner la ligne à Prolonger/Ajuster à un plan de coupe: ") (while (null (setq js (ssget "_:S" '((0 . "LINE"))))) (princ "\nSélection vide ou ce n'est pas une ligne!") ) (initget "Nouveau Courant _New Current") (setq nw_ucs (getkword "\nUtiliser SCU [Nouveau/Courant] < Courant > : ")) (if (eq nw_ucs "New") (command "_.ucs" "_3point" pause pause pause) ) (setq dxf_ent (entget (ssname js 0)) dxf_10 (trans (cdr (assoc 10 dxf_ent)) 0 1) dxf_11 (trans (cdr (assoc 11 dxf_ent)) 0 1) p10_2d (list (car dxf_10) (cadr dxf_10) 0.0) p11_2d (list (car dxf_11) (cadr dxf_11) 0.0) p_int (inters p10_2d p11_2d dxf_10 dxf_11 nil) ) (cond (p_int (if (> (distance p_int p11_2d) (distance p_int p10_2d)) (entmod (subst (cons 10 (trans p_int 1 0)) (assoc 10 dxf_ent) dxf_ent)) (entmod (subst (cons 11 (trans p_int 1 0)) (assoc 11 dxf_ent) dxf_ent)) ) ) (T (princ "\nLigne parrallèle au plan de coupe!") ) ) (if (eq nw_ucs "New") (command "_.ucs" "_previous") ) (prin1) ) Bien que j'ai essayé de tester dans plusieurs cas de figure, il ce peut que dans certain cas cela ne fonctionne pas. A voir....
  17. bonuscad

    cripté un programme lisp

    Dans AutoCad menu "outils" tu as l'éditeur VLisp. Dans celui-ci il est facile de convertir ton lisp en projet VL, puis de compiler celui-ci en fichier FAS (donc crypté) L'inverse n'est normalement pas possible (il faut CONSERVER tes sources), il existe bien un décompilateur (version Béta), mais après l'avoir essayé, je certifie qu'il n'est pas au Top. Sans bonnes connaissances en lisp, il est très difficile de tirer quoi que ce soit du résultat produit par ce genre d'utilitaire. D'ailleurs le but d'un fichier compilé est qu'il soit difficillement décompilable, autrement aucun intêret!
  18. Ou par (entmake) Ex: (setq name_layer (getstring T "\nDonner le nom du calque: ")) (if (not (tblsearch "LAYER" name_layer)) (entmake (list (cons 0 "LAYER") (cons 100 "AcDbSymbolTableRecord") (cons 100 "AcDbLayerTableRecord") (cons 2 name_layer) (cons 70 0) (cons 62 7) (cons 370 -3) (cons 6 "Continuous") ) ) )
  19. bonuscad

    insertion en masse

    Merci Patrick_35, J'ai trouvé mon erreur, je transmettais la même chaine que je soumettais à (command) à savoir (strcat "\"" prefix dwg "\"") au lieu de (strcat prefix dwg) :red: Merci pour le tuyau. ;)
  20. bonuscad

    insertion en masse

    Ben non, puisque que la routine sert justement à insérer des DWG d'un dossier. Donc ce ne sont pas des blocs interne au dessin, du moins pas avant leur insertion. Le nom du bloc dans ce cas comprend AUSSI le chemin d'accés du Dwg. Ceci explique cela?
  21. bonuscad

    insertion en masse

    Merci Patrick_35 J'ai essayé ta suggestion, mais y a un blème ; erreur: Erreur Automation Etendus nuls Comme je suis pas parfaitement à l'aise avec ActiveX, et notamment avec les message d'erreurs, c''est quoi qui coince? Où puis-je consulter ces erreurs dans Autocad (dans l'éditeur vlisp je supposes, moi qui utilise Utra-Edit) :casstet:
  22. bonuscad

    Fermeture d\'AcadTunning

    J'imagine sa grande déception après un tel invetissement. Mais faire décoller un site Web tient à beaucoup de paramètres. J'imagine que Patrick a dut bien "mouillé sa chemise" et qu'a certain moment il a dut lui aussi se poser des questions sur l'avenir de son site. Le succés de CadXp ne l'oublions pas viens aussi de ses intervenants régulier qui font vivre le site. Enlevez ceux-ci et le site peut fondre comme neige au soleil. (et ceci est toujours possible). Comme dit Tramber il est difficile de suivre plusieurs site à la fois (ou alors on ne fait plus que ça), et le décalage horaire ne joue pas en sa faveur.... Un peu de perséverance aurait peut être marché, le site est récent, il faut laisser le temps au temps. Je lui souhaites quand même du succés pour ce qu'il pourra entreprendre. Le Phoenix renait de ses cendres ;)
  23. Fabcad a pris la précaution de mettre les calques actif liberé et déverrouillé. Chose que je n'ai point faite :( Mais il est facile de le rajouter :exclam:
  24. bonuscad

    cotes relatives

    Heu, je ne suis plus trop.... Qu'on se comprenne bien. Lors de l'execution de la routine tu sélectionnes les cotes que tu veux modifier. Tu peux le faire par capture au milieu de ta porte (selection filtrée, seul les cotations sont sélectionnées et pas forcément une par une). Ces nouvelles cotations sont placés dans un calque appelé leurre_(+nom de ton calque de cotation d'origine) Les cotations d'origine sont rendu "invisible". Pour retrouver ton état initial, tu gèle/inactive le calque "leurre_xxxxx" et tu utilise la routine dans le lien donné pour rendre tes cotations d'origine de nouveau visible. J'ai préféré cette solution pour éviter encore la création d'un calque de cotation supplémentaire Mais libre à toi de modifier comme tu l'entends, tu as déjà les base, Cette routine me sera pour mon usage complétement inutile, donc pas bien envie de pousser le bouchon plus loin :P
  25. bonuscad

    Fort en Pline et LWpline ? ?

    Si tu veux te tourner vers une solution en lisp, regardes ce SUJET Et une application construite avec cette dernière ICI On peut en envisagé de toute sorte. La fonction (near_vertex_arr) dans l'exemple d'application est appelé avec sousmission (valable) d'un objet. Elle retourne une liste de points définissant les sommets les plus proche et le facteur d'arrondi de ce segment ex: (near_vertex_arr (car (entsel))) tu choisis un segment de polyligne et les infos te sont retournées que tu pourras exploiter pour ton développement (angle entre les 2 points retourné par exemple) ;)
×
×
  • 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é