ASTERIXII Posté(e) le 24 avril 2013 Posté(e) le 24 avril 2013 Bonjour,J'ai un probleme avec la fonction entsel:Voila, je selection une ligne avec entsel, je recupere le nom du calque et le point (x,y,z) cliqué sur la ligne avec (setq point (nth 1 sel)).Ensuite j'insere un bloc avec (command "_insert" nombloc point 1 1 )Probleme, le bloc n'est pas inseré "pil-poil" sur la ligne, mais avec un décalage, pourquoi ?Cela semble dépendre du rectangle de selection.Faut-il modifier les accrochages ? Pour info: Pour le nom du bloc je passe par une bibliothéque POP du menu avec [CH_Vanne,CH_Vanne]^c^c(SNC_L5 "CH_Vanne") Code:;************************ ; Equipement par selection ligne (defun SNC_L3 () (setq sel (entsel)) (setq entity (nth 0 sel)) (setq point (nth 1 sel)) (setq name (entget entity)) (setq SNC_CAL (cdr (assoc 8 name))) ; nom du calque (setq SNC_COUL (cdr (assoc 62 (entget (tblobjname "LAYER" SNC_CAL))))) ; couleur du calque (setq SNC_CAL (strcat SNC_CAL "_EQUIP")) ; calque equipement pour le réseau ; creation calque (if (= (tblsearch "layer" SNC_CAL) nil) (command "-calque" "n" SNC_CAL "co" SNC_COUL SNC_CAL "tl" "CONTINUOUS" SNC_CAL "ep" 0.2 SNC_CAL "ch" SNC_CAL "") ) ; bibliotheque (setq Lot "I=SNC1.CHA6") ;(menucmd Lot) (menucmd "I=SNC1.*") ; inserer bloc ;(command "_insert" nombloc point 1 1 ) ); fin defun ;***************** ; inserer bloc ; (defun SNC_L5 (nombloc) ; inserer bloc (command "_insert" nombloc point 1 1 ) )
(gile) Posté(e) le 24 avril 2013 Posté(e) le 24 avril 2013 Salut, Le point retourné par entsel est le point cliqué (picked point).Pour avoir un point sur la ligne, il faut utilser la fonction osnap en spécifiant un (ou plusieurs) accrochage. Par exemple, pour le point le plus proche du point cliqué :(setq sel (entsel)) (setq entity (car sel)) (setq point (osnap (cadr sel) "_nea")) 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