-
Compteur de contenus
5 029 -
Inscription
-
Dernière visite
-
Jours gagnés
56
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par bonuscad
-
Salut, Dommage que le diesel n'ait pas la fonction des racines carrées, car avec celle-ci, cela aurait était possible. Je te donne la formule au cas ou !... Avec P pour périmètre et S pour Surface L= (-P/2 +ou- (racine (P²/4 - 4*S)) / 2 [Edité le 8/4/2011 par bonuscad]
-
De rien ;) J'apprécie le merci. J' édite bon précédent code car un oubli de ma part, les sommets originaux n'étaient pas exportés dans le CSV. (ceci pour des 3Dpoly non splinées) J'avais même pas fait attention à BB du pseudo :P
-
(gile), Oui, on m'avais déjà donné cette solution, mais je ne sais pourquoi, pour moi ça ne fonctionne pas ! Il faut dire que ce soi chez moi, ou au boulot on utilise que des anciennes licences, c'est peut être lié a cela ! (97 et 2000) J'ai donc gardé cette solution, en plus de cette manière, je n'ai pas de problème non plus avec open office. Mais si tu as une explication, ou une autre astuce, je suis preneur. ;)
-
Salut fabcad Je suis comme (gile), pourquoi alourdir ton dessin avec des sommets inutiles? Si tu as juste besoin des points dans un fichier, pourquoi pas plutôt un truc du genre... (vl-load-com) (defun c:discretise2CSV ( / js file_name cle f_open key_sep str_sep oldim nb delta obj_vlax pt_start pt_end perim_obj d_x lst_pt bg_vtx) (princ "\nSélectionner les polylignes3D à discretiser: ") (while (not (setq js (ssget '((0 . "POLYLINE") (-4 . "&=") (70 . 8))))) (princ "\nPas d'objets valable ou sélection vide!") ) (setq file_name (getfiled "Nom du fichier a créer ?: " (strcat (substr (getvar "dwgname") 1 (- (strlen (getvar "dwgname")) 3)) "csv") "csv" 37)) (if (null file_name) (exit)) (if (findfile file_name) (progn (prompt "\nFichier éxiste déjà!") (initget "Ajoute Remplace annUler _Add Replace Undo") (setq cle (getkword "\nDonnées dans fichier? [Ajouter/Remplacer/annUler] : ") ) (cond ((eq cle "Add") (setq cle "a") ) ((or (eq cle "Replace") (eq cle ())) (setq cle "w") ) (T (exit)) ) (setq f_open (open file_name cle)) ) (setq f_open (open file_name "w")) ) (initget "Espace Virgule Point-virgule Tabulation _SPace Comma SEmicolon Tabulation") (setq key_sep (getkword "\nSéparateur [Espace/Virgule/Point-virgule/Tabulation]? : ")) (cond ((eq key_sep "SPpace") (setq str_sep " ")) ((eq key_sep "Comma") (setq str_sep ",")) ((eq key_sep "Tabulation") (setq str_sep "\t")) (T (setq str_sep ";")) ) (setq oldim (getvar "dimzin")) (setvar "dimzin" 0) (setq nb -1) (initget 91) (setq delta (getdist "\nLongueur de discretisation: ")) (repeat (sslength js) (setq obj_vlax (vlax-ename->vla-object (ssname js (setq nb (1+ nb)))) pt_start (vlax-curve-getStartPoint obj_vlax) pt_end (vlax-curve-getEndPoint obj_vlax) perim_obj (vlax-curve-getDistAtParam obj_vlax (vlax-curve-getEndParam obj_vlax)) ) (setq d_x delta lst_pt (list pt_start) bg_vtx 1 ) (while (< d_x perim_obj) (if (eq (fix (vlax-curve-getParamAtDist obj_vlax d_x)) bg_vtx) (setq lst_pt (cons (vlax-curve-getPointAtParam obj_vlax bg_vtx) lst_pt) bg_vtx (1+ bg_vtx) ) ) (setq lst_pt (cons (vlax-curve-getPointAtDist obj_vlax d_x) lst_pt) d_x (+ d_x delta) ) ) (setq lst_pt (cons pt_end lst_pt)) (foreach n lst_pt (write-line ((lambda (x) (strcat (rtos (car x) 2 3) str_sep (rtos (cadr x) 2 3) str_sep (rtos (caddr x) 2 3))) n) f_open) ) ) (close f_open) (setvar "dimzin" oldim) (prin1) ) [Edité le 7/4/2011 par bonuscad]
-
Je crois que c'est sur Arte où j'ai vu un reportage sur la maintenance (Cruas notamment), effectivement ça craint. Et si un sous-traitant à le malheur d'établir un bulletin d'alerte (qui doit être transmis en plus haut lieu) sur le travail à effectuer, et bien il est licencié dans le mois qui vient pour un motif bidon... S' ils veulent conserver leur boulot, ils la ferme! Dans ces conditions de chantage, les centrale ne peuvent être que sures pour la population. Aucune anomalie relevée, pas de diffusion d'informations puisqu'il n'y a pas de bulletins d'alerte. CQFD. :casstet:
-
Je n'ai pas vraiment envie de polémiquer sur le nucléaire, mais voici un lien ou on a des images HD (et même une vidéo) qui montre l'état de la centrale... http://cryptome.org/eyeball/daiichi-npp/daiichi-photos.htm Sans commentaires... J'ai quand même envie de dire que si nos dirigeants évoquent l'argument que en France on a pas de tusnami, j'aimerais quand même leur évoquer un tsunami solaire. En 1989 une éruption solaire avait mis à mal l'entreprise Hydro-Québec, privant ainsi d'électricité pendant 9 heures le Québec. Imaginez tout un parc nucléaire dont toute l'alimentation serait mis à mal par des perturbations électromagnétique, vu que les salles de contrôle de nos chères centrale sont bourrées d’électronique. On ne ferais pas mieux que les Japonais..., autant désemparé!
-
Identifier un arc sur une polyligne
bonuscad a répondu à un(e) sujet de pierrevigneux dans AutoCAD 2004
Il te faut aussi la fonction 'near_vertex) qui est en tête du sujet sur le lien donné... NB: Tu peux l'insérer (le code) dans le fichier q_ray.lsp de façon à ce qu'elle soit définie dans ce dernier. -
Bonjour, Cette information et loin de me rassurer sur l'avenir d'une solution à court terme. Si la 3ème puissance mondiale n'a que ça comme solution, ben on a vraiment du sushi à se faire. Je leur prêterais volontiers mon rouleau de chatterton en plus de la colle s'ils en ont besoin. Bon pour rester un peu sérieux, je compatis pleinement avec tous ces travailleurs qui se dévouent pour approcher cette merde et garde une pensée pour eux. Ce n'est pas le cas pour les responsables qui se mettent au vert :mad:
-
Identifier un arc sur une polyligne
bonuscad a répondu à un(e) sujet de pierrevigneux dans AutoCAD 2004
Salut, Ça me rappelle un peu ce sujet. Autrement regarde aussi celui-ci . Avec les deux, tu arriveras bien à faire quelque chose. -
Bonjour, Si tu préfère les champs dynamiques dans un tableau, tu as aussi ce lisp Metre2Cell&Field.lsp dont certaines fonction sont empruntées à (gile) ;)
-
Ça y est, je me suis décidé à installer DraftSight.deb (bêta) sous linux. C'est distribué par Dassault System, la licence est concédé gratuitement pour cette version béta pour une durée non-définie. Comme je pensais c'est bien pour faire une remontée des bogues, on s'engage à communiquer avec Dassault (soit de notre propre initiative, ou à leur demande). Cette licence est concédée jusqu'à la sortie de la version finale, on s'engage à désinstaller la version bêta dès la sortie de la version finale. Il y a aussi les closes habituelles des Softs bien sur avec aussi des restrictions de production dans certains domaines (armement, industriel sensible etc...). Les clauses m'empêchant aussi de communiquer (sans leur accord) à son sujet, je ne peux donc vous livrer mes impressions. Je me contenterai de dire, suivant le cout de la version finale, cela peut être un produit intéressant. Désolé de ne pouvoir vous en dire plus, mais leurs clauses se retournent un peu contre eux niveau publicité. :mad: -1
-
Merci du lien Tramber, J'vas essayer ça sous Linux. :P C'est mon passe temps sous le libre, tester des solutions alternatives. Gratuit pour la version Béta, mais cela va t-il durer ?... Car j'en ai vu beaucoup d'autre qui ont suivi ce parcours: gratuit en béta (pour les remontées de bugs), payant par la suite. Bon il faut dire que le prix des licences par la suite n'a rien à voir avec ceux d'Autodesk, mais la qualité du Soft non-plus. Il faut reconnaitre qu' Autocad est assez robuste (au passé comme au présent) comparé aux softs qui veulent le concurrencer. Mais l'écart s'amenuise, Autodesk sera peut être amené à réduire ses tarifs dans le futur avec cette concurrence qui pointe son nez.
-
propriété personnalisée
bonuscad a répondu à un(e) sujet de PHILPHIL dans Pour aller plus loin en LISP
En aparté, Pensez à contrôler le titre de votre sujet (fautes de frappe, orthographe), ceci pour favoriser les recherches ultérieures. Déjà que la recherche n'est pas top sur CadXp, mais si il faut penser à rentrer "claques" pour avoir des résultats sur calques, ou "proprité" pour propriété, on s'en sort plus .... :P C'est dommage car des réponses pertinentes vont passer à la trappe. :( -
Circus et Cursis sont dans un bateau, Circus tombe à l'eau .... :P --->[]
-
Sélectionner une ligne de cotes en une seule manip ?
bonuscad a répondu à un(e) sujet de brunomu dans AutoCAD 2010
N'ayant jamais trop testé ce mode de transparence avec des fonction lisp, il est possible que les fonctions (ssget) (entsel) soit problématique. Pour faire court, je pense que l'on peut réserver ce mode qu'avec des fonctions de base du lisp. L'appel par (scc) est certainement plus approprié que 'scc pour l'évaluation par l'interpréteur. Néanmoins cela reste possible mais avec des restrictions que je ne connais pas vraiment. -
Je rejoins didier :) Il y a des devins sur le forum :P
-
Sélectionner une ligne de cotes en une seule manip ?
bonuscad a répondu à un(e) sujet de brunomu dans AutoCAD 2010
Si c'est possible. Dans ton cas (defun c:scc .....) de la manière la plus classique, et bien en transparence tu rajoute simplement la quote soit 'SCC dans une commande standard en cours. Il faut quand même que le code soit conçu pour répondre à ce genre d'appel. Je dirais de manière générale qu'il ne doit pas contenir de (command) en son sein. Pour l'exemple (inutile) ce genre de fonction marcherais très bien (defun c:xmil ( / p1 p2 p) (prompt "\nPoint milieu entre ") (setq p1 (getpoint "premier point : ")) (setq p2 (getpoint p1 "\nsecond point : ")) (setvar "osmode" (+ 16384 (rem (getvar "osmode") 16384))) (setq p (list (/ (+ (car p1) (car p2)) 2) (/ (+ (cadr p1) (cadr p2)) 2) (/ (+ (caddr p1) (caddr p2)) 2) ) ) (setvar "lastpoint" p) ) -
Tu n'a pas tort, c'est juste aussi ;) J'aurais du dire base / hauteur qui est juste aussi. http://fr.wikipedia.org/wiki/Aire_de_surfaces_usuelles Mais Autodesk nous embrouille beaucoup avec les termes choisis suivant les commandes. Épaisseur, hauteur, largeur avec eux est employé avec des sens différents suivant la commande utilisée. Une homogénéité aurait été la bienvenue dans les termes pour l'ensemble du logiciel.
-
Sélectionner une ligne de cotes en une seule manip ?
bonuscad a répondu à un(e) sujet de brunomu dans AutoCAD 2010
Pour les cotes linéaires, il n'y a pas moyen de différencier celle faites dans le sens des X et celle des Y .Avec les superposées (comprendre coordonnées) cela est possible. Seule solution (affiner ta sélection fenêtre, ou avec MAJ-Click sur la cote en trop pour la retirer de la sélection) Si tu n'es pas habitué aux grips... Une fois les objets "gripés" tu lance une commande standard (déplacer,copier,changer,effacer...), les objet gripper seront automatiquement soumis à la commande que tu as lancé. Tu peux leur faire subir plusieurs commandes successives. Esc pour "dégriper" les objets. Tu peux même changer directement leurs états par les barres déroulantes (calques, couleur, typeligne, épaisseur) -
Les options de rectangle prêtent à confusion ! Hauteur et pour la hauteur (2D et demi) de la polyligne et largeur est l'épaisseur des segments Au message rectangle, il faut donner le premier coin ET ENSUITE choisir l'option cotes pour entrer les dimension (longueur / hauteur en langage géométrique français) :P
-
Sélectionner une ligne de cotes en une seule manip ?
bonuscad a répondu à un(e) sujet de brunomu dans AutoCAD 2010
Bon, j'ai résolu le problème d'un filtre plus générique. La routine va te demander de sélectionner une cote modèle qui va servir à monter le filtre. Le filtrage va se faire sur son calque, son style de cote, l'espace utilisé (papier/objet) et le type de cotation: linéaire, aligné, angulaire, diamètre, rayon, angulaire 3pt et superposé (X Y). Au second message choix des objets, tu as la possibilité de faire la ou les sélections classiques, et dès que tu auras validé ces sélections, tu sera invité à fournir le point de base de déplacement et le nouveau point (commande déplacer classique) (defun c:scc ( / js dxf_ent dxf_70) (princ "\nSélectionnez un type de cotation modèle à griper: ") (while (null (setq js (ssget "_+.:E:S" '((0 . "DIMENSION"))))) (princ "\nAttend une sélection de cotation!") ) (setq dxf_ent (entget (ssname js 0)) dxf_70 (assoc 70 dxf_ent) ) (setq js (ssget (list '(0 . "DIMENSION") (assoc 8 dxf_ent) (assoc 3 dxf_ent) (assoc 410 dxf_ent) '(-4 . " dxf_70 (cons 70 (+ (cdr dxf_70) 128)) (cons 70 (+ (cdr dxf_70) 64)) (cons 70 (- (cdr dxf_70) 128)) (cons 70 (- (cdr dxf_70) 64)) '(-4 . "OR>") ) ) ) (if js (command "_.move" js "") (prin1)) ) Pour faire plus souple encore (dans le sens verbe action, l'action étant choisi après la mise en grips ce qui laisse encore plus de possibilité d'action) (defun c:sel_same_dim ( / js dxf_ent dxf_70) (princ "\nSélectionnez un type de cotation modèle à griper: ") (while (null (setq js (ssget "_+.:E:S" '((0 . "DIMENSION"))))) (princ "\nAttend une sélection de cotation!") ) (setq dxf_ent (entget (ssname js 0)) dxf_70 (assoc 70 dxf_ent) ) (sssetfirst nil (ssget "_X" (list '(0 . "DIMENSION") (assoc 8 dxf_ent) (assoc 3 dxf_ent) (assoc 410 dxf_ent) '(-4 . " dxf_70 (cons 70 (+ (cdr dxf_70) 128)) (cons 70 (+ (cdr dxf_70) 64)) (cons 70 (- (cdr dxf_70) 128)) (cons 70 (- (cdr dxf_70) 64)) '(-4 . "OR>") ) ) ) (prin1) ) [Edité le 29/3/2011 par bonuscad] -
Sélectionner une ligne de cotes en une seule manip ?
bonuscad a répondu à un(e) sujet de brunomu dans AutoCAD 2010
Si j'avais compris. Pour moi si les cotes sont colinéaires, il est simple de faire une fenêtre de sélection englobant celle-ci et de ne filtrer que les cotes linéaires (ca fait simplement un click de plus, faut pas pousser). Comme j'ai dis en supprimant l'option "_x" qui correspond à tous le dessin. (command "_.move" (ssget '( (0 . "DIMENSION") (-4 . " (-4 . "") (-4 . "") (-4 . "") (-4 . "") (-4 . "") (-4 . "") (-4 . "AND>") ) ) "" ) Une fenêtre autour de tes cotes colinéaires et celles-ci sont sélectionnées... Après choisir une cote (1 click) et choisir par fenêtre (2 clicks)... :casstet: Je te laisse les sélectionner une par une :mad: -
Sélectionner une ligne de cotes en une seule manip ?
bonuscad a répondu à un(e) sujet de brunomu dans AutoCAD 2010
Salut bryce Ben, il me semble que le plus simple et de remplacer (ssget "_X" filtre) par simplement (ssget filtre), cela lui laisse la possibilité de faire soit une/des fenêtres, captures ou simplement individuelle. Son principal soucis était d'avoir une sélection filtrée pour ne pouvoir sélectionner que les cotes. Après, il peut améliorer encore le filtre (Style de cotation: DXF 3) (Calque DXF 8) et que sais je encore? J'ai voulu essayé un truc plus généraliste comme ce qui suit mais ça ne fonctionne pas (problème booléen) (defun c:same_dim_move ( / js dxf_ent l_70) (princ "\nSélectionnez un type de cotation à gripperr: ") (while (null (setq js (ssget "_+.:E:S" '((0 . "DIMENSION"))))) (princ "\nAttend une sélection de cotation!") ) (setq dxf_ent (entget (ssname js 0)) l_70 (vl-remove (rem (rem (rem (cdr (assoc 70 dxf_ent)) 32) 64) 128) '(6 5 4 3 2 1 0)) ) (sssetfirst nil (ssget "_X" (append '((0 . "DIMENSION")) (list (assoc 8 dxf_ent)) (list (assoc 3 dxf_ent)) (list (assoc 410 dxf_ent)) '((-4 . " (apply 'append (mapcar '(lambda (x) (list (cons -4 ""))) l_70 ) ) '((-4 . "AND>")) ) ) ) ) Si bryce ou d'autres se sentent de trouver une autre alternative ... -
Tant qu'elles n'affectent pas le curseur graphique. Si tu utilise les touches Ctrl + flèche, tu obtiens les coordonnées de déplacement de ton curseur graphique en mode sans souris.
-
Sélectionner une ligne de cotes en une seule manip ?
bonuscad a répondu à un(e) sujet de brunomu dans AutoCAD 2010
J'ai essayé ta fonction (defun c:scc) , pour moi pas de souci elle fonctionne comme mon code proposé (ne sélectionne que les cotes linéaires). Donc je vois pas où cela pêche... à part un problème de version (je n'ai pas 2010), en tout cas sous 2008 ou 2009 pas de problème. En conséquence, je ne peux plus t'aider ! Il faut dire qu'Autodesk me surprends sur l'utilisation des bits pour les cotations. Ils ont mélangé des valeur entières (0 1 2 3 4 5 6) avec des bits de contrôles (32 64 128), il devient donc ardu d'utiliser des opérations booléennes sur de telles valeurs entière pour récupérer un type de cotation. :casstet:
