Aller au contenu

Probleme insertion Bloc avec entsel


Messages recommandés

Posté(e)

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 )
)

Posté(e)

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

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • 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é