Aller au contenu

Messages recommandés

Posté(e)

J'ai un petit lisp pour tracer une flèche facilement mais il a été fait sous la version 14 et il y a 5 ans que je n'ai plus fais de lisp donc je patauge grave. si quelqu'un peut me dire ou sa plante .

De plus je ne comprends rien a l'éditeur visual lisp...

 

 

(defun c:fleche()

(setq memo1 (getvar "cmdecho))

(setvar "cmdecho" 0)

(setq cdg (getpoint "\ncoin bas gauche : "))

(setq chd (getpoint "\ncoin haut droit : "))

(setq d (distance cbg chd))

(cond

((and (>an (/pi 2)) (

(setq a chd)

(setq chd cbg)

(setq cbg a)

(setq an (angle cbg chd))

)

)

(setq m (polar cbg an (* 0.75 d)))

(setq le (* 0.125 d))

(command "polylign" cbg m "la" le 0 chd "")

(setvar "cmdecho" memo1)

(princ)

)

 

 

 

Cordialement

 

Lionel PERRIN | Ingénieur/Consultant Formateur expert Infrastructure - Géomédia

 

Civil 3D/Covadis/Autopiste/Infraworks 360 - VRD/Infrastructure routière ferroviaire Bus TRAM

Posté(e)

(setq memo1 (getvar "cmdecho))

 

Déjà il manque un " après cmdecho

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Posté(e)

(and (>an (/pi 2)) ( (setq a chd)

Cette ligne est à revoir intégralement

 

la aussi, gros pbs:

 

>an ?

/ pi et non /pi

 

(setq an (angle cbg chd)) arrive trop tard et puis c'est cdg pas cbg

 

Y a du boulot

 

(command "polylign" cbg m "la" le 0 chd "")

 

cbg ou cdg

m ?

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Posté(e)

merci pour ton petit coup de main.

Donc pour ceux qui veulent une flèche facile a tracer :

 

(defun c:fleche()

(setq memo1 (getvar "cmdecho"))

(setvar "cmdecho" 0)

(setq cbg (getpoint "\ncoin bas gauche : "))

(setq chd (getpoint "\ncoin haut droit : "))

(setq d (distance cbg chd))

(setq an (angle cbg chd))

(cond

((and (> an (/ pi 2)) (< an (/ (* pi 3) 2)))

(setq an chd)

(setq chd cbg)

(setq cbg an)

(setq an (angle cbg chd))

)

)

(setq m (polar cbg an (* 0.75 d)))

(setq le (* 0.125 d))

(command "polylign" cbg m "la" le 0 chd "")

(setvar "cmdecho" memo1)

(princ)

)

 

Je l'ai vérifier ça marche bien ouf...

 

Cordialement

 

Lionel PERRIN | Ingénieur/Consultant Formateur expert Infrastructure - Géomédia

 

Civil 3D/Covadis/Autopiste/Infraworks 360 - VRD/Infrastructure routière ferroviaire Bus TRAM

Posté(e)

Je te propose un extrait d'une suggestion de Labletech:

 

"Pour le problème de la saisie de points en aveugle j'ai pas bien compris...

Connais tu la fonction (setq point-init (getpoint "taratata"))

et (setq point-final (getpoint point-init "retaratata"))

le 2ème getpoint permet la création d'un élastique qui permet à l'utilisateur de voir les 2 points qu'il est en train de saisir .

ensuite un petit (grdraw point-init point-final) laisse une trace du trait (qui s'enlevera au prochain redess ou zoom)."

 

Comme ca, il y aura un élastique entre le premier et le 2ème point.

 

C'est dans le message (command "ligne") de ce forum,

 

http:// http://www.cadxp.com/modules.php?op=modload&name=XForum&file=viewthread&tid=1672

 

(ne pas s'affoler si le lien est un peu bizarre et doublé, c'est à cause de mon navigateur [Opera])

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Posté(e)

ben j'suis loin de ce niveau j'ai mal à la tête tout d'un coup bon merci pour le cours

Cordialement

 

Lionel PERRIN | Ingénieur/Consultant Formateur expert Infrastructure - Géomédia

 

Civil 3D/Covadis/Autopiste/Infraworks 360 - VRD/Infrastructure routière ferroviaire Bus TRAM

Posté(e)

Non, je suis pas d'accord.

Tu as d'ailleurs retapé ton lisp très rapidement,

 

et puis là, c'est vraiment pas de haut niveau. Tu dois juste glisser ton cbg dans le 2ème getpoint pour avoir l'elastique qu'on a qd on fait une ligne.

 

(setq chd (getpoint cbg "\ncoin haut droit : "))

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Posté(e)

vraiment trop cool merci

J'avais du mal avec l'explication vu la ligne que tu m'as donné et comment ça marche c'est cool, faut par contre que je rajoute une commande de rotation car la flèche ne se fait que de la gauche vers la droite ou creer une condition pour aller dans l'autre sens ...

je vais voir

Cordialement

 

Lionel PERRIN | Ingénieur/Consultant Formateur expert Infrastructure - Géomédia

 

Civil 3D/Covadis/Autopiste/Infraworks 360 - VRD/Infrastructure routière ferroviaire Bus TRAM

Posté(e)

C'est l'art de la guerre.

 

Dans tous les petits lisp que j'ai pu écrire, c'est là que les choses s'embrouillent.

 

Si je peux te donner un conseil, c'est de faire suivre le SCU par (command "SCU" "N"...)

Ca rend parfois les choses (un peu) + facile.

N'oublies pas de faire ensuite (command "SCU" "") pour retourner au général.

 

Genre;

(defun ligneu ()

(command "ligne" "0,0" pause "")(scligne))

 

(defun scligne ()

(command "_UCS" "General")

(setq SS (entget(ssname (ssget "_l") 0)))

(setq PP (cdr (assoc 10 SS)))

(setq PP1 (cdr (assoc 11 SS)))

(command "_UCS" "N" PP1)

(setq orient (* (angle PP PP1) (/ 180 PI)))

(command "_UCS" "N" "Z" orient)

(command "_UCS" "S" "ABSCU" "O" ))

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)

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é