Aller au contenu

saamreivax

Membres
  • Compteur de contenus

    10
  • Inscription

  • Dernière visite

Tout ce qui a été posté par saamreivax

  1. Salut avant de se lancer directement dans la programmation de faudrait-t-il pas définir : -sur quel version d'autocad le programme va tourner -quel est le language utilisé -comment seront sauvegardé les données de départ
  2. saamreivax

    ah! le pdf

    salut essaye de les imprimer au format postscript et de le convertir sous toshop sinon imprime les sur l'imprimante dwf et demande à tes clients de télécharger le dwf viewer disponible sur le site d'autocad [Edité le 14/11/2006 par saamreivax]
  3. Moi je veux bien aussi à condition que se soit en LISP
  4. salut merci de ta réponse justement je dois passer par de la prog car je dois créer 80 présentations qui sont quasiment identique j'ai trouvé une autre méthode j'insert mon gabarit dans l'espace papier je sélectionne ma fenêtre et passe en mode objet lance la commande "camera" repasse en mode papier sélectionne le fenêtre et change l'échelle
  5. salut voici ma question peux-ton centrer une vue sur un point dans l'espace papier? c'est pour créer des présentations avec un gabarit merci
  6. Salut, voici ton lisp avec les modifs suivantes : - comptage du nombre d'éléments - je me suis permis de modifier ton code pour la couleur car elle ne peut pas être négative (defun c:listcalq () (setq calq (tblnext "layer" T)) (setq enr (strcat (getvar "dwgprefix") (substr (setq fichier (getvar "dwgname")) 1 (- (strlen fichier) 4) ) ".csv" ) ) ;on définit chemin+nom du fichier à écrire (setq fichier (open enr "w")) ;on ouvre le fichier à écrire (s'il n'existe pas, il est créé ; s'il existe, il sera réécrit) (setq dwg (strcat (getvar "dwgprefix") (getvar "dwgname"))) ;(setq enr "c:\\LISTE.csv") ;(setq fichier (open enr "a")) (while calq (setq nb_obj 0) (setq nom (cdr (assoc 2 calq))) (print(setq nb_obj (ssget "_X" (list (cons 8 nom))))) (if (= nb_obj nil) (setq nb_obj 0) (setq nb_obj (sslength nb_obj)) ) (setq couleur (itoa (abs (cdr (assoc 62 calq))))) ;; Si le code 62 est négatif le calque est inactif (setq ligne (strcat dwg ";" nom ";" couleur ";" (itoa nb_obj) ) ) (write-line ligne fichier) (setq calq (tblnext "layer")) ) (close fichier) ) bonne soirée [Edité le 8/11/2006 par saamreivax]
  7. Salut dans Covadis tu fais COVADIS2D->Listings->Listing par calques tu peux régler le fomat de tes listings avec COVADIS2D->Configuration des listings... et si tu choisi le format Txt tu peux avec read-ln lire dans un ton fichier et ainsi obtenir le nom des calques avec leur couleur le type de ligne et le nombre d'objets sinon tu as (tbnext "layer" T) mais je sais pas trop l'utilisé
  8. Salut Voila la suite : (defun interpol_Triangle (entite_triangle TPoint) (setq pt10 (cdr (assoc 10 (entget entite_triangle)))) (setq pt11 (cdr (assoc 11 (entget entite_triangle)))) (setq pt12 (cdr (assoc 12 (entget entite_triangle)))) ;;(alert "Va calculer une intersection") (setq TInters (inters (point3D->2D pt10) (point3D->2D Tpoint) (point3D->2D pt11) (point3D->2D pt12) nil ) ) ;;(alert "Va calculer une interpolation") (setq z (interpolation pt11 pt12 (distance Tinters Pt11) ) ) ;;(alert "Va calculer une interpolation") (setq Tinters (reverse (cons z (reverse Tinters)))) (setq z (interpolation pt10 Tinters (distance (point3D->2D Tpoint) (point3D->2D Pt10)) ) ) (setq Tinters (reverse (cons z (reverse (point3D->2D Tpoint))))) ) ;; Calcul une interpolation (defun interpolation (Tpoint1 Tpoint2 TDistance) (setq Tdist (distance (point3D->2D Tpoint1) (point3D->2D Tpoint2))) (setq TDN (denivele Tpoint1 Tpoint2)) (+ (nth 2 Tpoint1) (* (/ TDN Tdist) Tdistance)) ) ;; Calcul une dénivélé entre 2 points 3D (defun denivele (Tpoint3 Tpoint4) (- (nth 2 TPoint4) (nth 2 TPoint3)) ) Pour information personnelle quelle est le but final de ton programme?
  9. Salut le principe c'est de créer une fonction qui calcule si ton point est à l'intérieur du triangle que tu répète pour chaque triangle Tu dois connaitre le sens de rotation de ta face avec la formule de la somme des angles intérieur et extérieur du triangle Et si ton point se trouve à l'intérieur du triangle alors la somme des angles est égale à 400gr ou chaque angle est <= à 200 gr Tu me suis?? Désolé c la fatigue Voici le code (c'est des fonctions sauf la première) : (defun c:ptri () ;;selection du point (print (setq point (getpoint))) ;;selection du triangle (setq E_tri (car (entsel))) (if (= (Point_dans_le_triangle E_tri point) T) (interpol_Triangle E_tri point) ) ) ;; Calcul l'angle entre deux segments (defun ang (angle_PT1 angle_PT2 angle_PT3 / a) (setq a (/ (* (- (angle angle_PT2 angle_PT3) (angle angle_PT2 angle_PT1)) 200 ) pi ) ) (if (< a 0) (setq a (+ a 400)) (setq a a) ) ) ;; Vérifie si le point est dans le triangle (Defun Point_dans_le_triangle (entite_triangle TPoint / somme pt10 pt11 Pt12 pt13) (setq pt10 (point3D->2D (cdr (assoc 10 (entget entite_triangle))))) (setq pt11 (point3D->2D (cdr (assoc 11 (entget entite_triangle))))) (setq pt12 (point3D->2D (cdr (assoc 12 (entget entite_triangle))))) (setq pt13 (point3D->2D (cdr (assoc 13 (entget entite_triangle))))) (setq somme (+ (ang pt10 Pt11 Pt12) (ang pt11 Pt12 Pt10) (ang Pt12 pt10 Pt11) ) ) (if (= somme 1000) (progn (setq pt10_pt_pt11 (ang pt10 TPoint Pt11)) (setq pt11_pt_pt12 (ang pt11 TPoint Pt12)) (setq pt12_pt_pt10 (ang pt12 TPoint Pt10)) ) ) (if (= somme 200) (progn (setq pt10_pt_pt11 (ang pt11 TPoint Pt10)) (setq pt11_pt_pt12 (ang pt12 TPoint Pt11)) (setq pt12_pt_pt10 (ang pt10 TPoint Pt12)) ) ) (or (if (or (> pt10_pt_pt11 200) (> pt11_pt_pt12 200) (> pt12_pt_pt10 200) ) Nil T ) (if (or (= (distance Tpoint pt10) 0) (= (distance Tpoint pt11) 0) (= (distance Tpoint pt12) 0) ) T nil ) ) ) ;; Transforme un point 3D en point 2D (defun point3D->2D (TPoint) (reverse (cdr (reverse Tpoint))) ) ..... Edit : Je me sers de cette fontion pour faire une interpolation et déduire l'atitude de mon point moi toi avec en modifiant le code tu pourras récupérer l'id de ta face 3D[Edité le 6/11/2006 par saamreivax] [Edité le 1/12/2006 par saamreivax]
  10. Comment pourrait on récupérer les variables système de covadis ? comme par exemple l'échelle du dessin merci
×
×
  • 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é