boul140370 Posté(e) le 8 février 2008 Posté(e) le 8 février 2008 bonjour à tous j'utilise beaucoup de formes concaves irégulière pour dessiner des escaliers : et si je pouvais utiliser la fontion spline en créant une forme fermée en pouvant l'estruder se serai super non géant: connaissez-vous la manière de procèder. merci d'avance
(gile) Posté(e) le 8 février 2008 Posté(e) le 8 février 2008 Salut, On peut extruder tout objet graphique fermé plan : polylignes, fermées, régions, cercles, ellipses, mais aussi les polylignes 3d et les splines si elles sont fermées et planes. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
boul140370 Posté(e) le 9 février 2008 Auteur Posté(e) le 9 février 2008 bonjour Gile qu'appelles-tu des polyligne plane et comment fais-tu pour fermer une spline avec d'autre élément type ligne ,arc de cerle...
boul140370 Posté(e) le 9 février 2008 Auteur Posté(e) le 9 février 2008 je viens d'essayer la fonction contour avec spline +arc+trait, ça ne fonctionne pas: une solution?
(gile) Posté(e) le 9 février 2008 Posté(e) le 9 février 2008 Salut, Un objet est dit plan s'il est contenu dans un seul plan. C'est toujours le cas pour les cercles, arcs, ellipses, polylignes (2d ou optimisées) et les régions. Une spline ou une polyligne 3d peuvent aussi être plane (si tous les points qui les composent sont contenus dans le même plan. Pour ce que tu veux faire, une extrusion, le plus simple est de transformer les objets jointifs en une REGION avec la commade du même nom ou avec la commande CONTOUR (_BOUNDARY). Nos messages se sont croisés. je viens d'essayer la fonction contour avec spline +arc+trait, ça ne fonctionne pas: une solution? Tes objets ne sont peut-être pas jointifs. avec des objets autres que des lignes polylignes et arcs la commande CONTOUR devrait te proposer de créer une région. [Edité le 9/2/2008 par (gile)] Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
boul140370 Posté(e) le 9 février 2008 Auteur Posté(e) le 9 février 2008 ok Gille j'arrive à créer une région mais j'aimerai créer un contour de cette forme pour pouvoir l'esporter sur un autre logiciel(eficad) pour traviller sur ma commande numérique: as-tu une solution? merci beaucoup déjà pour tes précieux conseils
(gile) Posté(e) le 9 février 2008 Posté(e) le 9 février 2008 Il existe de nombreux LISP qui transforment une spline en polyligne. La plupart utilisent des segments droits sur le trajet de la spline en nombre suffisant pour recréer l'illusion de la courbe. Fais une recherche sur le site. Je t'en propose un qui crée une polyligne composée uniquement d'arcs tangents entre eux, il faut aussi qu'ils soient suffisamment courts pour suivre au plus près la courbe. Fait des essais, la spline est conservée et tu peux annuler l'opération si tu n'est pas satisfait (U ou CTRL+Z) (defun c:spl2pl (/ spl dis seg dis nor elv len lst1 lst2 lst3 ang1 ang2 n pl) (vl-load-com) (or *acdoc* (setq *acdoc* (vla-get-ActiveDocument (vlax-get-acad-object))) ) (defun tan (a) (/ (sin a) (cos a))) (while (not (and (setq spl (car (entsel "\nSélectionnez une spline: "))) (= (cdr (assoc 0 (entget spl))) "SPLINE") (vlax-curve-IsPlanar spl) ) ) ) (initget 7) (setq seg (getdist "\nSpécifiez la longueur des segments: ") dis 0 nor (cdr (assoc 210 (entget spl))) len (vlax-curve-getDistAtpoint spl (vlax-curve-getEndPoint spl)) ) (while ( (setq lst1 (cons (vlax-curve-getPointAtDist spl dis) lst1) dis (+ dis seg) ) ) (setq elv (caddr (trans (car lst1) 0 nor)) lst1 (reverse (cons (vlax-curve-getEndPoint spl) lst1)) lst1 (mapcar '(lambda (x) (setq x (trans x 0 nor)) (list (car x) (cadr x)) ) lst1 ) lst2 lst1 ang1 (angle '(0 0 0) (trans (vlax-curve-getFirstDeriv spl 0) 0 nor) ) n 0 ) (while (cdr lst2) (setq ang2 (angle (car lst2) (cadr lst2)) lst3 (cons (cons n (tan (/ (- ang2 ang1) 2.0))) lst3) n (1+ n) ang1 (- (* 2 ang2) ang1) lst2 (cdr lst2) ) ) (vla-StartUndoMark *acdoc*) (setq pl (vlax-invoke (vla-get-ModelSpace *acdoc*) 'addLightWeightPolyline (apply 'append lst1) ) ) (mapcar '(lambda (x) (vla-setBulge pl (car x) (cdr x))) lst3 ) (if (vlax-curve-IsClosed spl) (vla-put-Closed pl :vlax-true) ) (vla-put-Normal pl (vlax-3d-point nor)) (vla-put-Elevation pl elv) (vla-EndUndoMark *acdoc*) (princ) ) PS : Pour les ellipses tu trouveras l'équivalent dans ce sujet [Edité le 9/2/2008 par (gile)] Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
(gile) Posté(e) le 10 février 2008 Posté(e) le 10 février 2008 Re, une routine mieux aboutie ici Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
boul140370 Posté(e) le 11 février 2008 Auteur Posté(e) le 11 février 2008 merci beaucoup Gile j'essais tout de suite salut
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant