Aller au contenu

Titifonky

Membres
  • Compteur de contenus

    125
  • Inscription

  • Dernière visite

Tout ce qui a été posté par Titifonky

  1. AutoCAD 2008 32bits Version B.51.0 (UNICODE) J'ai téléchargé CustomOsnap.zip [Edité le 2/2/2010 par Titifonky]
  2. Bonjour, Je viens d'essayer ce super applicatif. Ça marche parfaitement pour le tiers et le quart mais quand j'essaye le centre de gravité, AutoCAD2008 plante et m'affiche une belle erreur fatale "Unhandled Access Violation Reading..." Je tape la commande ligne Je tape 'CTR Si je fais ECHAP ou que je sélectionne le centre de gravité, ça plante.
  3. Titifonky

    cao metallerie

    Bonsoir, Pour avoir travaillé sur Tekla, ce n'est pas un logiciel destiné à la métallerie mais plutôt à la structure métallique. Le module de calcul n'est pas encore très au point. Les logiciels que j'ai rencontré dans les différentes entreprises de métallerie où j'ai pu travailler sont : Autocad 2D pour la métallerie courante : gardes-corps droit, rampes droites, portes, portails, etc. Rhino pour les ouvrages de métallerie en 3D un peu compliqué : escaliers balancés, marquise, verrières cintrés, etc. Solidworks pour les ouvrages comprenant des assemblages complexes et du calcul relevant de la mécanique : passerelles, etc. Tekla, Advance métal, en charpente métallique. Robot, Effel, SCIA Engineer pour les gros calculs. RDM6 pour les petits calcul. Si ca peut vous aider
  4. Désolé pour le temps de chargement mais le serveur à du mal à servir quand il y a un peu trop de monde en même temps. Il n'est pas payé très cher :D Pour les limons d'escalier, vous faîtes les développés à l'œil ou avec le rayon de pré-cintrage ?
  5. Bonjour, 1 pouce = 25,4 milimètre Il y a de forte chance que ca soit un problème d'unité
  6. Compagnon à mes heures perdues sur Valenciennes. Je me suis formé au calcul de structure au centre Afpa de Lomme et donc je calcul :D
  7. Tramber, tu travailles dans l'entreprise Schaffner ? Entreprise de référence en métallerie et plus particulièrement pour les escaliers. C'est toi qui a conçu leur logiciel de traçage d'escalier ? Le bonjour à Philippe de la part d'Etienne
  8. Bonjour, Si le calcul de développé intéresse du monde, j'ai eu l'occasion de me pencher sur le problème d'un point de vue pratique pour la réalisation d'un limon balancé caissonné de section triangulaire. Suivant le rapport entre l'épaisseur et la largeur de la pièce à développer, on peux utiliser des méthodes différentes. Si le rapport ep/largeur est proche de 0, les bords ne pourront pas s'allonger. La méthode par triangulation sera la plus fiable, elle conserve la longueur des cotés. Si le rapport ep/largeur est proche de 1, les bords allongerons pendant le formage. Une autre méthode permet d'anticiper ces déformations. L'explication à cette adresse avec des images http://www.le-metal.net/Un-escalier#3 Etienne
  9. Titifonky

    Selection d\'objets proches

    Bonjour, commande _Select avec l'option _t (trajet)
  10. Salut bseb67, Je pense que la commande netload ne fonctionne pas avec les versions LT Y a-t-il une autre solution ?
  11. Titifonky

    Google contacts

    Bonjour, Il n'existe qu'une liste de tâche (accessible via le bouton "Liste de tâches" en dessous du bouton contact) assez simple d'utilisation mais pas de gestionnaire de tâche plus poussé. Sinon il faut utiliser un logiciel type Thunderbird synchronisé avec l'agenda google. Etienne
  12. Bonjour, Cette dll, fonctionne-t-elle avec les versions LT et si oui comment fait-on pour l'installer ? J'ai essayé de la copier directement dans le dossier d'installation mais cela ne fonctionne pas. Merci pour cette fonctionnalité très intéressante. Etienne
  13. Titifonky

    POurquoi ça sincremente pas

    Il faut déclarer ta variable ycol en static sinon la sous-routine réinitialise la variable à chaque fois que ta routine principale l'utilise. Pense à bien déclarer tes variables dans chaque routine Sub colonne(a, g, larg, e, valzoom1a) Dim lim as Double Static ycol as Integer lim = g + (a * larg) + (e * (a - 1)) If valzoom1a > lim Then valzoom1a = g ycol = 1 Else ycol = ycol + 1 valzoom1a = g + (ycol - 1) * (larg + e) ' - (larg - e) End If End Sub Maintenant, ta sous-routine enregistre la valeur de la variable à chaque utilisation de celle ci Cordialement Bonne journée
  14. Titifonky

    forcer des côtes

    Bonjour, Si ca t'interesse, j'ai crée quelques lisps pour manipuler les fenetres Le lisp "Aligner les vues" enregistre l'echelle de la vue avant la manipulation ce qui permet de zoomer dans la fenêtre. Etapes: -Selectionner un point dans l'espace objet de la fenetre -Selectionner un point dans l'espace papier Le lisp va aligner ces deux points. (princ "\nAV - Aligner des vues") ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defun c:av () (setq cmde (GETVAR "CMDECHO") ; acc (getvar "osmode") ) (setvar "CMDECHO" 0) ; (setvar "osmode" 0) (command "_.pspace") (setq filtre (append '((0 . "VIEWPORT")) (list (cons 410 (getvar "CTAB"))) ) ssview (ssget "X" filtre) i 0 set_view '() ) (if (not ssview) (exit) ) (repeat (sslength ssview) (setq ent (ssname ssview i) set_view (append set_view (list (cdr (assoc '69 (entget ent))) (list (setq name (vlax-ename->vla-object ent)) (vla-get-customscale name) ) ) ) i (+ i 1) ) ) (command "_.mspace") (setq pt_eo (getpoint "\nIndiquez le point d'alignement dans l'espace objet :" ) pt_eo (trans pt_eo 1 0) ) (setq used_vports (getvar "cvport") scale nil view nil ) (command "_.pspace") (if (setq data_view (member used_vports set_view)) (setq scale (last (cadr data_view)) view (caadr data_view) ) ) (setq pt_ep (getpoint "\nIndiquez le point d'alignement dans l'espace papier :" ) pt_ep (trans pt_ep 1 3) ) (vla-put-customscale view scale) (command "_.mspace") (setq pt_eo (trans pt_eo 0 1) pt_ep_eo (trans pt_ep 3 2) pt_ep_eo (trans pt_ep_eo 2 1) ) (command "_.-pan" pt_eo pt_ep_eo) (command "_.pspace") ; (setvar "osmode" acc) (setvar "CMDECHO" cmde) (princ) ) Verrouiller ou deverouiller toutes les fenetres de la presentation (princ "\nVF - Verrouiller-Deverouille les fenêtres d'une présentation") (defun c:vf () (if (= (getvar "cvport") 2) (progn (princ "\nVous êtez dans l'espace Objet") (exit)) ) (setq filtre (list (cons 0 "VIEWPORT") (cons 410 (getvar "ctab")) ) al_set (ssget "X" filtre) i 0 ) (if (not al_set) (progn (princ "\nIl n'y a aucune fenêtre dans l'espace papier") (exit) ) ) ;_ Fin de if (if (= (vla-get-DisplayLocked (vlax-ename->vla-object (ssname al_set 1)) ) :vlax-true ) (setq action 0) (setq action -1) ) (repeat (sslength al_set) (setq ent (ssname al_set i)) (vla-put-DisplayLocked (vlax-ename->vla-object ent) action) (setq i (1+ i)) ) ;_ Fin de repeat (if (= action -1) (princ "Verrouillé") (princ "Deverrouillé") ) (princ) ) ;_ Fin de defun Permet d'ajuster une fenetre par rapport aux objets qui la coupe (princ "\nAF - Ajuster une fenêtre") ;;;;;;;;;;;;;;;;;;;;;;;;; (defun c:af () (setq cmde (getvar "CMDECHO") hp (getvar "HPBOUND") ) ;_ Fin de setq (setvar "CMDECHO" 0) (setvar "HPBOUND" 1) (setq select (entget (car (entsel "\nSelectionnez la fenêtre :"))) point (getpoint "\nIndiquez un point à l'interieur de la nouvelle fenêtre à créer :" ) ;_ / getpoint point (list (car point) (cadr point)) ) ;_ / setq (if (not (and (= (cdr (assoc '102 select)) "{ACAD_REACTORS") (= (cdr (assoc '0 (setq view (entget (cdr (assoc '330 select))))) ) ;_ / cdr "VIEWPORT" ) ;_ / = ) ;_ / and ) ;_ / not (if (= (cdr (assoc '0 select)) "VIEWPORT") (setq view select) ((princ "Ce n'est pas une fenêtre") (exit) ) ) ;_ / if ) ;_ / if (command "_.-boundary" point "") (setq vla_name (entlast) layer (vla-get-layer (vlax-ename->vla-object (cdr (assoc '-1 view))) ) ;_ / vla-get-layer ) ;_ / setq (command "_VPCLIP" (cdr (assoc '-1 view)) (entlast)) (if (and (= (cdr (assoc '102 select)) "{ACAD_REACTORS") (= (cdr (assoc '0 (entget (cdr (assoc '330 select)))) ) ;_ / cdr "VIEWPORT" ) ;_ / = ) ;_ / and (command "_erase" (cdr (assoc '-1 select)) "") ) ;_ / if (vla-put-layer (vlax-ename->vla-object vla_name) layer) (command "_draworder" vla_name "" "_b") (setvar "CMDECHO" cmde) (setvar "HPBOUND" hp) (princ) ) ;_ Fin de defun Bon courage [Edité le 27/1/2009 par Titifonky]
  15. Titifonky

    gestions des attributs

    Bonjour Wallianne, Les attributs dans un bloc ont beaucoup d'utilisations. Ils peuvent servir à stocker des informations dans le bloc en créant un attribut invisible. Un programme peut utiliser ces info. Tu peux les utiliser pour créer des cartouches ou pour inserer des informations visibles modifiables ou non dans un bloc comme le numéro du siège. Essaye de regarder dans l'aide ou sur le forum, il y a plein d'exemples d'utilisation des attributs. A+
  16. Titifonky

    menu contextuel

    Je ne connaissais pas la première manière avec l'option "SHORTCUTMENU", ça evite de créer des menus pour chaque prog. En fait dans les autres post on ne parle pas de cette variable. Merci Bonus pour cette explication.
  17. Bonjour Tramber, le seul intêret de passer par du Lisp c'est la transparence de la commande. En passant par la fonction CAL il y a toujours des lignes qui s'affiche comme >> Expression: (cur+cur)/2 >> Entrez un point: >> Entrez un point: A+
  18. Bonjour, J'ai remarqué dans les nouvelles versions d'autocad que l'on pouvait utiliser l'accrochage au objet nommé "Milieu entre 2 points" dans le menu contextuel. Il y a quelques post qui en parle mais pas d'integration dans le menu. Je propose cette solution : Rajoutez cette ligne dans le menu ***POP0 **SNAP des fichiers AutoCAD.mnu et AutoCAD.mns "ID_MidPoints [Milieu en&tre 2 points]_non ^P(list (/ (+ (car (setq p1 (getpoint))) (car (setq p2 (getpoint)))) 2.0) (/ (+ (cadr p1) (cadr p2)) 2.0) (/ (+ (caddr p1) (caddr p2)) 2.0))" A+ [Edité le 29/6/2005 par Titifonky]
  19. Titifonky

    menu contextuel

    Salut, Je me trompe peut-être mais tu parle des menus qui s'affiches avec click droit+ctrl ou click droit + shift ? Dans ce cas tu peux aller voir http://www.cadxp.com/sujetXForum-5372.htm A+
  20. Titifonky

    Rectangle parametrique

    Bonsoir, Mon but premier dans ce lisp à été de me rendre compte de la difficulté de gérer des événements en Lisp. Je me suis toujours posé la question s'il existe des logiciels 2D paramétrique et je n'en ai pas trouvé. Par paramétrique je veux parler du même procédé que les esquisses dans Solidworks ou Solidedge, quand une cote est modifiée elle agit sur les autres en fonction des contraintes que l'on a appliquées. J'ai voulu essayé de créer un objet qui réagit en fonction des évenements mais c'est déjà assez compliqué pour me dissuader d'aller plus loin dans cette direction, à par pour des applications très spécifiques. Comme je travail beaucoup avec des profilés métalliques, ce type de procédé serait bien pratique pour la modification des plans et la conception. Mais bon après c'est la 3D et l'entreprise ne veut pas forcement faire le pas. C'était quand même une bonne partie de plaisir à programmer. Bonne soirée
  21. Bonjour, Il y a quelque temps je suis tombé sur le post de patrick qui donnait une astuce pour créer de vrai rectangle sous autocad en utilisant les fenêtres. Je viens de faire un petit programme pour créer ces rectangles "paramétrique" mais en utilisant les réacteurs. Je débute dans l'utilisation des réacteurs et je voudrais savoir se que vous en pensez au niveaux du séquencement des événements et de l'utilisation des réacteurs. En fait la question est : peut on faire plus simple. ;;;Fonction de suppression de tous les réacteurs présents dans le dessin ;;;à utiliser s'il y a un problème (defun CleanReac () (setq Reac_mod nil) (mapcar 'vlr-remove-all '(:VLR-AcDb-reactor :VLR-Editor-reactor :VLR-Linker-reactor :VLR-Object-reactor ) ) ;_ Fin de mapcar ) ;_ Fin de defun ;;;Fonction de création du rectangle et initialisation du pointeur de reacteur (defun c:rcr () (command "RECTANGLE") (setq flag_addreactor t) (princ " Rectangle parametrique") (princ) ) ;_ Fin de defun ;;;Fonction d'extraction des sommets du rectangle (defun list_pt (object / liste) (setq liste (vlax-safearray->list (vlax-variant-value (vla-get-coordinates object)) ) ;_ Fin de vlax-safearray->list liste (list (list (nth 0 liste) (nth 1 liste)) (list (nth 2 liste) (nth 3 liste)) (list (nth 4 liste) (nth 5 liste)) (list (nth 6 liste) (nth 7 liste)) ) ;_ Fin de list ) ;_ Fin de setq ) ;_ Fin de defun ;;;Fonction de comparaison de listes ;;;Elle permet de determiner le sommet déplacé (defun compare_pos (list1 list2 / liste i) (setq liste '(nil)) (setq i 0) (while (not (or (null list1) (null list2))) (if (not (equal (car list1) (car list2))) (progn (setq liste (append liste (list i))) (setq list1 (cdr list1) list2 (cdr list2) i (1+ i) ) ;_ Fin de setq ) ;_ Fin de progn (setq list1 (cdr list1) list2 (cdr list2) i (1+ i) ) ;_ Fin de setq ) ;_ Fin de if ) ;_ Fin de while (setq liste (cdr liste)) ) ;_ Fin de defun ;;;Fonction un peu plus poussé de "nth" ;;;qui repart du début de la liste si l'indicateur ;;;de position est plus grand que la longueur de la liste (defun nth_pos (pos liste / lg position) (setq lg (length liste)) (setq position (nth (rem pos lg) liste)) ) ;_ Fin de defun ;;;Fonction de modification des sommets (defun mod_sommet (list_pt_old list_pt_new object / pt_a pt_b pt_c pt_d pt_b_new pt_d_new pos ptv ) (if (setq pos (car (compare_pos list_pt_old list_pt_new))) (progn (setq pt_a (nth_pos (+ pos 2) list_pt_new) pt_b (nth_pos (+ pos 3) list_pt_new) pt_c (nth_pos pos list_pt_new) pt_d (nth_pos (1+ pos) list_pt_new) ) ;_ Fin de setq (setq pt_b_new (inters pt_a pt_b pt_c (list (+ (car pt_c) (- (car pt_d) (car pt_a))) (+ (last pt_c) (- (last pt_d) (last pt_a))) ) ;_ Fin de list nil ) ;_ Fin de inters pt_d_new (inters pt_a pt_d pt_c (list (+ (car pt_c) (- (car pt_b) (car pt_a))) (+ (last pt_c) (- (last pt_b) (last pt_a))) ) ;_ Fin de list nil ) ;_ Fin de inters ptv (vlax-make-safearray vlax-vbdouble '(0 . 1)) ) ;_ Fin de setq (vla-put-coordinate object (rem (+ pos 3) (length list_pt_new)) (vlax-safearray-fill ptv (list (car pt_b_new) (cadr pt_b_new)) ) ;_ Fin de vlax-safearray-fill ) ;_ Fin de vla-put-coordinate (vla-put-coordinate object (rem (1+ pos) (length list_pt_new)) (vlax-safearray-fill ptv (list (car pt_d_new) (cadr pt_d_new)) ) ;_ Fin de vlax-safearray-fill ) ;_ Fin de vla-put-coordinate ) ;_ Fin de progn ) ;_ Fin de if ) ;_ Fin de defun ;;;Fonction de création du réacteur d'e l'objet rectangle (defun Reactor_add_create (object) (vlr-object-reactor (list object) (list_pt object) '((:vlr-modified . Mod_Reac) (:vlr-erased . Era_Reac)) ) ;_ Fin de vlr-object-reactor ) ;_ Fin de defun ;;;Fonction associé au réacteur de modification (defun Mod_Reac (Reacteur_Obj Reacteur_Reac Reacteur_Param) (setq Reac_Obj Reacteur_Obj Reac_Reac Reacteur_Reac ) ;_ Fin de setq ) ;_ Fin de defun ;;;Fonction associé au réacteur de suppression de l'objet (defun Era_Reac (Reacteur_Obj Reacteur_Reac Reacteur_Param) (vlr-remove Reacteur_Reac) ) ;_ Fin de defun ;;;Fonction associé au réacteur de fin de commande ;;;Elle lance la création du reacteur d'objet associé au rectangle ;;;Elle permet de lancer le reacteur de modification des sommets ;;;par la commande "GRIP_STRETCH" ;;;Si l'objet subit une modification, les coordonnées de ses sommets sont mis à jour. ;;;Dans le cas ou l'objet ne contient plus quatre sommets, le reacteur est supprimé (defun Reac_cmdended (Reactor Cmd) (cond ((equal Cmd '("RECTANGLE")) (if flag_addreactor (progn (Reactor_add_create (vlax-ename->vla-object (entlast))) (setq flag_addreactor nil) ) ;_ Fin de progn ) ;_ Fin de if ) ((and (equal Cmd '("GRIP_STRETCH")) (not (equal Reac_Obj 'nil)) ) ;_ Fin de and (progn (setq List_old_pt (vlr-data Reac_Reac) List_new_pt (list_pt Reac_Obj) ) ;_ Fin de setq (mod_sommet List_old_pt List_new_pt Reac_Obj) (vlr-data-set Reac_Reac (list_pt Reac_Obj)) (setq Reac_Obj 'nil Reac_Reac 'nil ) ;_ Fin de setq ) ;_ Fin de progn ) ((and (not (equal Cmd '("ERASE"))) (not (equal Reac_Obj 'nil)) ) ;_ Fin de and (if (> (1+ (vlax-safearray-get-u-bound (vlax-variant-value (vla-get-coordinates Reac_Obj)) 1 ) ;_ Fin de vlax-safearray-get-u-bound ) ;_ Fin de 1+ 8 ) ;_ Fin de > (vlr-remove Reac_Reac) (progn (vlr-data-set Reac_Reac (list_pt Reac_Obj)) (setq Reac_Obj 'nil Reac_Reac 'nil ) ;_ Fin de setq ) ;_ Fin de progn ) ;_ Fin de if ) ) ;_ Fin de cond (setq Reac_obj 'nil List_old_pt 'nil List_new_pt 'nil ) ;_ Fin de setq ) ;_ Fin de defun ;;;Reacteur d'edition commandended (setq reac_ended (vlr-editor-reactor nil '((:vlr-commandended . Reac_cmdended)) ) ;_ Fin de vlr-editor-reactor ) ;_ Fin de setq (princ "\n") (prompt ":::::::::::: Tapez \"RCR\" pour dessiner un rectangle paramétrique :::::::::::" ) ;_ Fin de prompt (princ) Merci pour vos remarques
  22. Bonjour, Après quelques recherche, j'ai remarqué que pour les arcs, les cercles et les elipses, le paramètre correspond à l'angle au centre en radian. Par exemple, quand on extrait le parametre de depart, on obtient l'angle par rapport au centre en radiant du point de départ. Pour les lignes, le parametre de fin correspond à la longueur de la ligne. Pour les polyligne, chaque sommet correspond à un nombre entier indiquant sa position dans la polyligne. Le parametre de fin indique le nombre de sommet moins 1. Pour les splines bonnes question ? :question: :casstet: Tout ça est quand même assez confus. On peut en deduire qu'il n'y a aucune liaison entre les paramètres que l'on recupère sur différentes entités. Autocad doit traité le paramètre en fonction de l'entité sur laquel il a été pris. :exclam: Je ne sais pas si ces information vont beaucoup t'aider, je pense même que tu les connais déjà, mais elles peuvent servir à d'autre parceque je ne les ai pas trouvé sur le site.
  23. Bonjour Bonuscad, As tu remarqué que l'on n'a pas besoins de faire la soustraction (ou l'adition) entre Param_end et Param_start. Je ne sais pas pourquoi mais en ne specifiant que le parametre de fin le périmètre est bon pour toutes les entités : arc, polyligne, spline, ligne ... Peut-etre une explication mathématique :casstet: (vl-load-com) (setq ent (car (entsel)) vlaobj (vlax-ename->vla-object ent) pt_end (vlax-curve-getEndPoint vlaobj) param_end (vlax-curve-getEndParam vlaobj) perim_obj (vlax-curve-getDistAtParam vlaobj [surligneur] param_end [/surligneur] ) ;_ Fin de vlax-curve-getDistAtParam ) ;_ Fin de setq
  24. Titifonky

    CTB ou STB

    Moi j'utilise le STB J'ai 22 ans et 3ans d'autocad. Je trouve que le principe des STB est assez interessant , ça reprend le concept des styles de cote.
  25. Salut, C'est vrai c'est un peu (beaucoup) plus court. à méditer ;) On à beau avoir chacun sa façon de faire, ce n'est pas toujours la meilleur mais avec deux têtes on pense deux fois plus, le probleme c'est d'avoir deux têtes :) Salutations
×
×
  • 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é