nakapuf Posté(e) le 27 novembre 2004 Posté(e) le 27 novembre 2004 Voici un deux commandes utiles sous AUTOCAD 2000 à 2005 qui m’ont personnellement fait gagner beaucoup de temps. En effet j’ai souvent besoin de réaliser des remplissages divers et autres hachures. Il m’était très long de choisir toutes les options de hachurage (Gros fichier hachures), pour des remplissages qui sont finalement toujours les mêmes. J’ai donc décidé de me créer les deux commandes suivantes : -----------------------------------Première commande ( hachures rapide )---------------------------------------------------------- Etape 1 Ouvrir ou créer le fichier gabarit AutoCAD.dwt (qui se trouve dans le répertoire TEMPLATE)Ouvrir le gestionnaire de calques, créer de nouveaux calques pour les remplissages en en les nommant par exemple :( RP01 - voirie..RP02 - mur…etc)……..L’important étant qu’ils commencent tous par RP. Etape 2 A l’aide du bloc-notes on va créer un fichier qui va s’appeler ( Remplissage-auto.lsp ) et qui va contenir les commandes suivantes :--------------------------------------------------------------------------------------------------------------; Routines lisp "remplissage/hachures automatique de solides fermés" ; ; DDR : Routine lisp "remplissage automatique DIVERS (sur calque courant)" ; DDM : Routine lisp "remplissage automatique MURS (sur calque murs)" ; DDV : Routine lisp "remplissage automatique VOIRIES (sur calque voiries)" ; DDH : Routine lisp "HACHURES (sur calque hachures)" ; ; DDR Routine "remplissage automatique divers" ; (Defun C:DDR () (setvar "CMDECHO" 0 ) (command "fhach" "p" "s" "a" "y" "e" "a" "o" "" pause ) );defun ; ; DDM : Routine lisp "remplissage automatique MURS ; (Defun C:DDM () (setvar "CMDECHO" 0 ) (command "-calque" "L" "RP01- MURS" "") (command "-calque" "AC" "RP01- MURS " "") (command "-calque" "CH" "RP01- MURS " "") (command "fhach" "p" "s" "a" "y" "e" "" pause ) );defun ; ; DDV : Routine lisp "remplissage automatique VOIRIES ; (Defun C:DDV () (setvar "CMDECHO" 0 ) (command "-calque" "L" "RP02- VOIRIES" "") (command "-calque" "AC" "RP02- VOIRIES " "") (command "-calque" "CH" "RP02- VOIRIES " "") (command "fhach" "p" "s" "a" "y" "e" "" pause ) );defun ; ; DDH : Routine lisp "HACHURES ; (Defun C:DDH () (setvar "CMDECHO" 0 ) (command "-calque" "L" "RP03 - HACHURES" "") (command "-calque" "AC" "RP03- HACHURES " "") (command "-calque" "CH" "RP03- HACHURES " "") (command "fhach" "p" "ANSI31" "1000" "0" "a" "y" "e" "" pause ) );defun --------------------------------------------------------------------------------------------------------------Explications Des Lignes De Commande : (Defun C:DDH () - Défini le nom de commande DDH (setvar "CMDECHO" 0 ) - cache le listing des commandes (command "-calque" "L" "RP03 - HACHURES" "") - libère le calque RP03… (command "-calque" "AC" "RP03- HACHURES " "") - Rend le calque RP03… actif (command "-calque" "CH" "RP03- HACHURES " "") - Rend le calques RP03… courant (command "fhach" "p" "ANSI31" "1000" "0" "a" "y" "e" "" pause ) - fhach - Lance la commande hachure sans ouvrir la fenêtre dédiée- p - Choisi l’option propriété- ansi31 - Nom du type de hachure choisi- 1000 - Configure l’échelle du modèle- 0 - Configure l’angle du modèle- a - Choisi l’option avancé- y - Choisi l’option style de hachure- e - Configure le style en extérieur- "" - Créer la même action que la touche « ENTER »- pause - Stop la commande et attend un clic sur l’écran dans un contour fermé. Pour les commandes avec remplissage type ‘SOLID’ (DDM, DDV, dans l’exemple) c’est la même chose, sauf que la hachure ‘SOLID’ ne requiert ni échelle ni angle.Quant à la commande DDR elle créer un remplissage type ‘SOLID’ en restant sur le calque courant. NOTA : pour avoir accès à la ligne de commande et voir toutes les options de « hachure » sans ouvrir la fenêtre il faut taper « -fhach » dans la ligne de commande AUTOCAD.Je n’ai donné que quatres exemples mais on peut rajouter autant de module que nécéssaire.Le plus dur étant ensuite de se rappeler les raccourcis-clavier. Etape 3 Il va falloir ouvrir ou créer ( à l’aide du bloc note ) le fichier acaddoc.lsp qui se trouve généralement dans le répertoire SUPPORT. Dans ce fichier il va falloir écrire ou rajouter la ligne suivante :(autoload "Remplissage-auto.lsp" '("DDR" "DDM" "DDV" "DDH)) Ce fichier est un fichier qu’AUTOCAD charge automatiquement à l’ouverture s’il existe.Il permet de pré-charger les commandes LISP définie par la commande ‘autoload’. De ce fait, après l’ouverture d’AUTOCAD il n’y à plus qu’à créer un contour fermé et essayer les commandes en tapant DDR, DDM, DDV,ou DDH dans la ligne de commande, puis en cliquant dans le contour.NOTA : Pour que cette commande fonctionne correctement il faut que les fichiers créés soit dans les répertoires d’AUTOCAD et que ces répertoires soit correctement indiqués dans :Outil / Option / Fichiers / Chemin de recherche de fichier support.De plus il est à noter que lorsque le contour fermé contient des arcs, il se peut parfois, que la commande n’arrive pas, pour je ne sais qu’elle raison, à créer la hachure. Pour cela il faut bien raccorder les arc aux lignes (raccord 0), ou bien si deux arcs se suivent, il faut les séparer par un bout de micro-ligne.( se sont les seules parades que j’ai trouvé) --------------------Deuxième commande ( passage des remplissages sous les entitées )----------------- Cette deuxième commande à été quasiment imposée par la première, car après avoir réalisé les remplissages, on se retrouve avec tous les trais et entités dessous, et donc cachés.J’ai donc créé une icône avec une commande ‘dessus/dessous’ . Aller dans les menus : OUTIL / PERSONNALISER / BARRES D’OUTILSSur la fenêtre qui s’ouvre aller dans COMMANDE puis choisir dans la partie droite ‘défini par l’utilisateur’ puis dans la partie gauche cliquer sur ‘icône définie par l’utilisateur’ garder la touche appuyée et faire un glissé/déplacé dans l’écran d’AUTOCAD.Cliquer ensuite sur l’icône ainsi créée. Une fenêtre apparaît.Dans le cadre NOM inscrire : Dessus/dessousDans le cadre DESCRIPTION : Passe les hachures sous les entités.Dans le cadre MACRO ASSOCIEE AU BOUTON inscrire : ^C^C^C(setq oldlayer (getvar "clayer"));-calque ch 0;G * ;-calque;L;RP*,xxxx*;;select tout;;(ai_draworder "_b");p;;-calque;L;*;;(setvar "clayer" oldlayer); Explication de la ligne de commande : Les ; et espaces entre commandes corresponde à un ENTER sur le clavier à l’éxécution ^C^C^C - Correspond à trois appuis sur la touche echap pour sortir de toute commande(setq oldlayer (getvar "clayer")) - Mémorise le calque courant-calque ch 0;G * - Rend le calque 0 courant, puis gèle tous les calques-calque;L;RP*,xxxx*; - Libère les calques (RP*-Tous les calque dont le nom commence par RP) et xxxx* (pour example, et même principe, si vous avez d’autres calques à faire passer en dessous) il faut simplement séparer les nom de calque par une virgule.select tout; - Sélectionne toutes les entités à l’écran (ici tout ce qui est sur les calques RP…)(ai_draworder "_b"); - Commande du menu autocad, passe les entités derrière.p; - Rappelle la sélection précédente réalisée avec select tout-calque;L;* - Libère tous les calques gelés.(setvar "clayer" oldlayer); - Restore le calque courant mémorisé en début de commande Et voilà, un seul clic sur l’icône et tous les remplissages et hachures passent dessous. (dans la mesure ou ils ont tous été créé sur les bons calques) Si vous avez différents calques vous pouvez remplacer RP* dans la commande directement par les noms des calques utiles. Pour les Heureux !! possesseurs d’autocanon 2005 la commande dessus/dessous ne sera pas utile, car dans cette nouvelle version on peut demander à ce que la hachure soit directement créée SOUS les entités. Dommage !!! je n’ai pas encore réussi à faire fléchir mon patron pour une version 2005, mais j’y travaille.Pour la commande hachure rapide elle a été testée et fonctionne sur 2002, 2004, 2005. J’espère avoir donné tous les détails nécessaires (désolé pour la longueur) afin que chacun puisse personnaliser ces commandes suivant ces besoins.
nakapuf Posté(e) le 27 novembre 2004 Auteur Posté(e) le 27 novembre 2004 Désolé, mais il semble que sur cadxp l'association ( deux points + D) corresponde a un smiliesIl faut donc lire ( deux pointsD) à la place des smilies dans le programme lisp.
Invité Patrick Posté(e) le 27 novembre 2004 Posté(e) le 27 novembre 2004 Lorsque vous publiez du code comme cela, il est préférable de désactiver les smileys. Je le fais pour ton message.
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