Aller au contenu

Messages recommandés

Posté(e)

Salut,

 

Existe il un programme lisp ou autre qui permetterait à l'insertion d'un bloc via la palette

d'outil, de couper la ligne sur lequel on l'insert.

Très pratique pour la schématique.

 

Sur Autocad 2005.

 

merci

 

Atchao

Posté(e)

bonjour

sur le regrette site afralisp on trouvait ceci : (je ne l'ai pas teste)

ps : j'ai gardé leur fichiers pdf en anglais si ça peut interresser quelqu'un

 

(defun c:abreak ( / oldsnap bname ip ent1 ent2 ep1 ep2 ang edata ip1 ip2)

(setq oldsnap (getvar "OSMODE"))

;get the current snap

(setvar "OSMODE" 544)

;set snap to intersection and nearest

(setvar "BLIPMODE" 0)

;switch blips off

(setvar "CMDECHO" 0)

;switch command echo off

(setq bname (getfiled "Select Auto-Breaking Block" "" "dwg" 8))

;get the block to insert

(while

;while an insertion point is selected

(setq ip (getpoint "\nInsertion Point: "))

;get the insertion point

(setq ent1 (entsel "\nSelect Line to AutoBreak: "))

;get the line to break

(setvar "OSMODE" 0)

;switch the snap off

(setq ent2 (entget (car ent1)))

;get the entity data of the line

(setq ep1 (cdr (assoc 10 ent2)))

;get the first end point

(setq ep2 (cdr (assoc 11 ent2)))

;get the second end point

(setq ang (angle ep1 ep2))

;get the angle of the line

(setq ang (/ (* ang 180.0) pi))

;convert it to degrees

(setvar "ATTDIA" 0)

;switch off the attribute dialog box

(command "Insert" bname ip "" "" ang "" "")

;insert the block

(setq edata (entget (setq en (entlast))))

;get the block entity data

(setq edata (entget (entnext (dxf -1 edata))))

;get the attribute entity list

(setq ip1 (dxf 10 edata))

;extract the first attribute insertion point

(setq edata (entget (entnext (dxf -1 edata))))

;get the next attribute entity list

(setq ip2 (dxf 10 edata))

;extract the second attribute insertion point

(command "Break" ent1 "f" ip1 ip2)

;break the line

(setvar "OSMODE" 544)

;switch snap back on

);while

(setvar "OSMODE" oldsnap)

;reset snap

(setvar "BLIPMODE" 1)

;switch blips back on

(setvar "CMDECHO" 1)

;switch command echo back on

(setvar "ATTDIA" 1)

;switch attribute dialog boc back on

(princ)

;finish clean

);defun

;;;**********************************************************

(defun dxf (code elist)

(cdr (assoc code elist))

);defun

(princ)

I have created a special folder called "Autobreak" were I store all my Auto-Breaking blocks. I also

include this folder as my default directory in the 'getfiled' function.

Posté(e)

Je vais en profiter pour rappeler l'existence de l'excellent programme de Kamal Boutora.

QBrick

 

Cela serait dommage de passer à coté :exclam:

 

Au rique de me répéter, BRAVO à lui

 

Voir ICI

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

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é