fabdo Posté(e) le 2 août 2007 Posté(e) le 2 août 2007 Bonjour, Est-il possible de créer une liste (je parle de liste de points avec matricules), pour que via cette liste je puisse construire des polylignes 2D ou 3D (en accrochage nodal) en tapant simplement les matricules au clavier? je ne sais pas si cela est réalisable en lisp (à moins qu'il existe un commande autoc qui m'échappe)?Bonne soirée.
(gile) Posté(e) le 2 août 2007 Posté(e) le 2 août 2007 C'est sûrement possible, mais il faudrait un peu plus de précisions :- la création de la liste se fait-elle à partir d'un fichier, d'une sélection de blocs, ou autre ?- si la création se fait à partir d'un fichier, comment est il formaté ?- le choix d'une polyligne 2d ou 3d est il le fait de l'utilisateur ou du aux coordonnées des points ?- si c'est un poly 2d, faut-il mettre tous les Z à 0 ? [Edité le 2/8/2007 par (gile)] Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
delicad Posté(e) le 2 août 2007 Posté(e) le 2 août 2007 Salut, Flashpoints fait ça : http://www.delicad.com/autocad/flashpoints.php Philippe
fabdo Posté(e) le 2 août 2007 Auteur Posté(e) le 2 août 2007 Bonjour (gile), La sélection se fait à partir de blocs topo (pts, mats, alts) se trouvant dans le dessin. Le choix de la polyligne 2D ou 3D et laissé à l'initiative du dessinateur. Je n'avais pas pensé pour le choix de la polyligne 2D de mettre tous les Z à zéro mais cela peu-être une option intéressante. délicad, merci pour ta réponse, j'ai déjà utilisé flashpoints une fois, il y a un bout de temps mais n'est-il limité en utilisation ou dans le temps? je me souviens plus très bien.
(gile) Posté(e) le 3 août 2007 Posté(e) le 3 août 2007 Voilà un premier jet. Pour constituer la liste, il est demandé à l'utilisateur de sélectionner le matricule (attribut) d'un des blocs.Les matricules doivent être des nombres entiers.L'utilisateur spécifie ensuite s'il veut dessiner un polyligne 2d ou 3dLes sommets de la poly 3d s'accrochent aux points d'insertion des blocs.Les sommets de la poly 2d sont projetés sur le plan parallèle au plan XY du SCU courant qui contient le premier point spécifié.Il est possible d'annuler un ou plusieurspoint précédemment entés.L'utilisateur termine la polyligne en tapant "Entrée" ou "c" (Clore).Il est possible de dessiner plusieurs polylignes (2d ou 3d).Faire "Entrée" pour quitter la commande. (defun c:matricule (/ mat mlst ss n bloc att lst opt cnt ind pt) (if (and (setq mat (car (nentsel "\nSélectionnez un matricule: "))) (setq mlst (entget mat)) (= "ATTRIB" (cdr (assoc 0 mlst))) (= (type (read (cdr (assoc 1 mlst)))) 'INT) (setq ss (ssget "_X" (list '(0 . "INSERT") (assoc 2 (entget (cdr (assoc 330 mlst)))) ) ) ) ) (progn (repeat (setq n (sslength ss)) (setq bloc (ssname ss (setq n (1- n))) att (entnext bloc) ) (while (not (equal (assoc 2 (entget att)) (assoc 2 mlst))) (setq att (entnext att)) ) (setq lst (cons (cons (atoi (cdr (assoc 1 (entget att)))) (trans (cdr (assoc 10 (entget bloc))) bloc 1) ) lst ) ) ) (while (progn (initget "2d 3d") (setq opt (getkword "\nSpécifiez le type de polyligne [2d/3d] : " ) ) ) (cond ((= opt "2d") (command "_pline")) ((= opt "3d") (command "_3dpoly")) (T (command)) ) (setq cnt 0) (while (/= 0 (getvar "CMDACTIVE")) (setvar "CMDECHO" 0) (cond (( (( ) (setq ind (getint (strcat "\nEntrez le matricule du point" (cond (( (( (T " ou [Clore/annUler]") ) ": " ) ) ) (cond ((numberp ind) (cond ((setq pt (cdr (assoc ind lst))) (command "_non" pt) (setq cnt (1+ cnt)) ) (T (princ "\nMatricule non valide.") ) ) ) ((= ind "Clore") (command "_C")) ((= ind "annUler") (command "_U") (setq cnt (1- cnt)) ) (T (command)) ) (setvar "CMDECHO" 1) ) ) ) ) (princ) ) [Edité le 3/8/2007 par (gile)] Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
fabdo Posté(e) le 3 août 2007 Auteur Posté(e) le 3 août 2007 Bonjour gile, Ou plutôt bonsoir, j'essaie ça dans quelques instants. Je te tiens au courant. MERCI....
fabdo Posté(e) le 3 août 2007 Auteur Posté(e) le 3 août 2007 gile, You're great, thanks a lot. Have a good night.
(gile) Posté(e) le 3 août 2007 Posté(e) le 3 août 2007 You're welcome Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
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