ScoAD Posté(e) le 9 octobre 2008 Posté(e) le 9 octobre 2008 Bonjour,J'ai créer une routine dans la quelle je doit créer des calques. cela fonctionne mais que si le calque n'existe pas. dont ma question: comment puis je vérifie qu'il existe?Merci d'avance.
Tramber Posté(e) le 9 octobre 2008 Posté(e) le 9 octobre 2008 Si tu veux apprendre par toi-même à parcourir la table des calques, tu peux bisiter ce sujet.Par exemple. Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
bseb67 Posté(e) le 9 octobre 2008 Posté(e) le 9 octobre 2008 6 messages en presque 4ans :( , ca fait pas grand chose. Pour les calques, tu peux utiliser les fonctions tblnext et tblsearch, va voir dans l'aide,c'est très simple d'utilisation. Tous pour lisp, Lisp pour tous!Avec Revit, cela ne vas trop vite...
ScoAD Posté(e) le 9 octobre 2008 Auteur Posté(e) le 9 octobre 2008 merci, je vais faire bouillir mon cerveau.Et juste pour info. ces longues années de silence sont dut au faite que ne bosse pas que sur AutoCAD. Je suis également à la recherche d'info. sur la gestions des erreurs (Je ne comprends rien au la documentation fournis avec AutoCAD. [Edité le 9/10/2008 par ScoAD]
didier Posté(e) le 9 octobre 2008 Posté(e) le 9 octobre 2008 Coucou et ben dites donc !allez je fais un effort... (if (tblsearch "layer" "NomDuCalque")(alert "c'est bon")(alert" c'est pas bon")) amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
didier Posté(e) le 9 octobre 2008 Posté(e) le 9 octobre 2008 re coucou pardon, je n'ai pas expliqué en fait tu testes l'existence du calque "NomDuClaque"ce doit être une chaîne, pas de numériqueet la fonction if fait que si le test est vraifaire la ligne qui suit si le test est fauxfaire l'autre ligne regarde l'utilisation de PROGN si tu as plusieurs choses à faire . amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
ScoAD Posté(e) le 9 octobre 2008 Auteur Posté(e) le 9 octobre 2008 merci beaucoup pour votre aide (Surtout Didier).Mais (et oui : boulet tu es boulet tu resteras!)Pourqoui ce qui suis ne marche pas? ;) (defun C:Text2 ()(setvar "cmdecho" 0)(setq BOCVAL1 (tblsearch "layer" "$___FORMAT"))(prompt "etape 1")(if (= BOCVAL1 "nil") (Command "-CALQUE" "N" "$___FORMAT" "CH" "$___FORMAT" "") (Command "-CALQUE" "CH" "$___FORMAT" "") )(princ) ) [Edité le 9/10/2008 par ScoAD]
bseb67 Posté(e) le 9 octobre 2008 Posté(e) le 9 octobre 2008 Le test est faux:(= BOCVAL1 "nil") => (= BOCVAL1 nil) et en plus tu as mis deux fois la même chose(Command "-CALQUE" "N" "$___FORMAT" "CH" "$___FORMAT" "")(Command "-CALQUE" "CH" "$___FORMAT" "") =>(Command "-CALQUE" "N" "$___FORMAT" "")(Command "-CALQUE" "CH" "$___FORMAT" "") Comme ca, ca marche. ;) [Edité le 9/10/2008 par bseb67] Tous pour lisp, Lisp pour tous!Avec Revit, cela ne vas trop vite...
ScoAD Posté(e) le 9 octobre 2008 Auteur Posté(e) le 9 octobre 2008 oK merci,mais ta soluce (Seb67) ne pas ?si mon test et OK (Command "-CALQUE" "CH" "$___FORMAT" "")sinon (Command "-CALQUE" "N" "$___FORMAT" "CH" "$___FORMAT" "") . j'espere que je ne dit pas de betise!Quoi qu'il en soit, je vais reste sur ce qui suit puisque cela marche :D (if (tblsearch "layer" "$___FORMAT") (Command "-CALQUE" "CH" "$___FORMAT" "") (Command "-CALQUE" "N" "$___FORMAT" "CH" "$___FORMAT" "") ) Merci encore pour votre aide à tous.Et concernant la gestion des erreurs?
Tramber Posté(e) le 9 octobre 2008 Posté(e) le 9 octobre 2008 Une astuce dont on n'a pas parlé mais, dans la commande -CALQUE, il y a l'option Etablir qui rend le calque courant (peut-être est-ce un inconvénient) mais qui se soucie peu de savoirs i le calque existe.J'ai pas voulu en dire plus, mais il y a des moyens de contourner les difficultés. Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
didier Posté(e) le 10 octobre 2008 Posté(e) le 10 octobre 2008 Coucou c'est quoi ces noms de calques à coucher dehors avec un ticket de logement ??? (Command "-CALQUE" "CH" "$___FORMAT" "")c'est pas joli (setvar "clayer" "$___FORMAT" "")c'est plus propre et plus portable amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
ScoAD Posté(e) le 10 octobre 2008 Auteur Posté(e) le 10 octobre 2008 Merci encore pour tous ces conseils.Pour le nom de calque, c'est imposé par notre client.
bseb67 Posté(e) le 10 octobre 2008 Posté(e) le 10 octobre 2008 Re, En fait tu as changé ton code entre le moment où j'ai écris mon truc et celui ou tu l'avais déposé.Car il y avait un progn. Didier: je suis aussi plus pour des setvar, et pour deux raisons =>la première est celle que tu donnes, à part si on met les commandes en anglaisla seconde, un setvar est plus rapide qu'un command Depuis que j'ai eu le lien sur le lisp de bench, je m'en sers pour chacune de mes fonctionsafin de voir les temps des différentes parties, et essayer de gagner du temps.Mes objectifs en programmation sont: arriver à faire ce que je veux ou ce que l'on me demande,une fois que c'est validé, essayer d'améliorer le code pour réduire le temps. Tous pour lisp, Lisp pour tous!Avec Revit, cela ne vas trop vite...
Tramber Posté(e) le 10 octobre 2008 Posté(e) le 10 octobre 2008 Vous passez outre mon conseil !?Pourtant, avec SETVAR, ca bug si le calque n'existe pas.Avec mon astuce, pas besoin de test. Si c'est comme ça je boude. ;) Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
didier Posté(e) le 10 octobre 2008 Posté(e) le 10 octobre 2008 Hello Tramber qui boude !!! MDR !!! le setvar c'est BIEN ENTENDU dans le cas où le test s'est avérédans le cas contraire on passe par command. j'ai répondu à la ligne qui CHOISISSAIT le calque allez ne boude pas, ça donne des rides ... dans un autre domaine, bseb67 parle de BENCHet là il m'interesse bougrement,peux tu m'orienter ... amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
Tramber Posté(e) le 10 octobre 2008 Posté(e) le 10 octobre 2008 Il me semble que l'on parle du benchmark dont on trouve un lien ici. Bon, je ne boude plus. Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
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