-
Compteur de contenus
12 247 -
Inscription
-
Dernière visite
-
Jours gagnés
209
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par (gile)
-
Je ne comprends pas bien ce que tu voudrais pouvoir sélectionner : la région sans le trou ou le trou. Mais la méthode de winfield doit pouvoir s'adapter en VBA, Explode Method retourne un variant contenant toutes les entités composant la région (sans la supprimer du dessin) AddRegion Method crée une (ou des) région(s) à partir d'un réseau d'entités contenues dans un variant. Si tu récupères les entités de la région avec Explode Method et que tu utlises ce variant avec AddRegion Method tu re-créeras les régions qui ont servi à faire la soustraction, il faut ensuite supprimer les entités et les régions que tu ne voudrais pas garder. En Vlisp (je ne connais pas le VBA) : (setq AcDoc (vla-get-activedocument (vlax-get-acad-object)) ModSp (vla-get-ModelSpace AcDoc) Util (vla-get-Utility AcDoc) ) (vla-getEntity Util 'region 'pt "\nSelectionnez la région: ") (setq entites (vla-explode region)) (vla-addRegion ModSp entites) (mapcar 'vla-delete (vlax-safearray->list (vlax-variant-value entites)))] [Edité le 28/6/2006 par (gile)]
-
Tip top :o
-
Pbs ouvertures fichiers AUTOCAD 2006 en passant par Explorateur Windows
(gile) a répondu à un(e) sujet de Ablette dans AutoCAD 2006
Salut, C'est dans l'onglet Système -> Options générales -> Mode de compatibilité dessin unique Ce qui correspond à la variable système SDI qu'il faut mettre à 0 pour pouvoir ouvrir plusieurs dessins dans la même session. -
Salut, La bibliothèque d'éléments paysagers était dans le fichier RENDER.LLI, ce fichier existe toujours dans : C:\Program Files\AutoCAD 2007\UserDataCache\Support et C:\Documents and Settings\NomUtilisateur\Application Data\Autodesk\AutoCAD 2007\R17.0\fra\Support Mais les commandes qui permettaient d'aller y chercher des éléments pour les insérer (NVPAYS ou _LSNEW), de les modifier( MODPAYS ou _LSEDIT) ou de modifier la bilbliothèque (BIBPAYS ou _LSLIB) ne fonctionnent plus :casstet:
-
Une petite chose, Lorsqu'on modifie les valeurs initiales de variables système dans un LISP, si une erreur ou une annulation (echap) intervient avant que les valeurs initiales aient été restaurées elles conservent les valeurs qui leur ont été attribuées par la routine (exemple classique : "Pourquoi mon accrochage aux objets est-il désactivé ?"). Pour éviter ce problème on peut gérer les erreurs en redéfinissant la fonction *error* dans une sous-routine, en chargeant cette nouvelle définition dans la routine principale et en restaurant la fonction initiale à la fin de la routine principale et de la fonction erreur redéfinie. Cette méthode peut servir aussi, par exemple, pour restaurer le SCU d'origine (si celui-ci a été modifié) et est incontournable pour fermer un groupe d'annulation -(command "_undo" "_end"). Exemple de redéfinition de la fonction *error* pour un LISP dans lequel l'accrochage aux objets et l'écho des invites de commandes sont désactivés et où les commandes sont réunies dans un groupe d'annulation : ;;; Redéfinition de *error* (defun MonErreur (msg) (if (= msg "Fonction annulée") (princ) ;_ aucun message en cas d'annulation (princ (strcat "Erreur : " msg)) ;_ message d'erreur AutoCAD ) (command "_undo" "_end") ;_ clôture du groupe d'annulation (setvar "OSMODE" os) ;_ restauration de l'accrochage (setvar "CMDECHO" cm) ;_ restauration de l'écho (setq *error* m:err ;_ restauration de la fonction *error* initiale m:err nil) (princ) ) Utilisation de la fonction MonErreur dans MonLisp : (defun c:MonLisp (/ os cm ) (setq m:err *error* ;_ sauvegarde de *error* initiale dans la variable m:err *error* MonErreur ;_ chargement de MonErreur ) (setq os (getvar "OSMODE") ;_ sauvegarde des variables système cm (getvar "CMDECHO") ) (command "_undo" "_begin") ;_ début du groupe d'annulation (setvar "OSMODE" 0) ;_ modification des variables système (setvar "CMDECHO" 0) ;; Le code avec les (command ...) (command "_undo" "_end") ;_ clôture du groupe d'annulation (setvar "OSMODE" os) ;_ restauration de l'accrochage (setvar "CMDECHO" cm) ;_ restauration de l'echo (setq *error* m:err ;_ restauration de la fonction *error* initiale m:err nil) (princ) ) NB : Les lignes de code sont les mêmes à la fin des deux routines. Çà peut paraître fastidieux, mais çà devient vite une habitude, et dès que tu seras un peu plus aguérri, tu utiliseras plus volontiers les fonctions entmake, entmod ... ou les fonctions vla- vlax- qui ne nécessitent pas de désactiver les variables citées ci-dessus qui sont les plus courament modifiées en AutoLISP. [Edité le 24/6/2006 par (gile)]
-
variable systeme / coordonnées sur ligne commande
(gile) a répondu à un(e) sujet de PHILPHIL dans AutoCAD 2007
INPUTHISTORYMODE En bref, il faut désactiver le bit 1 (spécifier un nombre pair quoi) 2 permet d'avoir les dernières commandes (Saisie récente) dans le menu contextuel. [Edité le 24/6/2006 par (gile)] -
Tu n'est pas un cas isolé. C'est effectivement un bug qui arrive, trop souvent à mon goût, j'ai lu un sujet de discussion là dessus sur un forum Autodesk. Sur une 2002 j'avais même les icônes qui changeaient de couleur à chaque ouverture de l'éditeur ! C'est ennuyeux (pour rester poli), mais pas gravissime, en général il suffit de fermer puis ré-ouvrir AutoCAD pour que tout rentre dans l'ordre. [Edité le 24/6/2006 par (gile)]
-
Ce que te donne Patrick n'est pas trop peu, c'est juste comment mettre une entité en surbrillance ou lui enlever sa surbrillance, à toi de l'intégrer dans ta routine. (setq sel (car (entsel))) est un moyen de récupérer un nom d'entité (ename le premier argument pour (redraw ...)) avec une sélection à l'écran. On peut aussi faire : (setq sel (entlast)) juste après avoir créé l'entité dont on veut conserver le nom dans la variable sel. ensuite avec (redraw ...) on joue sur l'apparence de cette entité.
-
Pour modifier les blocs par lots (echelle globale, unités, propriétés des entités sur le calque 0 et/ou en DUBLOC) regarde ici. Pour le vlisp : (vl-load-com) ;_chargement des fonctions ActiveX (setq Doc (vla-get-ActiveDocument (vlax-get-acad-object))) ;_ Pointeur vers le document actif (setq stylt (vla-get-ActiveTextStyle Doc)) ;_ Style de texte actif (setq haut(vla-get-height stylt)) ;_ Hauteur du style de texte (vla-put-height stylt 0) À part les deux premières lignes (qui sont généralement présentes dans tous les programmes en vlisp le reste est plutôt plus court qu'en AutoLISP avec entget. Lucky Lucke va aller se coucher ... [Edité le 23/6/2006 par (gile)]
-
Tu as raison, si on ne fait pas (initdia) avant ce n'est pas nécessaire.
-
Oh là doucement Patrick_35, le garçon débute, je pense que pour entmake et le vlisp il vaut mieux attendre un peu que les bases soient plus solides. un bout de code très simple, la découverte de _zebulon c'est de spécifier une largeur (_w) de 0.0 (command "_-mtext" "_non" insertion "_h" hauteur "_r" rotation "_w" "0.00" texte "" )
-
Pour quote, une explication ici Pour OSMODE, je ne peux qu'aller dans le sens de Tramber, dès qu'on crée des entités graphiques avec (command ...) il vaut mieux que OSMODE soit à 0. (setq os (getvar "OSMODE")) en début de routine (setvar "OSMODE" 0) avant les (command ...) (setvar "OSMODE" os) à la fin. Tu peux faire aussi : (setvar "OSMODE" (+ (getvar "OSMODE") 16384)) pour désactiver les accrobj, et : (setvar "OSMODE" (- (getvar "OSMODE") 16384)) pour les ré-activer. [Edité le 23/6/2006 par (gile)]
-
J'ai oublié, pour le retour chariot c'est "\n" (princ "Texte\nmultiligne") Texte multiligne
-
Il y a un excellent LISP de _zebulon ici qui permet de faire un mtext sans avoir à préciser de "premier coin" ni "coin opposé", tu dois pouvoir t'en inspirer, en supprimant la ligne (initdia) la fenêtre n'apparaît pas.
-
J'ai essayé aussi dans un autre dessin avec des vues enregistrées (et sans le vl-remove-if), elles n'apparaissent pas dans la liste :casstet:
-
Houlà ! Je les avais presque oublié celles là ! Bon je vais essayer dans l'ordre, en expliquant bien à quoi sert chaque routine. XREF_PURGE purge du dessin les xref non référencées, c'est à dire celles qui ont été insérées puis effacées elles ne sont plus apparentes dans le dessin mais apparaissent toujours dans la palette des xrefs (comme non référencées), en vlisp on les retrouve aussi dans la collection des blocs du dessin. Chez moi çà fonctionne très bien. PURGE_XREF détache du dessin les xref introuvables (celles dont le chemin n'est plus valide) elles sont aussi signalée comme telle dans la palette. Je crois me souvenir que c'est un problème de version avec 2000. Je te propose de faire un test : après avoir fait (vl-load-com), fait : (vla-get-Name (vlax-ename->vla-object (car (entsel)))) et sélectionne une xref s'il est retourné nil, c'est que la propriété n'est accessible la routine ne peut pas marcher avec 2000. si c'est T, essaye çà : (vla-get-Path (vla-item (vla-get-blocks (vla-get-ActiveDocument (vlax-get-acad-object)) ) (vla-get-Name (vlax-ename->vla-object (car (entsel)))) ) ) et vérifie que le chemin est valable. SPURGE exécute xref_purge et raster_purge puis purge tous le dessin en faisant une purge "profonde" des blocs imbriqués. [Edité le 25/6/2006 par (gile)]
-
Il semble que la routine retourne aussi les vues enregistrées avec le suffixe : ACAD_VIEWS_ On peut remplacer le dernier return par : (vl-remove-if '(lambda (x) (= "ACAD_VIEWS_" (substr x 1 11))) return)
-
Essaye de mettre la variable système VSBACKGROUNDS à 0, çà désactive l'arrière plan dans la fenêtre courante. Avec les nouveautés 3D, un paquet de nouvelles variables système sont arrivées, notament concernant les styles visuels, ces variables commencent par VS... (un lien vers la liste de toutes variables système jusqu'à 2007) Pour ce qui en est des images en arrière plan, j'ai toujours préféré utiliser des images raster insérées dans le plan qui convient, les réglages effectués sur les images raster (luminosité, contraste, estompe) sont pris en compte par le rendu.
-
Merci pour ce lien, J'étais persuadé jusque là que "Autant pour moi" était incorrect et je m'évertuais à utiliser "Au temps pour moi", en connaissance de ses origines militaires malgré le fait que je fus objecteur de conscience. Extraits du "Petit Robert" qui reste une référence en matière d'expressions : À "temps" À "autant" : [Edité le 23/6/2006 par (gile)]
-
Tu peux la redimensionner : si tu as utilisé les bbcodes (balises IMG et /IMG entre crochets []), dans la première, tu mets IMG=600x450. ou la redimensionner avec un soft quelconque (Microsoft Office Picture Manager par exemple) la qualité rique d'être meilleure. En tout cas ton rendu est réussi, bravo §
-
Je m'en doute, mais je ne vois que çà : AU TEMPS POUR MOI : J'avais mal lu ! C'est seulement une suggestion, je croyais que Bonus l'avait mis et que je ne voyais pas :P [Edité le 23/6/2006 par (gile)]
-
Houlà :exclam: Quelle élégance :D EDIT Je retire ma suggestion, c'était une bétise :P [Edité le 23/6/2006 par (gile)]
-
Il y a quand même un truc curieux, vous parlez Bonus et toi de ce fuzz (1E-08) et je ne le vois pas dans la routine :casstet:
-
Si tu utilises le soleil, il faut juste orienter ton batiment, le nord vers les Y positifs, sa position par rapport au 0,0,0 n'importe pas puisque tous les rayons sont parallèles. Il faut ensuite localiser le batiment (Emplacement géographique), choisir l'heure légale (GMT + 2 en France en été) et si tu es en accélération matérielle, Ombres pleines, tu auras l'ensoleillement à la date et à l'heure spécifiée. Là où j'habite, aujourd'hui, à 10 heures : http://img154.imageshack.us/img154/6733/soleil10gd.png à 14 heures : http://img96.imageshack.us/img96/3439/soleil24wj.png à 18 heures : http://img96.imageshack.us/img96/8673/soleil34xe.png Si tu crées une source distante il est demandé une origine et une cible (ou un vecteur). La spécification de l'origine ne dit pas l'emplacement de la source (qui est considéré comme étant à l'infini) mais sert à définir (avec la cible) le vecteur auquels les rayons seront parallèles donc définissent une direction et un sens mais pas réellement une origine. Si tu fais depuis 0,0,1 vers 0,0,0 ou option vecteur 0,0,-1 tu crées une source dont les rayons sont verticaux et dirigés vers le bas. [Edité le 23/6/2006 par (gile)]
-
L'aide est claire là dessus : pas de glyphes pour les sources distantes et le soleil (qui est une sorte de source distante paramétrée), les sources distantes n'ont pas d'origine, juste une direction.
