Aller au contenu

Messages recommandés

Posté(e)

Je suis vraiment débutant, je souhaite purger tout ce qu'il y a de purgeable dans mon dessin. l'idéal serait que le programme garde en mémoire le calque courant1, puis qu'il rende courant le Calque 0, qu'il purge, et qu'il se remette sur le calque courant1 s'il existe toujours...

 

J'ai commencé par ça:

 

(defun c:purgertout ()
(vla-PurgeAll (vla-get-ActiveDocument (vlax-get-acad-object))))

 

c'est certainement bancale car il me fait "nil" dans la ligne de commande à la fin de l'opération néanmoins réussie...

 

[Edité le 30/6/2007 par sechanbask]

ATEGIE - Bureau d'Études Fluides

http://www.ategie.fr/uploads/ategie/ategie-at%C3%A9gie-bureau-%C3%A9tudes-etudes-fluides-logo-100x56.png

Exécution, Synthèse, Conception, Maîtrise d'Oeuvre, Audit, Chiffrage

www.ategie.fr

Posté(e)

Salut,

 

L'expression reoturne nil quand l'opération s'est bien déroulée, c'est normal. Si elle ne s'était pas bien déroulée, tu aurais un message d'erreur.

 

Si tu veux que ton LISP s'achève "silencieusement" (sans retour sur la ligne de commande), rajoute (princ) à la fin de l'expression et il est préférable de charger les extensions VisualLISP au cas où elles ne le soient aps (vl-load-com).

 

(defun c:purgertout ()
 (vl-load-com)
 (vla-PurgeAll
   (vla-get-ActiveDocument (vlax-get-acad-object))
 )
 (princ)
) 

 

Telle quelle la routine purge tout sauf le calque courant (même s'il ne contient rien) et les blocs imbriqués dans les blocs non insérés.

 

J'avais essayé de faire une super purge qui purge les blocs imbriqués, les xrefx et images rasters, mais il semble que sur certains fichiers elle semble poser encore quelques soucis. Voir ce long sujet.

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Merci (gile) pour le coup de pouce.

Comme je me sens prêt à commencer le lisp... avant ça me paraissait vraiment impossible... mais bon en commençant petit...

 

Je ne comprend pas ta remarque sur (vl-load-com), ça sert à quoi ? vl = VisualLisp ? vla = ?

Pourquoi tu as mis en forme le code de cette manière? Je pense qu'il y a bien une raison.

 

Merci d'avance et bon week-end

ATEGIE - Bureau d'Études Fluides

http://www.ategie.fr/uploads/ategie/ategie-at%C3%A9gie-bureau-%C3%A9tudes-etudes-fluides-logo-100x56.png

Exécution, Synthèse, Conception, Maîtrise d'Oeuvre, Audit, Chiffrage

www.ategie.fr

Posté(e)

Salut,

 

Rapidement, Visual LISP est une extension d'AutoLISP (plus orientée objet) qui comprends des fonction vl-* (fonctions AutoLISP supplémentaires) et les fonctions vlax-* (ActiveX), vlr-* (réacteurs), et vla-* (objets méthodes et propriétés VBA).

(vl-load-com) charge les fonctions Visual LISP (vla-*, vlax-* et vlr*) si elles ne sont pas déjà chargées (voir ici et ici)

 

La mise en forme n'importe pas dans l'interprétation du LISP, mais permet de rendre le code un peu plus lisible. J'utilise l'éditeur Visual LISP intégré à AutoCAD (Outils >> AutoLISP >> Editeur Visual LISP). Une commande de cet éditeur permet de mettre automatiquement en forme le code (voir ici)

 

Si tu débutes en LISP, je pense qu'il est préférable de se dégrossir d'abord avec AutoLISP pour bien apréhender la syntaxe et la souplesse du langage(sa "grammaire") passer à VisualLISP n'est pratiquement qu'une question de "vocabulaire" supplémentaire.

La compréhension de l'Anglais est un plus, l'aide est plutôt bien foutue (à mon avis).

 

[Edité le 30/6/2007 par (gile)]

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Pour en revenir au sujet, pour ton énorme lisp (Spruge), je pense que ton code serait encore plus puissant en ajoutant ce que tu m'a donné ici : http://www.cadxp.com/modules.php?op=modload&name=XForum&file=viewthread&tid=14245#pid56210

Mais ce n'est que mon opinion.

 

Bon aller bonne soirée.

ATEGIE - Bureau d'Études Fluides

http://www.ategie.fr/uploads/ategie/ategie-at%C3%A9gie-bureau-%C3%A9tudes-etudes-fluides-logo-100x56.png

Exécution, Synthèse, Conception, Maîtrise d'Oeuvre, Audit, Chiffrage

www.ategie.fr

Posté(e)

Dans Spurge version 1.4, tu peux ajouter (c:supp) juste après (c:xref_purge)(c:raster_purge) et le nettoyage sera fait (tu peux supprimer le vla-purgeall de supp, la purge "profonde" est faite ensuite).

Il faut, bien sûr que les LISP supp xref_purge et raster_purge soient chargés.

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

bonjour

 

 

quel est le fichier help *.chm ( en anglais surement ) pour les focntions activex

 

dans la 2008 on ne peut plus faire de "recherche" l'onglet est tout blanc

pratique pour trouver

 

merci

 

phil

FREELANCE

Autodesk Architecture 2025 sous windows 11 64

REVIT

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

Posté(e)

Salut

 

C:\Program Files\AutoCAD 200*\Help\acad_dev.chm

 

Tu peux y accéder depuis AutoCAD menu aide (?) >> Ressources supplémentaires >> Aide aux développeurs >> ActiveX and VBA Reference.

Ou depuis l'éditeur Visual LISP en faisant F1 ou encore dans l'éditeur tu sélectionnes une fonction (double clic sur le nom de la fonction) et tu cliques sur l'icone avec un point d'interrogation, l'aide s'ouvrira directement à la page de la fonction.

 

[Edité le 1/7/2007 par (gile)]

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é