Aller au contenu

Messages recommandés

Posté(e)

bonjour

 

souci ca ne marche plus ou ca ne marchait jamais plutot remarque

 

voila je voudrais creer une polyligne dans en calque et la recopier ellico dans un autre

 

petit lisp :

 

[surligneur] (defun C: PODIF (

;;; / CAV ENTDER

)

(setvar "cmdecho" 0)

(setq CAV (getvar "clayer"))

(if (= (tblsearch "layer" "T_FENETRE DIFFORME 1") NIL)

(command "-calque" "n" "T_FENETRE DIFFORME 1" "co" "212" "T_FENETRE DIFFORME 1" "T" "A" "T_FENETRE DIFFORME 1" "")

)

(if (= (tblsearch "layer" "T_FENETRE DIFFORME 2") NIL)

(command "-calque" "n" "T_FENETRE DIFFORME 2" "co" "163" "T_FENETRE DIFFORME 2" "T" "A" "T_FENETRE DIFFORME 2" "")

)

 

(command "-calque" "ac" "T_FENETRE DIFFORME 1" "")

(command "-calque" "ch" "T_FENETRE DIFFORME 1" "")

(command "polylign" pause )

 

;;; (setq entder

;;;;;;;;; (entget

;;; (entlast)

;;;;;;;;; )

;;; )

 

 

;;;(if ( / entder nil)

;(command "-copierverscalque" entder "" "T_FENETRE DIFFORME 2" "q" "")

;;;)

;;;

;;; (command "COPIER" (entlast) "" "0,0" "0,0")

;;; (setq entder (subst (cons 8 tcalq3) (assoc 8 entder) entder))

;;; (entmod entder)

 

 

(setvar "clayer" CAV)

(princ)

)[/surligneur]

 

si je laisse le LISP en etat comme ca

 

IL ( le LISP) me propose bien de crer une polyligne jusque la normal

 

si j'cris ca dans le LISP

 

(setq entder (entlast) )

(command "-copierverscalque" entder "" "T_FENETRE DIFFORME 2" "q" )

 

il ne me propose plus de créer la polyligne

 

si je ne lance pas la commande comme ca

;;; (command "-copierverscalque" entder "" "T_FENETRE DIFFORME 2" "q" )

 

j'ai droit de créer la polyligne et je récupere bien "ENTDER"

et ensuite de "copier" "!entder" mais je suis sorti du LISP

 

ou est le BUG s'il vous plait

des parentheses en trop ??

des guillement en trop ??

 

deux " ( command .....)" qui se suivent ??? normalement ca marche

 

une des deux " ( command .....)" qui a une erreur ??

 

un spécialiste LISP pour m'expliquer ???

 

merci

 

phil

 

FREELANCE

Autodesk Architecture 2025 sous windows 11 64

REVIT

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

Posté(e)

Salut,

après un petit coup d'oeuil sur ton lisp, je te propose de modifier la logique en faisant ceci :

 

1 - Tu crées la polyligne (1)

2 - tu la mets dans une variable (entlast)

3 - tu la copie (2), puis tu mets la copie dans une variable

3 - tu fais un "entmod" pour chaque polyligne, pour modifier le calque : pas besoin de vérifier l'existence du calque, entmod et entmake crée automatiquement le calque !!!

 

... et ça devrait marcher....

 

Fais moi signe si tu ne t'en sort pas ! ;)

 

Bon courage !

 

[Edité le 24/7/2007 par Bred]

Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...

Posté(e)

ca ne marche pas

 

 

(defun C:PODIF2 ()

(setvar "cmdecho" 0)

(command "polylign" pause pause pause "c" "")

(setq entder (entlast) )

(command "COPIER" entder "" "0,0" "0,0")

(princ)

)

 

ce LISP marche mais je suis obiger de creer une polyligne a 3 points au moins

si j'enleve les "pause" j'ai droit à "fonction annulée"

 

et je ne sais pas combien je vais avoir de poits dans mes futures polyligne fermées

 

c'est l'enchainement des deux commandes a la suite qui fait que ca ne marche pas

 

(command "polylign" )

ca tout seul ca va je peux faire autant de points que je veux a ma polyligne

 

une autre commande derriere dans le meme LISP et ca ne marche plus

 

GGRrrrrrr

 

ou alors faut passer par les active X ( vl.. vlax... vlr...) peut etre

 

phil

 

 

FREELANCE

Autodesk Architecture 2025 sous windows 11 64

REVIT

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

Posté(e)

oupsss

 

salut bred

 

merci celui la je l'oublis a chaque fois

 

thanks

 

phil

FREELANCE

Autodesk Architecture 2025 sous windows 11 64

REVIT

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

Posté(e)

Re,

pour dessiner une polyligne (et pour d'autre chose équivalente), en autolisp il faut vérifier que l'on a toujours une commande active, et la "boucler" tant qu'on ne lui dit pas d'arrêter :

 

(command "_.pline"
 (while (> (getvar "cmdactive") 0)
   (command pause)
   )
 )

Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...

Posté(e)

re BRED

 

grand merci

 

ca marche nettement mieux quand je la "BOUCLE"

 

:) ;) <acronym class=dict title=

 

c'est bon ca fonctionne comme je veux

 

merci

 

phil

 

 

FREELANCE

Autodesk Architecture 2025 sous windows 11 64

REVIT

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

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é